int do_nfs_direct_IO (int rw, const struct inode * inode, const struct rpc_cred * cred, const struct iovec * iov, loff_t offset, unsigned long nr_segs);
where in file to begin the read
size of iovec array
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.
For each of these pages, create an NFS page request and append it to an automatic list of page requests.
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.
I/O completion automatically unmaps and releases the pages.