mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-20 11:56:54 +00:00
btrfs-progs: return error from commit_tree_roots()
Errors cow-ing the root block are silently being dropped. This is just a step towards error handling because both the caller and calee assert on errors. Signed-off-by: Zach Brown <zab@redhat.com>
This commit is contained in:
parent
52162700bb
commit
ea0ac9416f
@ -345,14 +345,17 @@ static int commit_tree_roots(struct btrfs_trans_handle *trans,
|
|||||||
struct btrfs_root *root;
|
struct btrfs_root *root;
|
||||||
struct list_head *next;
|
struct list_head *next;
|
||||||
struct extent_buffer *eb;
|
struct extent_buffer *eb;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (fs_info->readonly)
|
if (fs_info->readonly)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
eb = fs_info->tree_root->node;
|
eb = fs_info->tree_root->node;
|
||||||
extent_buffer_get(eb);
|
extent_buffer_get(eb);
|
||||||
btrfs_cow_block(trans, fs_info->tree_root, eb, NULL, 0, &eb);
|
ret = btrfs_cow_block(trans, fs_info->tree_root, eb, NULL, 0, &eb);
|
||||||
free_extent_buffer(eb);
|
free_extent_buffer(eb);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
while(!list_empty(&fs_info->dirty_cowonly_roots)) {
|
while(!list_empty(&fs_info->dirty_cowonly_roots)) {
|
||||||
next = fs_info->dirty_cowonly_roots.next;
|
next = fs_info->dirty_cowonly_roots.next;
|
||||||
|
Loading…
Reference in New Issue
Block a user