Pointer to the first element of an array of contiguous pages representing a contiguous region of the file to be read or written.
count
The number of pages in the array.
sync
VM_PAGER_PUT_SYNC if the write should be synchronous.
rtvals
An array of VM system result codes indicating the status of each page written by VOP_PUTPAGES.
reqpage
The index in the page array of the requested page; i.e., the one page which the implementation of this method must handle.
offset
Offset in the file at which the mapped pages begin.
The status of the VOP_PUTPAGES method is returned on a page-by-page basis in the array rtvals[]. The possible status values are as follows:
VM_PAGER_OK
The page was successfully written. The implementation must call vm_page_undirty(9) to mark the page as clean.
VM_PAGER_PEND
The page was scheduled to be written asynchronously. When the write completes, the completion callback should call vm_object_pip_wakeup(9) and vm_page_io_finish(9) to clear the busy flag and awaken any other threads waiting for this page, in addition to calling vm_page_undirty(9).
VM_PAGER_BAD
The page was entirely beyond the end of the backing file. This condition should not be possible if the vnodes file system is correctly implemented.
VM_PAGER_ERROR
The page could not be written because of an error on the underlying storage medium or protocol.
VM_PAGER_FAIL
Treated identically to VM_PAGER_ERROR
VM_PAGER_AGAIN
The page was not handled by this request.
The VOP_GETPAGES method is expected to release any pages in m that it does not successfully handle, by calling vm_page_free(9). When it succeeds, VOP_GETPAGES must set the valid bits appropriately, clear the dirty bit (using vm_page_undirty(9)), either activate the page (if its wanted bit is set) or deactivate it (otherwise), and finally call vm_page_wakeup(9) to arouse any threads currently waiting for the page to be faulted in, for each page read.