Messages in this thread | | | Subject | Re: [2/3] POHMELFS: Documentation. | From | Trond Myklebust <> | Date | Sat, 14 Jun 2008 14:45:36 -0400 |
| |
On Sat, 2008-06-14 at 10:56 +0400, Evgeniy Polyakov wrote: > > That sounds great, but what do you mean by 'novel'? Don't other > > modern network filesystems use asynchronous requests and replies in > > some form? It seems like the obvious thing. > > Maybe it was a bit naive though :) > But I checked lots of implementation, all of them use send()/recv() > approach. NFSv4 uses a bit different, but it is a cryptic, and at least > from its names it is not clear: > like nfs_pagein_multi() -> nfs_pageio_complete() -> add_stats. Presumably > we add stats when we have data handy...
You're confusing write gathering with asynchronous I/O...
NFS attempts to send multiple contiguous pages in one I/O request, and so it has a mechanism for collecting them and dispatching the I/O as soon as we have enough pages for an RPC call.
The actual RPC call is then handled by the sunrpc layer and is done fully asynchronously using non-blocking I/O.
Trond
| |