mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 09:59:32 +00:00
Btrfs: make sure btrfs_remove_free_space doesn't leak EAGAIN
btrfs_remove_free_space needs to make sure to set ret back to a valid return value after setting it to EAGAIN, otherwise we return it to the callers. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
cd354ad613
commit
1eae31e918
1 changed files with 3 additions and 1 deletions
|
@ -1868,6 +1868,7 @@ int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group,
|
|||
ctl->total_bitmaps--;
|
||||
}
|
||||
kmem_cache_free(btrfs_free_space_cachep, info);
|
||||
ret = 0;
|
||||
goto out_lock;
|
||||
}
|
||||
|
||||
|
@ -1875,7 +1876,8 @@ int btrfs_remove_free_space(struct btrfs_block_group_cache *block_group,
|
|||
unlink_free_space(ctl, info);
|
||||
info->offset += bytes;
|
||||
info->bytes -= bytes;
|
||||
link_free_space(ctl, info);
|
||||
ret = link_free_space(ctl, info);
|
||||
WARN_ON(ret);
|
||||
goto out_lock;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue