get rid of useless dget_parent() in btrfs rename() and link()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 17 Jul 2011 03:09:10 +0000 (23:09 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 21 Jul 2011 00:48:00 +0000 (20:48 -0400)
->d_parent is locked and stable there...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/btrfs/inode.c

index bcb20a9a3b9366a14bbb0f2ef669c8b1baa335ac..2548a04a0230c0f515bb45f71f1e3357727a7616 100644 (file)
@@ -4766,11 +4766,10 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
        if (err) {
                drop_inode = 1;
        } else {
-               struct dentry *parent = dget_parent(dentry);
+               struct dentry *parent = dentry->d_parent;
                err = btrfs_update_inode(trans, root, inode);
                BUG_ON(err);
                btrfs_log_new_name(trans, inode, NULL, parent);
-               dput(parent);
        }
 
        nr = trans->blocks_used;
@@ -7062,9 +7061,8 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
        BUG_ON(ret);
 
        if (old_ino != BTRFS_FIRST_FREE_OBJECTID) {
-               struct dentry *parent = dget_parent(new_dentry);
+               struct dentry *parent = new_dentry->d_parent;
                btrfs_log_new_name(trans, old_inode, old_dir, parent);
-               dput(parent);
                btrfs_end_log_trans(root);
        }
 out_fail: