From a0ac6cd20cb0c5176cab22abe412ce48bb16592b Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Wed, 6 Feb 2013 12:06:02 -0500 Subject: [PATCH] --- yaml --- r: 349609 b: refs/heads/master c: 1a65e24b0bb7dde48cac4a2bf74d5558f9e32ba7 h: refs/heads/master i: 349607: 52502a85d622125cfc5b67ee0f141d958f8fce69 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/ioctl.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 87dcbffdd868..5a1ba8ffa0d9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb6b88d92c6df083dd09a8c471011e3788dfd7c6 +refs/heads/master: 1a65e24b0bb7dde48cac4a2bf74d5558f9e32ba7 diff --git a/trunk/fs/btrfs/ioctl.c b/trunk/fs/btrfs/ioctl.c index afbf3ac2079d..a31cd931d36e 100644 --- a/trunk/fs/btrfs/ioctl.c +++ b/trunk/fs/btrfs/ioctl.c @@ -515,7 +515,6 @@ static noinline int create_subvol(struct btrfs_root *root, BUG_ON(ret); - d_instantiate(dentry, btrfs_lookup_dentry(dir, dentry)); fail: if (async_transid) { *async_transid = trans->transid; @@ -525,6 +524,10 @@ static noinline int create_subvol(struct btrfs_root *root, } if (err && !ret) ret = err; + + if (!ret) + d_instantiate(dentry, btrfs_lookup_dentry(dir, dentry)); + return ret; }