public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>,
	hch@infradead.org, viro@zeniv.linux.org.uk, adilger@sun.com,
	corbet@lwn.net, npiggin@kernel.dk, hooanon05@yahoo.co.jp,
	bfields@fieldses.org, linux-fsdevel@vger.kernel.org,
	sfrench@us.ibm.com, philippe.deniel@CEA.FR,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH -V19 00/15] Generic name to handle and open by handle syscalls
Date: Mon, 13 Sep 2010 16:59:22 +1000	[thread overview]
Message-ID: <20100913165922.09dc60dc@notabene> (raw)
In-Reply-To: <E1Ov26Q-0000Hd-IT@pomaz-ex.szeredi.hu>

On Mon, 13 Sep 2010 08:01:18 +0200
Miklos Szeredi <miklos@szeredi.hu> wrote:

> On Mon, 13 Sep 2010, Aneesh Kumar K. V wrote:
> > As per your suggestion i started looking at handlefs details and below
> > is my take on the approach.
> > 
> > handlefs would be an internal kernel mount like pipefs and would have
> > inode object mapping to the returned file descriptor of
> > open_by_handle_at syscall for symlinks. For regular files we can do what
> > we already does and for symlinks we will create inodes in handlefs and
> > their inode operation will in turn result in call out of inode operations
> > of the actual symlinks. Based on the above
> > 
> > a) We still need open_by_handle_at syscall
> > b) We still need handle based link syscall, because we need to support
> >    creating hardlinks based on handle, and the existing linkat syscall
> >    takes the oldpath name.
> > c) We still need handle based readlink syscall, because the existing
> >    readlinkat syscall takes pathname.
> 
> You can implement ->read() on the symlink file instead.

I would suggest that is a much uglier hack than changed readlinkat to accept
a NULL pathname.

NeilBrown


> 
> > d) we can drop stat, chown and xattr syscall because they are introduced
> >    specially for symlinks as we don't allow open on symlinks.
> > e) It would be nice to have handle based stat syscall to avoid two
> >    syscall overhead for fetching file attributes when implementing a
> >    file server, where fetching file attribute is a common operation. 
> 
> Syscall overhead is generally insignificant compared to other effects.
> The server can also cache open files for commonly used handles.
> 
> > 
> > With the above from the current patch series we can drop chown and
> > xattr syscalls. Would it be ok if we get the series with the those two
> > syscall patches dropped upstream as i work on supporting symlinks with
> > handlefs approach ?
> 
> Try it.
> 
> Al seems to only be active to the outside world around the merge
> window, so that's the best time to ask him to pull.
> 
> Thanks,
> Miklos


  reply	other threads:[~2010-09-13  6:59 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27 11:02 [PATCH -V19 00/15] Generic name to handle and open by handle syscalls Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 01/15] exportfs: Return the minimum required handle size Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 02/15] vfs: Add name to file handle conversion support Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 03/15] vfs: Add open by file handle support Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 04/15] vfs: Add handle based readlink syscall Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 05/15] vfs: Add handle based stat syscall Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 06/15] vfs: Add handle based link syscall Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 07/15] vfs: Add handle based chown syscall Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 08/15] vfs: Add handle based xattr syscalls Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 09/15] vfs: Add file access and modification time update via handle syscall Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 10/15] x86: Add new syscalls for x86_32 Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 11/15] x86: Add new syscalls for x86_64 Aneesh Kumar K.V
2010-08-27 11:02 ` [PATCH -V19 12/15] unistd.h: Add new syscalls numbers to asm-generic Aneesh Kumar K.V
2010-08-27 11:03 ` [PATCH -V19 13/15] vfs: Export file system uuid via /proc/<pid>/mountinfo Aneesh Kumar K.V
2010-08-27 11:03 ` [PATCH -V19 14/15] ext3: Copy fs UUID to superblock Aneesh Kumar K.V
2010-08-27 11:03 ` [PATCH -V19 15/15] ext4: " Aneesh Kumar K.V
2010-09-07 10:21 ` [PATCH -V19 00/15] Generic name to handle and open by handle syscalls Aneesh Kumar K. V
2010-09-07 11:36   ` Miklos Szeredi
2010-09-07 12:59     ` Aneesh Kumar K. V
2010-09-07 13:24       ` Miklos Szeredi
2010-09-12 19:22         ` Aneesh Kumar K. V
2010-09-13  6:01           ` Miklos Szeredi
2010-09-13  6:59             ` Neil Brown [this message]
2010-09-13  7:59               ` Miklos Szeredi
2010-09-17 17:40             ` 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=20100913165922.09dc60dc@notabene \
    --to=neilb@suse.de \
    --cc=adilger@sun.com \
    --cc=aneesh.kumar@linux.vnet.ibm.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=miklos@szeredi.hu \
    --cc=npiggin@kernel.dk \
    --cc=philippe.deniel@CEA.FR \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox