Btrfs: iput inode on allocation failure
We don't do the iput when we fail to allocate our delayed delalloc work in __start_delalloc_inodes, fix this. Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
363e4d354e
commit
f4ab9ea706
|
@ -8216,6 +8216,10 @@ static int __start_delalloc_inodes(struct btrfs_root *root, int delay_iput)
|
||||||
|
|
||||||
work = btrfs_alloc_delalloc_work(inode, 0, delay_iput);
|
work = btrfs_alloc_delalloc_work(inode, 0, delay_iput);
|
||||||
if (unlikely(!work)) {
|
if (unlikely(!work)) {
|
||||||
|
if (delay_iput)
|
||||||
|
btrfs_add_delayed_iput(inode);
|
||||||
|
else
|
||||||
|
iput(inode);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue