biomodified(9F)




NAME

     biomodified - check if a buffer is modified


SYNOPSIS

     #include <sys/ddi.h>
     #include <sys/sunddi.h>

     intbiomodified(struct buf *bp);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

     bp    Pointer to the buffer header structure.


DESCRIPTION

     The biomodified() function returns status to indicate if the
     buffer is modified. The  biomodified() function is only sup-
     ported for paged- I/O request, that  is  the  B_PAGEIO  flag
     must  be  set in the b_flags field of the buf(9S) structure.
     The  biomodified() function  will  check  the  memory  pages
     associated  with  this  buffer  whether  the  Virtual Memory
     system's modification bit is set.  If at least one of  these
     pages  is  modified, the buffer is indicated as modified.  A
     filesystem will mark the pages  unmodified  when  it  writes
     the pages to the backing store.  The  biomodified() function
     can be used to detect any modifications to the memory  pages
     while I/O is in progress.

     A device driver can use biomodified()  for  disk  mirroring.
     An  application  is allowed to mmap a file which can  reside
     on a disk which is mirrored by multiple submirrors.  If  the
     file  system  writes  the  file  to the backing store, it is
     written to all  submirrors in parallel. It must  be  ensured
     that  the copies on all submirrors are identical. The biomo-
     dified() function can be used in the device driver to detect
     any  modifications to  the buffer by the user program during
     the time the buffer is written to multiple submirrors.


RETURN VALUES

     The  biomodified() function returns the following values:

     1     Buffer is modified.

     0     Buffer is not modified.

     -1    Buffer is not used for paged I/O request.


CONTEXT

     biomodified() can be called from any context.


SEE ALSO

     bp_mapin(9F), buf(9S)

     Writing Device Drivers


Man(1) output converted with man2html