VOP_GETPAGES(9) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

VOP_GETPAGES(9)

The method is called to read in pages of virtual memory which are
backed  by ordinary files.  If other adjacent pages are backed by
adjacent regions of the same file, is  requested  to  read  those
pages  as well, although it is not required to do so.  The method
does the converse; that is to say, it writes out  adjacent  dirty
pages  of  virtual  memory.  On entry, the vnode lock is held but
neither the page queue nor VM object locks are held.  Both  meth‐
ods  return  in the same state on both success and error returns.
The arguments are: The file to access.  Pointer to the first ele‐
ment of an array of pages representing a contiguous region of the
file to be read or written.  The length of the array.  The number
of bytes that should be written from the pages of the  array.   A
bitfield  of  flags affecting the function operation.  If is set,
the write should be synchronous; control must not be returned  to
the  caller  until  after  the write is finished.  If is set, the
pages are to be invalidated after being written.  If is set,  the
I/O  performed should set the IO_NOREUSE flag, to indicate to the
filesystem that pages should be marked for fast reuse if  needed.
This  could  occur  via  a call to which puts such pages onto the
head of the inactive queue.  If is set, writes may  be  performed
asynchronously, so that related writes can be coalesced for effi‐
ciency, e.g., using the clustering mechanism of the buffer cache.
An  array of VM system result codes indicating the status of each
page written by Optional pointer to integer specifying number  of
pages to be read behind, if possible.  If the filesystem supports
that  feature,  number  of  actually read pages is reported back,
otherwise zero is returned.  Optional pointer to integer specify‐
ing number of pages to  be  read  ahead,  if  possible.   If  the
filesystem  supports  that feature, number of actually read pages
is reported back, otherwise zero is returned.  The status of  the
method  is returned on a page-by-page basis in the array The pos‐
sible status values are as follows:  The  page  was  successfully
written.  The implementation must call to mark the page as clean.
The  page  was  scheduled to be written asynchronously.  When the
write completes, the completion callback should call and to clear
the busy flag and awaken any other threads waiting for this page,
in addition to calling The page was entirely beyond  the  end  of
the  backing  file.  This condition should not be possible if the
vnode's file system is correctly implemented.  The page could not
be written because of an error on the underlying  storage  medium
or  protocol.  Treated identically to The page was not handled by
this request.  The method must  populate  and  validate  all  re‐
quested  pages in order to return success.  It is expected to re‐
lease any pages in that it does not successfully handle, by call‐
ing When it succeeds, must  set  the  valid  bits  appropriately.
Upon entry to all pages in are busied exclusively.  Upon success‐
ful return, the pages must all be busied exclusively as well, but
pages  may  be unbusied during processing.  The filesystem is re‐
sponsible for activating paged-out pages, but this does not  nec‐
essarily  need to be done within depending on the architecture of
the particular filesystem.  If it successfully reads all pages in
returns otherwise, it returns By convention, the return value  of
is This manual page was written by and then substantially rewrit‐
ten by












맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3