Subject: Re: [2/3] POHMELFS: Documentation.

From: Trond Myklebust <[email-masked]>
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