Return-Path: Received: from [198.137.202.9] ([198.137.202.9]:50396 "EHLO bombadil.infradead.org" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755723AbcCOHNs (ORCPT ); Tue, 15 Mar 2016 03:13:48 -0400 Date: Tue, 15 Mar 2016 00:12:56 -0700 From: Christoph Hellwig To: Andreas Gruenbacher Cc: Christoph Hellwig , Alexander Viro , "J. Bruce Fields" , Linux NFS Mailing List , "Theodore Ts'o" , linux-cifs@vger.kernel.org, Linux API , Trond Myklebust , LKML , XFS Developers , Andreas Dilger , linux-fsdevel , Jeff Layton , linux-ext4 , Anna Schumaker , jaegeuk@kernel.org, chao2.yu@samsung.com Subject: Re: [PATCH v18 11/22] vfs: Cache base_acl objects in inodes Message-ID: <20160315071256.GD19747@infradead.org> References: <1456733847-17982-1-git-send-email-agruenba@redhat.com> <1456733847-17982-12-git-send-email-agruenba@redhat.com> <20160311140746.GC14808@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-nfs-owner@vger.kernel.org List-ID: 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.