From: NeilBrown <neilb@suse.de>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>,
NFS <linux-nfs@vger.kernel.org>
Subject: Re: Live lock in silly-rename.
Date: Thu, 5 Jun 2014 10:34:23 +1000 [thread overview]
Message-ID: <20140605103423.43e21569@notabene.brown> (raw)
In-Reply-To: <20140604220531.GA8362@fieldses.org>
[-- Attachment #1: Type: text/plain, Size: 1588 bytes --]
On Wed, 4 Jun 2014 18:05:31 -0400 "J. Bruce Fields" <bfields@fieldses.org>
wrote:
> On Wed, Jun 04, 2014 at 05:39:26PM +1000, NeilBrown wrote:
> > Below is my suggestion. It seems easy enough. It even works.
>
> Woah!
>
> Anyway, looks reasonable to me, and it fixes an immediate problem so I'm
> inclined to just apply.
>
> The vfs knows about delegations at this point, and there's been this
> vague idea we might give user space servers request them at some point,
> so we might eventually want this code to fs/locks.c instead of here.
>
> Wonder if filehandle is the right thing to hash on, as opposed to inode
> number, or inode pointer, or something else?
I pondered that question for a short while too.
inode number didn't seem right as you might export two filesystems with the
same inode numbers.
inode pointer didn't seem right as it could fall out of the cache and
something else could be loaded in the same place.
filehandle isn't perfect as it isn't 100% unique (you can have two
filehandles with different 'types' for the one inode). But I felt it was
close enough in practice.
superblock pointer plus inode number plus inode generation number would
probably be perfect, but that is so close to the filehandle which was already
easily available, it seems silly not to just use filehandle.
Certainly if the code ever wants to move to locks.c, the question can be
revisited.
And if you are going to apply it, you'll want:
Signed-off-by: NeilBrown <neilb@suse.de>
I forgot that in the original.
Thanks,
NeilBrown
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2014-06-05 0:34 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 6:45 Live lock in silly-rename NeilBrown
2014-05-29 16:38 ` Trond Myklebust
[not found] ` <20140530075135.753fb7ed@notabene.brown>
2014-05-30 0:44 ` J. Bruce Fields
2014-05-30 3:44 ` NeilBrown
2014-05-30 21:55 ` J. Bruce Fields
2014-05-30 22:13 ` NeilBrown
2014-06-04 7:39 ` NeilBrown
2014-06-04 12:48 ` Trond Myklebust
2014-06-04 13:27 ` J. Bruce Fields
2014-06-05 0:26 ` NeilBrown
2014-06-05 0:40 ` NeilBrown
2014-06-04 22:05 ` J. Bruce Fields
2014-06-05 0:34 ` NeilBrown [this message]
2014-06-11 14:21 ` J. Bruce Fields
2014-06-12 1:43 ` NeilBrown
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=20140605103423.43e21569@notabene.brown \
--to=neilb@suse.de \
--cc=bfields@fieldses.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@primarydata.com \
/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).