From: Filipe Manana Date: Wed, 3 Sep 2025 16:43:04 +0000 (+0100) Subject: btrfs: abort transaction if we fail to update inode in log replay dir fixup X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5a0565cad3ef7cbf4cf43d1dd1e849b156205292;p=users%2Fhch%2Fmisc.git 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 Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 7b91248b38dc..83b79023baae 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -1849,6 +1849,8 @@ static noinline int link_to_fixup_dir(struct walk_control *wc, u64 objectid) else inc_nlink(vfs_inode); ret = btrfs_update_inode(trans, inode); + if (ret) + btrfs_abort_transaction(trans, ret); } else if (ret == -EEXIST) { ret = 0; } else {