btrfs: abort transaction if we fail to update the delayed inode
[ Upstream commit 04587ad9bef6ce9d510325b4ba9852b6129eebdb ] If we fail to update the delayed inode we need to abort the transaction, because we could leave an inode with the improper counts or some other such corruption behind. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e0ffb169a3
commit
8d05e30c97
@ -1073,6 +1073,14 @@ err_out:
|
||||
btrfs_delayed_inode_release_metadata(fs_info, node, (ret < 0));
|
||||
btrfs_release_delayed_inode(node);
|
||||
|
||||
/*
|
||||
* If we fail to update the delayed inode we need to abort the
|
||||
* transaction, because we could leave the inode with the improper
|
||||
* counts behind.
|
||||
*/
|
||||
if (ret && ret != -ENOENT)
|
||||
btrfs_abort_transaction(trans, ret);
|
||||
|
||||
return ret;
|
||||
|
||||
search:
|
||||
|
Loading…
x
Reference in New Issue
Block a user