Btrfs: check return value of commit when recovering log
We need to check the return value of the commit in case something goes wrong, otherwise we could end up going down the line and doing more stuff (like orphan cleanup) before we notice we should have errored out. We need to do this before we free up the log_tree_root since the caller will handle all of that. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com>
This commit is contained in:
Родитель
32b0253803
Коммит
abefa55ac1
|
@ -4012,16 +4012,17 @@ again:
|
|||
|
||||
btrfs_free_path(path);
|
||||
|
||||
/* step 4: commit the transaction, which also unpins the blocks */
|
||||
ret = btrfs_commit_transaction(trans, fs_info->tree_root);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
free_extent_buffer(log_root_tree->node);
|
||||
log_root_tree->log_root = NULL;
|
||||
fs_info->log_root_recovering = 0;
|
||||
|
||||
/* step 4: commit the transaction, which also unpins the blocks */
|
||||
btrfs_commit_transaction(trans, fs_info->tree_root);
|
||||
|
||||
kfree(log_root_tree);
|
||||
return 0;
|
||||
|
||||
return 0;
|
||||
error:
|
||||
btrfs_free_path(path);
|
||||
return ret;
|
||||
|
|
Загрузка…
Ссылка в новой задаче