mirror of
https://github.com/torvalds/linux.git
synced 2024-10-25 14:40:58 +00:00
btrfs: handle btrfs_record_root_in_trans failure in start_transaction
btrfs_record_root_in_trans will return errors in the future, so handle the error properly in start_transaction. Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> [ add comment ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
d18c7bd95c
commit
68075ea8d7
|
@ -746,7 +746,16 @@ got_it:
|
|||
* Thus it need to be called after current->journal_info initialized,
|
||||
* or we can deadlock.
|
||||
*/
|
||||
btrfs_record_root_in_trans(h, root);
|
||||
ret = btrfs_record_root_in_trans(h, root);
|
||||
if (ret) {
|
||||
/*
|
||||
* The transaction handle is fully initialized and linked with
|
||||
* other structures so it needs to be ended in case of errors,
|
||||
* not just freed.
|
||||
*/
|
||||
btrfs_end_transaction(h);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
return h;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user