On Mon, Feb 3, 2014 at 1:59 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Mon, Feb 03, 2014 at 01:03:32PM -0800, Linus Torvalds wrote: > >> - err = vfs_mkdir(path.dentry->d_inode, dentry, mode); >> + err = vfs_mkdir(path.dentry, dentry, mode); > > Pointless - path.dentry == dentry->d_parent anyway. Heh. It's no less redundant than it used to be. But if you want to clean up the vfs_xyzzy() ones further, I'm perfectly fine with that. >> - err = ll_vfs_rename(dir->d_inode, dchild_old, mnt, >> - dir->d_inode, dchild_new, mnt, NULL); >> + err = ll_vfs_rename(dir, dchild_old, mnt, >> + dir, dchild_new, mnt, NULL); > > > ... and again, that's completely pointless. Minimal patch.. I really didn't want to check what the heck lustre does with the insane ll_vfs thing. >> -int afs_permission(struct inode *inode, int mask) >> +int afs_permission(struct dentry *dentry, struct inode *inode, int mask) > > Oh, _lovely_. So not only do we pass dentry, the arguments are redundant > as well. Note that *not* passing in inode would make the patch much bigger, because now every filesystem would have to add the struct inode *inode = dentry->d_inode; at the top. Also, I'm not actually convinced it is redundant at all. Remember the RCU lookup case? dentry->d_inode is not safe. The RCU case actually does inode_permission(nd->path.dentry, nd->inode, ..) and here the difference between nd->inode and dentry->d_inode are relevant, I think. >> +static int gfs2_vfs_permission(struct dentry *dentry, struct inode *inode, int mask) >> +{ >> + return gfs2_permission(inode, mask); >> +} > > Er... You do realize that callers of gfs2_permission() tend to have > the dentry in question, either directly or as ->d_parent of something > they have? Not true. Look closer. Look at gfs2_lookupi() in particular, and check how it is called. I did hate that part of the patch, and I did mention the kinds of problems this will cause if the next phase passes in dentry to "generic_permission()". Linus -- 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