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.
next prev 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