BIOMODIFIED(9F)         Kernel Functions for Drivers         BIOMODIFIED(9F)
NAME
       biomodified - check if a buffer is modified
SYNOPSIS
       #include <sys/ddi.h>
       #include <sys/sunddi.h>       
int biomodified(
struct buf *bp);
INTERFACE LEVEL
       illumos DDI specific (illumos 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 supported 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 
biomodified() 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                               August 22, 2023               BIOMODIFIED(9F)