On Fri, Jul 22, 2011 at 08:55:48PM -0700, Linus Torvalds wrote: > If something sets dentry->d_inode without going through __d_instantiate, > that misses it. I'm looking at d_obtain_alias(), and wondering, for > example. As pointed out in my last mail d_obtain_alias will absolute need setting up these flags as well. > This is a very minimal version of the previous patch: those *two* places > where we now test the new DCACHE_OP_xyz bits are where we really see the > dereferencing of the inode->i_op in the normal path walking. HOWEVER, the > "inode_permission()" function also shows up pretty clearly on profiles, > and the hottest part of that is the testing of "inode->i_op->permission". > > However, with Al's other changes, the old special-case "exec_permission()" > no longer exists. The whole reason it existed before was that the execute > permission checking on directory entries is/was special from a performance > standpoint. So it might make sense to resurrect it, and then add the > DCACHE_OP_PERMISSION case like in my older patch. I don't think we need to re-add exec_permission for it. By checking DCACHE_OP_PERMISSION instead of inode->i_op->permission you'll always got directly to generic_permission in inode_permission, and in there acl_permission_check -> check_acl should simply do the right thing with your your patch to take the ACL cache checking into common code. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html