]> www.infradead.org Git - users/jedix/linux-maple.git/commit
btrfs: fix incorrect comparison for delayed refs
authorJosef Bacik <josef@toxicpanda.com>
Wed, 13 Nov 2024 16:05:13 +0000 (11:05 -0500)
committerDavid Sterba <dsterba@suse.com>
Thu, 14 Nov 2024 15:11:02 +0000 (16:11 +0100)
commit7d493a5ecc26f861421af6e64427d5f697ddd395
treead16cb375ddd18db847b21e69187c7283730e307
parent2b084d8205949dd804e279df8e68531da78be1e8
btrfs: fix incorrect comparison for delayed refs

When I reworked delayed ref comparison in cf4f04325b2b ("btrfs: move
->parent and ->ref_root into btrfs_delayed_ref_node"), I made a mistake
and returned -1 for the case where ref1->ref_root was > than
ref2->ref_root.  This is a subtle bug that can result in improper
delayed ref running order, which can result in transaction aborts.

Fixes: cf4f04325b2b ("btrfs: move ->parent and ->ref_root into btrfs_delayed_ref_node")
CC: stable@vger.kernel.org # 6.10+
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/delayed-ref.c