[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHc6FU54E9EnsK3H==VyK3htXMNb4pPR4jcLi1GcOF+nb4Sw+g@mail.gmail.com>
Date: Wed, 16 Mar 2016 23:31:38 +0100
From: Andreas Gruenbacher <agruenba@...hat.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Alexander Viro <viro@...iv.linux.org.uk>,
"J. Bruce Fields" <bfields@...ldses.org>,
Linux NFS Mailing List <linux-nfs@...r.kernel.org>,
"Theodore Ts'o" <tytso@....edu>, linux-cifs@...r.kernel.org,
Linux API <linux-api@...r.kernel.org>,
Trond Myklebust <trond.myklebust@...marydata.com>,
LKML <linux-kernel@...r.kernel.org>,
XFS Developers <xfs@....sgi.com>,
Andreas Dilger <adilger.kernel@...ger.ca>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Jeff Layton <jlayton@...chiereds.net>,
linux-ext4 <linux-ext4@...r.kernel.org>,
Anna Schumaker <anna.schumaker@...app.com>, jaegeuk@...nel.org,
chao2.yu@...sung.com
Subject: Re: [PATCH v18 11/22] vfs: Cache base_acl objects in inodes
On Tue, Mar 15, 2016 at 8:12 AM, Christoph Hellwig <hch@...radead.org> wrote:
> On Fri, Mar 11, 2016 at 05:24:45PM +0100, Andreas Gruenbacher wrote:
>> POSIX ACLs and RichACLs are different objects, with different members
>> and different algorithms operating on them. The only commonality is
>> that they are both kmalloc()ed, reference counted objects, and when an
>> inode is destroyed, both kinds of ACLs can be put in the same way,
>> avoiding an unnecessary if. What kind of common-code container beyond
>> that are you still dreaming about?
>
> We still have a main object that is simply a list of ACEs. But if that
> doesn't work out (I suspect it should) I don't think the common base
> object is a good idea. It just leads to a lot of crazy container_of
> calls.
There are two such container_of calls for POSIX ACLs in fs/jffs2/acl.c
[which could be replaced by get_acl()], two in fs/posix_acl.c for
POSIX ACLs, and two in fs/richacl.c for RichACLs. That's it.
> If the common object abstraction doesn't work out we'll need
> a procedural one instead that has common acl_* calls that decide what
> do to based on the file system acl flag.
I've already made such abstractions where it made sense; if you can
find more, I don't see why we shouldn't add them.
Thanks,
Andreas
Powered by blists - more mailing lists