Re: [PATCH v18 11/22] vfs: Cache base_acl objects in inodes

From: Christoph Hellwig
Date: Tue Mar 15 2016 - 03:14:06 EST


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. 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.