All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jean-Pierre André" <jean-pierre.andre@wanadoo.fr>
To: Miklos Szeredi <miklos@szeredi.hu>,
	Seth Forshee <seth.forshee@canonical.com>
Cc: fuse-devel <fuse-devel@lists.sourceforge.net>,
	linux-fsdevel@vger.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Michael j Theall <mtheall@us.ibm.com>,
	Nikolaus Rath <Nikolaus@rath.org>,
	Andreas Gruenbacher <agruenba@redhat.com>
Subject: Re: [PATCH 0/2] Support for posix ACLs in fuse
Date: Wed, 21 Sep 2016 14:25:35 +0200	[thread overview]
Message-ID: <57E27C3F.5080608@wanadoo.fr> (raw)
In-Reply-To: <CAJfpegvY=VZeEw8FoVqddQ_6vLiAF9dMR8PWOwAjg50K6rQ2yg@mail.gmail.com>

Hi,

Miklos Szeredi wrote:
> [Adding Andreas Gruenbacher to Cc]
>
> On Mon, Aug 29, 2016 at 3:46 PM, Seth Forshee
> <seth.forshee@canonical.com> wrote:
>> Hi Miklos,
>>
>> Here's an updated set of patches for supporting posix ACLs in fuse. I
>> think I've incorporated all the feedback from the last RFC series, and
>> so I've dropped the RFC this time.
>
> Pushed, with minor changes, to
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#for-next
>
> Please verify that I didn't break it.
>
>> I also pushed to github the changes I made to libfuse for testing this.
>> They're a little rough and probably not 100% complete, but it is
>> sufficient for exercising the functionality of these patches with
>> fusexmp.
>>
>>   https://github.com/sforshee/libfuse/tree/posix-acl
>
> As for the libfuse part:
>
> 1) Please don't mess with fusexmp.c.  The added code is really an
> anti-example.  Posix acls will will work fine in such pass-through
> filesystems without doing anything.  The added complexity just makes
> it brittle and racy without actually doing anything positive.
>
> 2) You define some constants and structures (POSIX_ACL_*) in
> fuse_common.h that don't seem to belong there.  There's <sys/acl.h>
> that contains some parts of that, but I'm not sure how much we want to
> tie libfuse to libacl...  It's a difficult thing.  Generally I'd try
> to keep the interface as narrow as possible.  Perhaps it's enough to
> have a a function to return the equivalent mode from the xattr?
>
> 3) How will richacl's fit into this?
>
> 4) We really need a better example to check the efficiency of the new
> interface, but that's hard because we need a "real" filesystem for
> that and those are rare.  Ntfs-3g is one such, and it would be
> interesting to "port" it to using the new API.
>
> Jean-Pierre, how difficult would that be?

The code for Posix ACLs support within the kernel is
already present in ntfs-3g (just have to define the
macro KERNELACLS in order to disable the checks
within ntfs-3g and rely on the kernel ones).

This however relies on assumptions I made a few years
back, and might be invalid now. I will at least have
to set some flag in the init callback.

The ACLs are supposed to be set and retrieved through
the extended attributes system.posix_acl_access and
system.posix_acl_default. Recent posts about it in
this list mention "xattr handlers", do they mean
getxattr() and setxattr() on these extended attributes ?

Also the sync with the file mode is done natively,
as the ACLs and modes are translated to a single
object (an NTFS ACL). There is no need for fuse to
duplicate the mode to a ACL setting or conversely.

Now the main problem for ntfs-3g is to migrate to
libfuse3, still keeping the compatibility with non-Linux
implementations (MacOSX, OpenIndiana, and others).
I have not done anything about it yet.

Does the Posix ACL in-kernel support require libfuse3 ?

Finally, I am still using an old kernel, so I will
have to setup a test environment...

Jean-Pierre

>
> Thanks,
> Miklos
>


  reply	other threads:[~2016-09-21 12:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-29 13:46 [PATCH 0/2] Support for posix ACLs in fuse Seth Forshee
2016-08-29 13:46 ` [PATCH 1/2] fuse: Use generic xattr ops Seth Forshee
2016-08-29 13:46 ` [PATCH 2/2] fuse: Add posix ACL support Seth Forshee
2016-09-07  3:32 ` [PATCH 0/2] Support for posix ACLs in fuse Nikolaus Rath
2016-09-07 12:32   ` Seth Forshee
2016-09-21  8:30 ` Miklos Szeredi
2016-09-21 12:25   ` Jean-Pierre André [this message]
2016-09-21 14:14     ` Miklos Szeredi
2016-09-21 20:50       ` [fuse-devel] " Michael Theall
2016-09-23 15:03         ` Miklos Szeredi
2016-09-21 13:41   ` Seth Forshee
2016-09-21 13:57     ` Miklos Szeredi
2016-09-28 19:34     ` Seth Forshee
2016-09-21 15:40   ` Eric W. Biederman
2016-09-21 17:24     ` Andreas Grünbacher
2016-09-21 17:42       ` Eric W. Biederman
2016-09-21 19:00         ` Jeremy Allison
2016-09-21 21:08         ` Andreas Grünbacher
2016-09-21 21:28   ` Andreas Grünbacher
2016-09-23  9:01     ` Miklos Szeredi
2016-09-23  9:15       ` Andreas Grünbacher

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=57E27C3F.5080608@wanadoo.fr \
    --to=jean-pierre.andre@wanadoo.fr \
    --cc=Nikolaus@rath.org \
    --cc=agruenba@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=fuse-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=mtheall@us.ibm.com \
    --cc=seth.forshee@canonical.com \
    /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.