]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
btrfs: hold space_info->lock when clearing periodic reclaim ready
authorSun YangKai <sunk67188@gmail.com>
Mon, 9 Feb 2026 12:53:39 +0000 (20:53 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 3 Mar 2026 14:54:00 +0000 (15:54 +0100)
commitb8883b61f2fc50dcf22938cbed40fec05020552f
tree0611e2c7c75d6dd3db6cc4ffb7b2ebd16f9fe782
parentb85cfdf46b2402a9e57d6b7d43e2c977f9554645
btrfs: hold space_info->lock when clearing periodic reclaim ready

btrfs_set_periodic_reclaim_ready() requires space_info->lock to be held,
as enforced by lockdep_assert_held(). However, btrfs_reclaim_sweep() was
calling it after do_reclaim_sweep() returns, at which point
space_info->lock is no longer held.

Fix this by explicitly acquiring space_info->lock before clearing the
periodic reclaim ready flag in btrfs_reclaim_sweep().

Reported-by: Chris Mason <clm@meta.com>
Link: https://lore.kernel.org/linux-btrfs/20260208182556.891815-1-clm@meta.com/
Fixes: 19eff93dc738 ("btrfs: fix periodic reclaim condition")
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Sun YangKai <sunk67188@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/space-info.c