mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
Btrfs: return an error from btrfs_wait_ordered_range
I noticed that if the free space cache has an error writing out it's data it won't actually error out, it will just carry on. This is because it doesn't check the return value of btrfs_wait_ordered_range, which didn't actually return anything. So fix this in order to keep us from making free space cache look valid when it really isnt. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
ed2590953b
commit
0ef8b72607
6 changed files with 78 additions and 41 deletions
|
@ -4257,7 +4257,12 @@ int btrfs_relocate_block_group(struct btrfs_root *extent_root, u64 group_start)
|
|||
rc->extents_found);
|
||||
|
||||
if (rc->stage == MOVE_DATA_EXTENTS && rc->found_file_extent) {
|
||||
btrfs_wait_ordered_range(rc->data_inode, 0, (u64)-1);
|
||||
ret = btrfs_wait_ordered_range(rc->data_inode, 0,
|
||||
(u64)-1);
|
||||
if (ret) {
|
||||
err = ret;
|
||||
goto out;
|
||||
}
|
||||
invalidate_mapping_pages(rc->data_inode->i_mapping,
|
||||
0, -1);
|
||||
rc->stage = UPDATE_DATA_PTRS;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue