From: "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>
To: Andreas Dilger <andreas.dilger@oracle.com>,
"J. Bruce Fields" <bfields@fieldses.org>
Cc: Neil Brown <neilb@suse.de>,
hch@infradead.org, viro@zeniv.linux.org.uk, adilger@Sun.COM,
corbet@lwn.net, serue@us.ibm.com, hooanon05@yahoo.co.jp,
linux-fsdevel@vger.kernel.org, sfrench@us.ibm.com,
philippe.deniel@CEA.FR, linux-kernel@vger.kernel.org
Subject: Re: [PATCH -V14 0/11] Generic name to handle and open by handle syscalls
Date: Wed, 07 Jul 2010 23:48:51 +0530 [thread overview]
Message-ID: <87zky3duk4.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <5920F408-E923-4467-A6A9-6C0923C00927@oracle.com>
On Wed, 7 Jul 2010 11:02:47 -0600, Andreas Dilger <andreas.dilger@oracle.com> wrote:
> On 2010-07-07, at 09:05, J. Bruce Fields wrote:
> > On Wed, Jul 07, 2010 at 01:40:53AM -0600, Andreas Dilger wrote:
> >> On 2010-07-06, at 11:09, Aneesh Kumar K. V wrote:
> >>> Since we know that system wide file handle should include a file system
> >>> identifier and a file identifier my plan was to retrieve both in the
> >>> same syscall.
> >>
> >> Won't having it be in a separate system call be racy w.r.t. doing the pathname lookup twice?
> >
> > It'll be rare that a server will want to *just* get a filehandle;
> > normally it will at least want to get some attributes at the same time.
> > So I think it will always need to open the file first and then do the
> > rest of the operations on the returned filehandle.
>
> I think you are assuming too much about the use of the file handle.
> What I'm interested in is not a userspace file server, but rather a
> more efficient way to have 10000's to millions of clients to be able
> to open the same regular file, without having to do full path
> traversal for each one.
With the suggested syscall approach we can do on the client that does
the path traversal.
fd = open(name)
file_identifier = fd_to_handle(fd);
fs_identifier = fd_to_fshandle(fd);
close(fd);
>
> >>> That still leaves the problem that there isn't always an underlying
> >>> block device, and/or when there is it doesn't always uniquely specify
> >>> the filesystem.
> >>
> >> And for this reason we would need this as a syscall right ?
> >
> > That's the only solution I see. (Or use an xattr?)
>
> Or... return the UUID as part of the file handle in the first place.
> That avoids races, avoids adding more syscalls that have to be called
> for each file handle, or IMNSHO the worst proposal that requires
> applications to parse a text file in some obscure path for each file
> handle (requiring a stat() to find the major/minor device of the file,
> walking through /proc or /sys, and other nastiness).
I would also like to get both file system identifier and file identifier
in a single call.
That would also imply instead of the above sequence of 4 calls, we can
do
file_handle = name_to_handle(name);
-aneesh
next prev parent reply other threads:[~2010-07-07 18:19 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-15 17:12 [PATCH -V14 0/11] Generic name to handle and open by handle syscalls Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 01/11] exportfs: Return the minimum required handle size Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 02/11] vfs: Add name to file handle conversion support Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 03/11] vfs: Add open by file handle support Aneesh Kumar K.V
2010-07-07 15:17 ` Nick Piggin
2010-07-07 16:16 ` Aneesh Kumar K. V
2010-06-15 17:12 ` [PATCH -V14 04/11] vfs: Allow handle based open on symlinks Aneesh Kumar K.V
2010-07-07 15:23 ` Nick Piggin
2010-07-07 16:24 ` Aneesh Kumar K. V
2010-07-07 16:57 ` Nick Piggin
2010-07-07 17:53 ` Aneesh Kumar K. V
2010-07-07 18:20 ` Nick Piggin
2010-07-07 16:48 ` Nick Piggin
2010-07-08 10:42 ` Aneesh Kumar K. V
2010-06-15 17:12 ` [PATCH -V14 05/11] vfs: Support null pathname in readlink Aneesh Kumar K.V
2010-07-07 15:27 ` Nick Piggin
2010-07-07 16:32 ` Aneesh Kumar K. V
2010-07-07 17:03 ` Nick Piggin
2010-06-15 17:12 ` [PATCH -V14 06/11] ext4: Copy fs UUID to superblock Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 07/11] x86: Add new syscalls for x86_32 Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 08/11] x86: Add new syscalls for x86_64 Aneesh Kumar K.V
2010-06-15 17:12 ` [PATCH -V14 09/11] ext3: Copy fs UUID to superblock Aneesh Kumar K.V
2010-06-15 17:13 ` [PATCH -V14 10/11] vfs: Support null pathname in faccessat Aneesh Kumar K.V
2010-06-15 17:13 ` [PATCH -V14 11/11] vfs: Support null pathname in linkat Aneesh Kumar K.V
2010-07-01 16:28 ` [PATCH -V14 0/11] Generic name to handle and open by handle syscalls Aneesh Kumar K. V
2010-07-01 20:41 ` Neil Brown
2010-07-01 21:15 ` Aneesh Kumar K. V
2010-07-06 16:10 ` J. Bruce Fields
2010-07-06 17:09 ` Aneesh Kumar K. V
2010-07-06 23:23 ` Dave Chinner
2010-07-06 23:36 ` Neil Brown
2010-07-07 2:11 ` Dave Chinner
2010-07-07 2:57 ` Neil Brown
2010-07-07 12:44 ` Miklos Szeredi
2010-07-07 12:57 ` J. Bruce Fields
2010-07-07 13:10 ` Miklos Szeredi
2010-07-07 13:17 ` J. Bruce Fields
2010-07-07 13:35 ` Miklos Szeredi
2010-07-07 14:45 ` J. Bruce Fields
2010-07-07 16:33 ` Aneesh Kumar K. V
2010-07-07 16:39 ` J. Bruce Fields
2010-07-07 22:21 ` Neil Brown
2010-07-07 22:25 ` J. Bruce Fields
2010-07-08 0:03 ` Andreas Dilger
2010-07-08 5:03 ` Neil Brown
2010-07-08 10:40 ` Aneesh Kumar K. V
2010-07-08 11:52 ` Miklos Szeredi
2010-07-08 12:21 ` Neil Brown
2010-07-09 18:42 ` Andreas Dilger
2010-07-10 4:58 ` Aneesh Kumar K. V
2010-07-07 7:40 ` Andreas Dilger
2010-07-07 15:05 ` J. Bruce Fields
2010-07-07 17:02 ` Andreas Dilger
2010-07-07 17:37 ` J. Bruce Fields
2010-07-07 18:05 ` Nick Piggin
2010-07-07 23:49 ` Andreas Dilger
2010-07-07 18:18 ` Aneesh Kumar K. V [this message]
2010-07-07 20:39 ` Alan Cox
2010-07-07 23:54 ` Andreas Dilger
2010-07-02 4:02 ` Andreas Dilger
2010-07-02 7:05 ` hch
2010-07-02 16:12 ` Andreas Dilger
2010-07-02 22:09 ` Neil Brown
2010-07-02 22:47 ` Andreas Dilger
2010-07-03 16:04 ` Aneesh Kumar K. V
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=87zky3duk4.fsf@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=adilger@Sun.COM \
--cc=andreas.dilger@oracle.com \
--cc=bfields@fieldses.org \
--cc=corbet@lwn.net \
--cc=hch@infradead.org \
--cc=hooanon05@yahoo.co.jp \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=philippe.deniel@CEA.FR \
--cc=serue@us.ibm.com \
--cc=sfrench@us.ibm.com \
--cc=viro@zeniv.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.