From: "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>
To: Andreas Dilger <adilger@sun.com>
Cc: hch@infradead.org, viro@zeniv.linux.org.uk, corbet@lwn.net,
serue@us.ibm.com, linux-fsdevel@vger.kernel.org,
sfrench@us.ibm.com
Subject: Re: [PATCH -V4 2/6] vfs: Add name to file handle conversion support
Date: Mon, 26 Apr 2010 15:42:45 +0530 [thread overview]
Message-ID: <877hnuplnm.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <6EE769C5-7307-49FF-BA8B-8C19EF04373E@sun.com>
On Fri, 23 Apr 2010 16:02:14 -0600, Andreas Dilger <adilger@sun.com> wrote:
> On 2010-04-23, at 05:38, Aneesh Kumar K.V wrote:
> > +long do_sys_name_to_handle(const char __user *name,
> > + struct file_handle *fh)
> > +{
> > + /*
> > + * name to handle conversion only done for regular files
> > + * directories and symbolic links
> > + */
>
> Out of curiosity, why not do this for other types of files? It makes
> sense from a consistency POV, so that the userspace code doesn't have
> to special-case each file by checking the type first (which would mean
> doing an extra path traversal and stat for each file first, adding
> overhead).
The limitation directly came from the XFS ioctl. But I don't see a
reason why we should limit it for this syscall. To better support
symlink and regular files i now have did sys_name_to_handle and
sys_lname_to_handle syscalls. I also did a freadlink syscall that will
return the symlink target name from the handle.
>
> I'd always thought it would be cool to have a distributed filesystem where named pipes/sockets work across clients by using the IO transport of the filesystem, making single-system image environments a lot easier to implement.
>
> > + /* we ask for a non connected handle */
> > + retval = exportfs_encode_fh(path.dentry, (struct fid *)handle,
> > + &handle_size, 0);
>
> Since there is virtually no overhead to do so, why not always return a connected handle? This will allow the kernel to reconnect the looked-up dentries into the tree, instead of creating all disconnected dentries.
>
open by handle would return a connected dentry for directory. Since we
use a simple acceptable function that accept any dentry alias with
exportfs_decode_fh I was wondering whether we should return a connected
handle ? It would be simply increasing the size of the handle ?
-aneesh
next prev parent reply other threads:[~2010-04-26 10:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-23 11:38 [PATCH -V4] Generic name to handle and open by handle syscalls Aneesh Kumar K.V
2010-04-23 11:38 ` [PATCH -V4 1/6] exportfs: Return the minimum required handle size Aneesh Kumar K.V
2010-04-23 11:38 ` [PATCH -V4 2/6] vfs: Add name to file handle conversion support Aneesh Kumar K.V
2010-04-23 22:02 ` Andreas Dilger
2010-04-26 9:52 ` Christoph Hellwig
2010-04-26 10:14 ` Aneesh Kumar K. V
2010-04-26 10:12 ` Aneesh Kumar K. V [this message]
2010-04-26 17:57 ` J. Bruce Fields
2010-04-27 6:13 ` Aneesh Kumar K. V
2010-04-27 13:28 ` J. Bruce Fields
2010-04-23 11:38 ` [PATCH -V4 3/6] vfs: Add open by file handle support Aneesh Kumar K.V
2010-04-23 11:38 ` [PATCH -V4 4/6] ext4: Add get_fsid callback Aneesh Kumar K.V
2010-04-23 11:38 ` [PATCH -V4 5/6] x86: Add new syscalls for x86_32 Aneesh Kumar K.V
2010-04-23 11:38 ` [PATCH -V4 6/6] x86: Add new syscalls for x86_64 Aneesh Kumar K.V
2010-04-23 22:09 ` Andreas Dilger
2010-04-25 18:28 ` Aneesh Kumar K. V
2010-04-26 9:53 ` Christoph Hellwig
2010-04-26 17:59 ` Andreas Dilger
2010-04-27 6:25 ` 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=877hnuplnm.fsf@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=adilger@sun.com \
--cc=corbet@lwn.net \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--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.