linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Banks <gnb@melbourne.sgi.com>
To: Linux Filesystem Development List <linux-fsdevel@vger.kernel.org>
Subject: Re: O_NONBLOCK for regular files
Date: Sat, 20 Mar 2004 20:24:16 +1100	[thread overview]
Message-ID: <405C0DC0.3E61994@melbourne.sgi.com> (raw)

Jamie Lokier wrote:
> Christoph Hellwig wrote:
> > It's used to [...] return EAGAIN to the nfs server so it doesn't block all
> > nfsd threads on possible long-enduring HSM operations.
> 
> How does nfsd get notified when the operation is possible? 

It doesn't; the nfsd sends an RPC reply containing the NFSERR_JUKEBOX
error to the NFS client, which sleeps and retries the operation after a
few seconds.  If the operation is not yet possible the cycle repeats.

This is according to the RFC for NFSv3 and NFS clients (including Linux)
know how to handle it.  The point is to free the nfsd and corresponding
client-side resources for other NFS traffic while HSM operation continues.
Also, without this there's a pathological situation where the client
keeps retrying, getting a new nfsd each time, until all the nfsds are
blocked on the same file and all NFS traffic to the server stops.

Greg.
-- 
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.

             reply	other threads:[~2004-03-20  9:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-20  9:24 Greg Banks [this message]
2005-04-13  0:45 ` O_NONBLOCK for regular files Greg Banks
2005-04-13  5:56   ` Trond Myklebust
2005-04-13  6:03     ` Greg Banks
2005-04-13  6:31       ` Trond Myklebust
2005-04-13  7:06         ` Greg Banks
  -- strict thread matches above, loose matches on Subject: below --
2004-03-18  8:36 Christoph Hellwig
2004-03-18  8:42 ` viro
2004-03-18  8:45   ` Christoph Hellwig
2004-03-18 10:48 ` Stephen Rothwell
2004-03-18 12:05 ` Jamie Lokier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=405C0DC0.3E61994@melbourne.sgi.com \
    --to=gnb@melbourne.sgi.com \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).