From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f51.google.com ([209.85.218.51]:34571 "EHLO mail-oi0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751387AbcIUNl6 (ORCPT ); Wed, 21 Sep 2016 09:41:58 -0400 Received: by mail-oi0-f51.google.com with SMTP id a62so60021597oib.1 for ; Wed, 21 Sep 2016 06:41:58 -0700 (PDT) Date: Wed, 21 Sep 2016 08:41:56 -0500 From: Seth Forshee To: Miklos Szeredi Cc: fuse-devel , linux-fsdevel@vger.kernel.org, "Eric W. Biederman" , Michael j Theall , Jean-Pierre =?utf-8?B?QW5kcsOp?= , Nikolaus Rath , Andreas Gruenbacher Subject: Re: [PATCH 0/2] Support for posix ACLs in fuse Message-ID: <20160921134156.GA55138@ubuntu-hedt> References: <1472478397-131967-1-git-send-email-seth.forshee@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed, Sep 21, 2016 at 10:30:14AM +0200, Miklos Szeredi wrote: > [Adding Andreas Gruenbacher to Cc] > > On Mon, Aug 29, 2016 at 3:46 PM, Seth Forshee > 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've reviewed the changes and they seem okay, still need to test. > > 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. As you note below, it's hard to find a "real" filesystem to test it with so fusexmp proved convenient for that. But I'll omit it when I update the pull req. > 2) You define some constants and structures (POSIX_ACL_*) in > fuse_common.h that don't seem to belong there. There's > 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? To be honest I only really meant that to serve as an example of all the stuff that would need to happen in userspace based on the kernel implementation. Looking now at libacl I guess it could just be expected that filesystems will use that. It seems to provide the essentials to do what I did with fusexmp at least, even an interface for getting the equivalent mode (acl_equiv_mode). Not sure how well it works if e.g. a filesystem needs to convert between the posix ACL format and some different format native to that filesystem. > 3) How will richacl's fit into this? I don't know, I haven't looked at those patches closely, but in git I'm not seeing any support for richacls in fuse yet anyhow. Thanks, Seth