namei: minor vfs_unlink cleanup
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 28 Aug 2012 11:03:24 +0000 (07:03 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 9 Nov 2013 05:16:41 +0000 (00:16 -0500)
We'll be using dentry->d_inode in one more place.

Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c

index 88cec0330bf796769739b051d0d0b9b370c4dcaa..e633a58d4222afab29a4a0cb422a3dd33c9fbb6f 100644 (file)
@@ -3617,6 +3617,7 @@ SYSCALL_DEFINE1(rmdir, const char __user *, pathname)
 
 int vfs_unlink(struct inode *dir, struct dentry *dentry)
 {
+       struct inode *target = dentry->d_inode;
        int error = may_delete(dir, dentry, 0);
 
        if (error)
@@ -3625,7 +3626,7 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry)
        if (!dir->i_op->unlink)
                return -EPERM;
 
-       mutex_lock(&dentry->d_inode->i_mutex);
+       mutex_lock(&target->i_mutex);
        if (d_mountpoint(dentry))
                error = -EBUSY;
        else {
@@ -3636,11 +3637,11 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry)
                                dont_mount(dentry);
                }
        }
-       mutex_unlock(&dentry->d_inode->i_mutex);
+       mutex_unlock(&target->i_mutex);
 
        /* We don't d_delete() NFS sillyrenamed files--they still exist. */
        if (!error && !(dentry->d_flags & DCACHE_NFSFS_RENAMED)) {
-               fsnotify_link_count(dentry->d_inode);
+               fsnotify_link_count(target);
                d_delete(dentry);
        }