All of lore.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 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.