]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commit
btrfs: abort transaction on failure to add link to inode
authorFilipe Manana <fdmanana@suse.com>
Fri, 25 Jul 2025 15:51:49 +0000 (16:51 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 21 Aug 2025 22:58:25 +0000 (00:58 +0200)
commit2b3979624c3e34dcdd77d910c6490939727d91b2
tree62c0073c85512aeedbf23457733a043c3b2e4820
parent74857fdc5dd2cdcdeb6e99bdf26976fd9299d2bb
btrfs: abort transaction on failure to add link to inode

If we fail to update the inode or delete the orphan item, we must abort
the transaction to prevent persisting an inconsistent state. For example
if we fail to update the inode item, we have the inconsistency of having
a persisted inode item with a link count of N but we have N + 1 inode ref
items and N + 1 directory entries pointing to our inode in case the
transaction gets committed.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c