]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "btrfs: turn fs_info member buffer_radix into XArray"
authorDavid Sterba <dsterba@suse.com>
Fri, 15 Jul 2022 11:59:31 +0000 (13:59 +0200)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Jul 2022 17:14:33 +0000 (19:14 +0200)
commit916d84d39f2809afa86579a313579952757efa66
tree02a819b8fa313079209063a53e28156f9da52c30
parente9e973eb34cafdaf97446785fb116c2ca477dd8d
Revert "btrfs: turn fs_info member buffer_radix into XArray"

This reverts commit 6a959c1b4a88385965b337778fb09e748f64aec0.

Revert the xarray conversion, there's a problem with potential
sleep-inside-spinlock [1] when calling xa_insert that triggers GFP_NOFS
allocation. The radix tree used the preloading mechanism to avoid
sleeping but this is not available in xarray.

Conversion from spin lock to mutex is possible but at time of rc6 is
riskier than a clean revert.

[1] https://lore.kernel.org/linux-btrfs/cover.1657097693.git.fdmanana@suse.com/

Reported-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/extent_io.c
fs/btrfs/tests/btrfs-tests.c