aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/inode.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index cc6022842e0c..2d1208f964eb 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4526,14 +4526,17 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans,
4526 BUG_ON(!path); 4526 BUG_ON(!path);
4527 4527
4528 inode = new_inode(root->fs_info->sb); 4528 inode = new_inode(root->fs_info->sb);
4529 if (!inode) 4529 if (!inode) {
4530 btrfs_free_path(path);
4530 return ERR_PTR(-ENOMEM); 4531 return ERR_PTR(-ENOMEM);
4532 }
4531 4533
4532 if (dir) { 4534 if (dir) {
4533 trace_btrfs_inode_request(dir); 4535 trace_btrfs_inode_request(dir);
4534 4536
4535 ret = btrfs_set_inode_index(dir, index); 4537 ret = btrfs_set_inode_index(dir, index);
4536 if (ret) { 4538 if (ret) {
4539 btrfs_free_path(path);
4537 iput(inode); 4540 iput(inode);
4538 return ERR_PTR(ret); 4541 return ERR_PTR(ret);
4539 } 4542 }