Skip to content

Commit 3bc6f92

Browse files
fdmananagregkh
authored andcommitted
btrfs: abort transaction if we fail to update inode in log replay dir fixup
[ Upstream commit 5a0565cad3ef7cbf4cf43d1dd1e849b156205292 ] If we fail to update the inode at link_to_fixup_dir(), we don't abort the transaction and propagate the error up the call chain, which makes it hard to pinpoint the error to the inode update. So abort the transaction if the inode update call fails, so that if it happens we known immediately. Signed-off-by: Filipe Manana <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 2f4097e commit 3bc6f92

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

fs/btrfs/tree-log.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1796,6 +1796,8 @@ static noinline int link_to_fixup_dir(struct btrfs_trans_handle *trans,
17961796
else
17971797
inc_nlink(vfs_inode);
17981798
ret = btrfs_update_inode(trans, inode);
1799+
if (ret)
1800+
btrfs_abort_transaction(trans, ret);
17991801
} else if (ret == -EEXIST) {
18001802
ret = 0;
18011803
}

0 commit comments

Comments
 (0)