All of lore.kernel.org
 help / color / mirror / Atom feed
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 6/6] x86: Add new syscalls for x86_64
Date: Sun, 25 Apr 2010 23:58:58 +0530	[thread overview]
Message-ID: <87hbmz1j4l.fsf@linux.vnet.ibm.com> (raw)
In-Reply-To: <7FF35E15-2BA8-4EEB-8F48-13E92E510947@sun.com>

On Fri, 23 Apr 2010 16:09:07 -0600, Andreas Dilger <adilger@sun.com> wrote:
> On 2010-04-23, at 05:38, Aneesh Kumar K.V wrote:
> > Add necessary compat syscall support
> 
> Maybe I'm missing something, but why would we add a new syscall that immediately needs a compat interface?  I thought the kernel would simply return the packed file handle to userspace, instead of returning a pointer?
> 
> > +struct compat_file_handle {
> > +	int handle_size;
> > +	int handle_type;
> > +	/* File system identifier */
> > +	struct uuid fsid;
> > +	/* file identifier */
> > +	compat_uptr_t f_handle;
> > +};
> 


I want to make sure we put uuid part of the fs as a separate member. I
guess we could avoid compat interface if we define the syscall as

open_by_handle(struct file_handle *handle, int size, int flags);

But the handle in the above case will not be usable if the file handle
returned is too big to be usable by a cluster file system because of the
UUID part of handle. Having uuid as a seperate member allows such userspace
to generate a smaller unique identifier for the filesystem and still use
the void *f_handle part of the struct file_handle.

With struct file_handle since we have void * usage i guess we would need
a compat interface.

-aneesh

  reply	other threads:[~2010-04-25 18:29 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
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 [this message]
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=87hbmz1j4l.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.