On Tue, Apr 29, 2014 at 10:52:04AM +1000, Dave Chinner wrote: > > #ifdef CONFIG_FSNOTIFY > > @@ -240,10 +246,19 @@ void __destroy_inode(struct inode *inode) > > } > > > > #ifdef CONFIG_FS_POSIX_ACL > > - if (inode->i_acl && inode->i_acl != ACL_NOT_CACHED) > > - posix_acl_release(inode->i_acl); > > - if (inode->i_default_acl && inode->i_default_acl != ACL_NOT_CACHED) > > - posix_acl_release(inode->i_default_acl); > > + if (IS_POSIXACL(inode)) { > > + if (inode->i_acl && inode->i_acl != ACL_NOT_CACHED) > > + posix_acl_release(inode->i_acl); > > + if (inode->i_default_acl && > > + inode->i_default_acl != ACL_NOT_CACHED) > > + posix_acl_release(inode->i_default_acl); > > + } > > +#endif > > +#ifdef CONFIG_FS_RICHACL > > + if (IS_RICHACL(inode)) { > > + if (inode->i_richacl && inode->i_richacl != ACL_NOT_CACHED) > > + richacl_put(inode->i_richacl); > > + } > > #endif > > if (inode->i_acl && inode->i_acl != ACL_NOT_CACHED) > acl_release(inode->i_acl); > > And all the mess of working out what acl needs releasing get taken > out of of this code. Let's go further and have the API simply: inode_acl_release(inode); with inode_acl_release looking something like: if (inode->i_acl && inode->i_acl != ACL_NOT_CACHED) acl_release(inode->i_acl); if (inode->i_default_acl && inode->i_default_acl != ACL_NOT_CACHED) acl_release(inode->i_default_acl); -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html