All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Gruenbacher <agruen@suse.de>
To: Dave Kleikamp <shaggy@austin.ibm.com>,
	Andreas Gruenbacher <ag@bestbits.at>
Cc: Tobias Burnus <tobias.burnus@physik.fu-berlin.de>,
	<acl-devel@bestbits.at>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [Acl-Devel] Status of ACL patches regarding inclusion in the standard kernel?
Date: Tue, 8 Oct 2002 21:33:39 +0200	[thread overview]
Message-ID: <200210082133.39202.agruen@suse.de> (raw)
In-Reply-To: <200210081357.17742.shaggy@austin.ibm.com>

On Tuesday 08 October 2002 20:57, Dave Kleikamp wrote:
> I'm copying fsdevel to get a wider circulation.  We're again discussing
> what needs to be resolved in order to merge ACL's into the mainline
> kernel.
>
> On Tuesday 08 October 2002 13:02, Andreas Gruenbacher wrote:
> > One additional issue is the code path from user space to the file
> > system:
> >
> > 	User space:
> > 		machine dependent representation
> > 	System calls & VFS:
> > 		machine independent representation
> > 	File system:
> > 		machine dependent representation
> > 	Physical level:
> > 		machine independent representation
> >
> > Some of the conversions between representations could be avoided with
> > a different system call interface (i.e., separate system calls for
> > ACLs, etc.), but this would confuse the conceptually clean xattr
> > interface.
>
> I could argue that separate interfaces would allow the xattr interface
> to be cleaner.  This of course would depend upon enforcing that the ACL
> xattrs can only be changed via the ACL interface.  This way the xattr
> code wouldn't have to concern itself with changes to the permissions.
> It wouldn't have to parse the ACL value whatsoever.

You want to parse the ACL value to ensure it's a valid one. A separate syscall 
would spare the name dispatching and endian conversion code. In the 
applications I have seen so far the xattr syscalls aren't called frequently 
enough for that to become a problem.

> It would also
> provide a layer where a generic routine could easily be put independent
> of the fs's xattr implementations.

> Finally if an fs decided to store
> the ACL's outside of an extended attribute, it could be done without
> having to go the the xattr operation.

It would essentially have a different name. Is there anything wrong with 
calling an ACL a kind of extended attribute? I don't think there is.

> On the other hand, it may be much easier to get the current xattr
> implentation accepted into the mainline kernels, since it would require
> no new system calls or vfs operations.  And there would be no need for
> users of the existing code to upgrade to new userland tools.
>
> > Another issue are the [gse]et_posix_acl() VFS operations. They are
> > intended to provide fast access to ACLs to in-kernel code. Only
> > get_posix_acl() is used by NFS at the moment; some think that all
> > accesses should be done via the xattr VFS operations.
>
> I think that all ACL access should either go through the xattr calls or
> through [gs]et-posix_acl, but not both.  If we allow the user-space to
> get/set ACL's through [gs]etxattr, than all the code has to be in these
> routines anyway.  A generic [gs]et_posix_acl can be written which calls
> [gs]etxattr, without pushing this down into the file operations.

The point was to avoid the overhead of going through the xattr interface 
inside the kernel, for operations that better should be fast. If on the other 
hand all ACLs would be accessed through the [gs]et_posix_acl() inode 
operations we would need some xattr name dispatcher code in the VFS.

> It could still cache the acl's by moving i_acl and i_default_acl to the
> generic inode (which the fs's xattr code could would also maintain).

I wanted to keep as much of the ACL code down at the filesystem level, so 
currently the VFS only has the MS_POSIX_ACL mount flag, and the two acl inode 
operations. (Once NFSv2 has become obsolete the NFS code eventually won't 
need the get_posix_acl operation anymore, so unless another valid user 
emerges we might even get rid of the posix_acl inode operations entirely.)

--Andreas.


  reply	other threads:[~2002-10-08 19:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.33.0210081954340.24129-100000@muriel.parsec.at>
2002-10-08 18:57 ` [Acl-Devel] Status of ACL patches regarding inclusion in the standard kernel? Dave Kleikamp
2002-10-08 19:33   ` Andreas Gruenbacher [this message]
2002-10-08 20:17     ` Dave Kleikamp
2002-10-08 19:46   ` Michael Tokarev
2002-10-08 20:04     ` Spencer Shepler
2002-10-08 20:37       ` Dave Kleikamp

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=200210082133.39202.agruen@suse.de \
    --to=agruen@suse.de \
    --cc=acl-devel@bestbits.at \
    --cc=ag@bestbits.at \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=shaggy@austin.ibm.com \
    --cc=tobias.burnus@physik.fu-berlin.de \
    /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.