Linux NFS development
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Rick Macklem <rick-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>
Cc: gnb-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org,
	jeff@garzik.org, linux-nfs@vger.kernel.org, nfsv4@linux-nfs.org
Subject: Re: A new NFSv4 server...
Date: Fri, 4 Jan 2008 12:42:16 -0500	[thread overview]
Message-ID: <20080104174216.GG17112@fieldses.org> (raw)
In-Reply-To: <200801041728.MAA19743-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>

On Fri, Jan 04, 2008 at 12:28:26PM -0500, Rick Macklem wrote:
> > As long as they persist while you have an open (or a delegation), it
> > shouldn't be so hard to implement, should it?  If a filehandle expires,
> > then you throw away any cache associated with it, but as long as no
> > applications hold file descriptors for it, that's not a catastrophe.
> > 
> > But I'm a little confused whether rfc 3530's 4.2.3 gives a way for the
> > server to express that guarantee.
> 
> Agreed, but I've always assumed the server can return NFS4ERR_FHEXPIRED
> at any time. (It's listed as a error for many Ops, such as Read and Write.)
> Also, what does a client do after a server reboot. It can't use
> Open/Claim_previous for recovery.

I was hoping that FH4_VOL_NOEXPIRE_WITH_OPEN might also cover opens over
server reboot, but that's a question for the ietf list.  And perhaps the
requirement to keep that filehandle->inode mapping in persistant storage
would negate the advantage to the server of volatile filehandles.

> Even if there is a "don't expire while Open" guarantee, it's still a pita
> for the client to hang onto pathnames for directories and such, so that
> they can re-lookup the fh. (And if that re-lookup happens to fail or end
> up in a different place?)

I'm confused--can't you just throw away your lookup/readdir cache for
that directory and not use it again until an application actually does a
new lookup?

Oh, but I guess the client can hold references to the directory itself
in the form of filehandles or current working directories.  So I guess
you'd need some kind of open/close (or get/put) operations for
directories as well to get agreed-on lifetimes for directory
filehandles.  Does it still seem worth it after all that?

--b.

  parent reply	other threads:[~2008-01-04 17:42 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-04 17:28 A new NFSv4 server Rick Macklem
     [not found] ` <200801041728.MAA19743-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>
2008-01-04 17:42   ` J. Bruce Fields [this message]
2008-01-04 17:45   ` Trond Myklebust
  -- strict thread matches above, loose matches on Subject: below --
2008-01-04 17:11 Rick Macklem
     [not found] ` <200801041711.MAA19577-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>
2008-01-05  0:51   ` Jeff Garzik
2008-01-04 15:48 Rick Macklem
     [not found] ` <200801041548.KAA18953-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>
2008-01-04 17:15   ` J. Bruce Fields
2008-01-05  2:32   ` Greg Banks
2008-01-04 15:28 Rick Macklem
     [not found] ` <200801041528.KAA18776-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.org>
2008-01-04 17:21   ` J. Bruce Fields
2008-01-04 18:03     ` Tom Haynes
     [not found]       ` <477E750A.2030905-8AdZ+HgO7noAvxtiuMwx3w@public.gmane.org>
2008-01-04 18:21         ` J. Bruce Fields
2008-01-04 19:50     ` Jeff Garzik
2008-01-04 19:57       ` Peter Åstrand
     [not found]         ` <Pine.LNX.4.64.0801042055490.18738-K9BqGu7AvB3wj5YHdwD3Ga2PxDmRETKR@public.gmane.org>
2008-01-05  0:43           ` Jeff Garzik
2008-01-03 12:16 Jeff Garzik
2008-01-03 16:32 ` J. Bruce Fields
2008-01-04  5:32   ` Jeff Garzik
2008-01-04  6:24     ` Greg Banks
     [not found]       ` <477DD11B.40909-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2008-01-04  7:04         ` Jeff Garzik
2008-01-04  9:07           ` Benny Halevy
2008-01-04 15:49             ` Jeff Garzik
2008-01-04 19:51               ` Benny Halevy
2008-01-05  1:46               ` Greg Banks
2008-01-05  7:56                 ` Benny Halevy
2008-01-04 17:47             ` J. Bruce Fields
2008-01-04 19:55               ` Benny Halevy
2008-01-04  9:15           ` Peter Åstrand
2008-01-04 10:05             ` Neil Brown
     [not found]             ` <Pine.LNX.4.64.0801040954070.5004-K9BqGu7AvB3wj5YHdwD3Ga2PxDmRETKR@public.gmane.org>
2008-01-04 13:50               ` Frank van Maarseveen
2008-01-04 16:41               ` Jeff Garzik
2008-01-04 20:03                 ` Peter Åstrand
     [not found]                   ` <Pine.LNX.4.64.0801042030380.18738-K9BqGu7AvB3wj5YHdwD3Ga2PxDmRETKR@public.gmane.org>
2008-01-06 23:54                     ` James Morris
2008-01-04 20:31             ` Muntz, Daniel
2008-01-04  9:15 ` Peter Åstrand
2008-01-04 16:14   ` Jeff Garzik
2008-01-04 19:58     ` Peter Åstrand

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=20080104174216.GG17112@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=gnb-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org \
    --cc=jeff@garzik.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=nfsv4@linux-nfs.org \
    --cc=rick-bYVALtacgsT800Iu1Vt84J3p9npsUQCG@public.gmane.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