On Mon, Feb 03, 2014 at 01:03:32PM -0800, Linus Torvalds wrote: > What do you think? I guess this patch could be split up into two: one > that does the "vfs_xyz()" helper functions, and another that does the > inode_permission() change. I tied them together mainly because I > started with the inode_permission() change, and that required the > vfs_xyz() change. Please, don't do that. Half of that is pointless (e.g. what you are doing with vfs_rmdir() - if anything, we could get rid of the first argument completely, it's always victim->d_parent->d_inode and we are holding enough locks for that to be stable) and ->permission() is just plain wrong. Result *is* a function of inode alone; the problem with 9P is that we are caching FIDs in the wrong place. What really happens is that protocol refers to objects by 32bit tokens, given by server out to client. Many of those can correspond to the same file; think of those as file descriptors. We are associating them with dentries, but if you have several links to the same file a FID acquired for either of them will do. What we ought to do, AFAICS, is moving these guys from dentry to inode; sure, to *get* one in the first place we need some dentry. But by the time ->setxattr() and friends get to see the inode, the caller has already done things that make sure that some FID of his exists. IOW, NAK. -- 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