.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "do_nfs_direct_IO" "" "06 October 2005" "" "" .SH NAME do_nfs_direct_IO \- Read or write data without caching .SH SYNOPSIS "SYNOPSIS" .sp \fB .sp int do_nfs_direct_IO (int \fIrw\fB, const struct inode * \fIinode\fB, const struct rpc_cred * \fIcred\fB, const struct iovec * \fIiov\fB, loff_t \fIoffset\fB, unsigned long \fInr_segs\fB); \fR .SH "ARGUMENTS" .TP \fB\fIrw\fB\fR -- undescribed -- .TP \fB\fIinode\fB\fR inode of target file .TP \fB\fIcred\fB\fR credentials of user who requested I/O .TP \fB\fIiov\fB\fR array of vectors that define I/O buffer .TP \fB\fIoffset\fB\fR -- undescribed -- .TP \fB\fInr_segs\fB\fR -- undescribed -- .SH "OFFSET" .PP where in file to begin the read .SH "NR_SEGS" .PP size of iovec array .PP Break the passed-in iovec into a series of page-sized or smaller requests, where each page is mapped for direct user-land I/O. .PP For each of these pages, create an NFS page request and append it to an automatic list of page requests. .PP When all page requests have been queued, start the I/O on the whole list. The underlying routines coalesce the pages on the list into a bunch of asynchronous ``r/wsize'' network requests. .PP I/O completion automatically unmaps and releases the pages.