From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Gruenbacher Date: Thu, 12 Dec 2013 20:06:09 +0100 (CET) Subject: [Cluster-devel] [PATCH 02/18] fs: add get_acl helper In-Reply-To: <20131211104526.648135334@bombadil.infradead.org> References: <20131211104243.148113893@bombadil.infradead.org> <20131211104526.648135334@bombadil.infradead.org> Message-ID: <1724169901.69108.1386875169382.JavaMail.zimbra@linbit.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Christoph, > +struct posix_acl *get_acl(struct inode *inode, int type) > +{ > + struct posix_acl *acl; > + > + acl = get_cached_acl(inode, type); > + if (acl != ACL_NOT_CACHED) > + return acl; > + > + if (!IS_POSIXACL(inode)) > + return NULL; > + > + /* > + * A filesystem can force a ACL callback by just never filling the > + * ACL cache. But normally you'd fill the cache either at inode > + * instantiation time, or on the first ->get_acl call. > + * > + * If the filesystem doesn't have a get_acl() function at all, we'll > + * just create the negative cache entry. > + */ > + if (!inode->i_op->get_acl) { > + set_cached_acl(inode, type, NULL); > + return ERR_PTR(-EAGAIN); The function should return NULL here. Andreas From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra13.linbit.com ([212.69.166.240]:55710 "EHLO zimbra13.linbit.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751902Ab3LLTGN (ORCPT ); Thu, 12 Dec 2013 14:06:13 -0500 Date: Thu, 12 Dec 2013 20:06:09 +0100 (CET) From: Andreas Gruenbacher To: Christoph Hellwig Cc: viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, Mark Fasheh , Joel Becker , reiserfs-devel@vger.kernel.org, xfs@oss.sgi.com, jfs-discussion@lists.sourceforge.net, cluster-devel@redhat.com, linux-nfs@vger.kernel.org, Jan Kara Message-ID: <1724169901.69108.1386875169382.JavaMail.zimbra@linbit.com> In-Reply-To: <20131211104526.648135334@bombadil.infradead.org> References: <20131211104243.148113893@bombadil.infradead.org> <20131211104526.648135334@bombadil.infradead.org> Subject: Re: [PATCH 02/18] fs: add get_acl helper MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Sender: linux-btrfs-owner@vger.kernel.org List-ID: Christoph, > +struct posix_acl *get_acl(struct inode *inode, int type) > +{ > + struct posix_acl *acl; > + > + acl = get_cached_acl(inode, type); > + if (acl != ACL_NOT_CACHED) > + return acl; > + > + if (!IS_POSIXACL(inode)) > + return NULL; > + > + /* > + * A filesystem can force a ACL callback by just never filling the > + * ACL cache. But normally you'd fill the cache either at inode > + * instantiation time, or on the first ->get_acl call. > + * > + * If the filesystem doesn't have a get_acl() function at all, we'll > + * just create the negative cache entry. > + */ > + if (!inode->i_op->get_acl) { > + set_cached_acl(inode, type, NULL); > + return ERR_PTR(-EAGAIN); The function should return NULL here. Andreas From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Gruenbacher Subject: Re: [PATCH 02/18] fs: add get_acl helper Date: Thu, 12 Dec 2013 20:06:09 +0100 (CET) Message-ID: <1724169901.69108.1386875169382.JavaMail.zimbra@linbit.com> References: <20131211104243.148113893@bombadil.infradead.org> <20131211104526.648135334@bombadil.infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: xfs@oss.sgi.com, Jan Kara , Mark Fasheh , reiserfs-devel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-mtd@lists.infradead.org, viro@zeniv.linux.org.uk, jfs-discussion@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-nfs@vger.kernel.org, linux-btrfs@vger.kernel.org, Joel Becker To: Christoph Hellwig Return-path: In-Reply-To: <20131211104526.648135334@bombadil.infradead.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com List-Id: linux-ext4.vger.kernel.org Christoph, > +struct posix_acl *get_acl(struct inode *inode, int type) > +{ > + struct posix_acl *acl; > + > + acl = get_cached_acl(inode, type); > + if (acl != ACL_NOT_CACHED) > + return acl; > + > + if (!IS_POSIXACL(inode)) > + return NULL; > + > + /* > + * A filesystem can force a ACL callback by just never filling the > + * ACL cache. But normally you'd fill the cache either at inode > + * instantiation time, or on the first ->get_acl call. > + * > + * If the filesystem doesn't have a get_acl() function at all, we'll > + * just create the negative cache entry. > + */ > + if (!inode->i_op->get_acl) { > + set_cached_acl(inode, type, NULL); > + return ERR_PTR(-EAGAIN); The function should return NULL here. Andreas _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from zimbra13.linbit.com ([212.69.166.240]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VrBag-0006Zs-Hl for linux-mtd@lists.infradead.org; Thu, 12 Dec 2013 19:06:31 +0000 Date: Thu, 12 Dec 2013 20:06:09 +0100 (CET) From: Andreas Gruenbacher To: Christoph Hellwig Message-ID: <1724169901.69108.1386875169382.JavaMail.zimbra@linbit.com> In-Reply-To: <20131211104526.648135334@bombadil.infradead.org> References: <20131211104243.148113893@bombadil.infradead.org> <20131211104526.648135334@bombadil.infradead.org> Subject: Re: [PATCH 02/18] fs: add get_acl helper MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: xfs@oss.sgi.com, Jan Kara , Mark Fasheh , reiserfs-devel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-mtd@lists.infradead.org, viro@zeniv.linux.org.uk, jfs-discussion@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-nfs@vger.kernel.org, linux-btrfs@vger.kernel.org, Joel Becker List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Christoph, > +struct posix_acl *get_acl(struct inode *inode, int type) > +{ > + struct posix_acl *acl; > + > + acl = get_cached_acl(inode, type); > + if (acl != ACL_NOT_CACHED) > + return acl; > + > + if (!IS_POSIXACL(inode)) > + return NULL; > + > + /* > + * A filesystem can force a ACL callback by just never filling the > + * ACL cache. But normally you'd fill the cache either at inode > + * instantiation time, or on the first ->get_acl call. > + * > + * If the filesystem doesn't have a get_acl() function at all, we'll > + * just create the negative cache entry. > + */ > + if (!inode->i_op->get_acl) { > + set_cached_acl(inode, type, NULL); > + return ERR_PTR(-EAGAIN); The function should return NULL here. Andreas