X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fs%2Fbtrfs%2Finode.c;h=d3d5a4cdb6af4898634bb72b8285c701f0db2864;hb=340887809d92a4dd6c71caa97d658cef32c098c3;hp=46f869d6d0fb9d4a5312ddd6d1d88569c0493286;hpb=6cbd55707802b98843f953d1ae6d8f5bcd9a76c0;p=linux-2.6-block.git diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 46f869d6d0fb..d3d5a4cdb6af 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -1754,6 +1754,7 @@ static int create_subvol(struct btrfs_root *root, char *name, int namelen) BTRFS_I(dir)->block_group, S_IFDIR | 0700); inode->i_op = &btrfs_dir_inode_operations; inode->i_fop = &btrfs_dir_file_operations; + new_root->inode = inode; ret = btrfs_make_empty_dir(trans, new_root, new_dirid, new_dirid); BUG_ON(ret); @@ -1766,8 +1767,6 @@ static int create_subvol(struct btrfs_root *root, char *name, int namelen) ret = btrfs_commit_transaction(trans, new_root); BUG_ON(ret); - iput(inode); - mutex_unlock(&root->fs_info->fs_mutex); btrfs_btree_balance_dirty(root); return 0;