Skip to content

Commit 5a0565c

Browse files
fdmananakdave
authored andcommitted
btrfs: abort transaction if we fail to update inode in log replay dir fixup
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 <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
1 parent 0b7453b commit 5a0565c

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
@@ -1849,6 +1849,8 @@ static noinline int link_to_fixup_dir(struct walk_control *wc, u64 objectid)
18491849
else
18501850
inc_nlink(vfs_inode);
18511851
ret = btrfs_update_inode(trans, inode);
1852+
if (ret)
1853+
btrfs_abort_transaction(trans, ret);
18521854
} else if (ret == -EEXIST) {
18531855
ret = 0;
18541856
} else {

0 commit comments

Comments
 (0)