[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160315071707.GF19747@infradead.org>
Date: Tue, 15 Mar 2016 00:17:07 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Andreas Gruenbacher <agruenba@...hat.com>
Cc: Christoph Hellwig <hch@...radead.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
"Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>,
"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>
Subject: Re: [PATCH v18 21/22] ext4: Add richacl support
On Mon, Mar 14, 2016 at 12:08:31AM +0100, Andreas Gruenbacher wrote:
> The xattr representation is the same on disk and at the xattr syscall
> layer, and so richacl_from_xattr is used for converting into the
> in-memory representation in both cases. The error codes are not the
> same when a user supplies an invalid value via setxattr or NFS and
> when an invalid xattr is read from disk though. I'll add a parameter
> to richacl_from_xattr to make this more explicit.
Better add a wrapper instead of a parameter.
>
> >> +static int
> >> +__ext4_set_richacl(handle_t *handle, struct inode *inode, struct richacl *acl)
> >> +{
> >> + const int name_index = EXT4_XATTR_INDEX_RICHACL;
> >> + umode_t mode = inode->i_mode;
> >> + int retval, size;
> >> + void *value;
> >> +
> >> + if (richacl_equiv_mode(acl, &mode) == 0) {
> >> + inode->i_ctime = ext4_current_time(inode);
> >> + inode->i_mode = mode;
> >> + ext4_mark_inode_dirty(handle, inode);
> >> + return __ext4_remove_richacl(handle, inode);
> >> + }
> >
> > Should this check for a NULL acl instead of special casing that
> > in ext4_set_richacl?
>
> I'm not sure I understand what you mean. When the
ext4_set_richacl checks for a NULL acl pointer and then calls into
__ext4_remove_richacl. I'd rather have that special casing in one
place.
Powered by blists - more mailing lists