diff options
author | David Sterba <dsterba@suse.com> | 2022-07-15 13:59:45 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-07-15 19:15:19 +0200 |
commit | 088aea3b97e0ae5a2a86f5d142ad10fec8a1b80f (patch) | |
tree | 13e37c09db99b4675ae4fe676f470d562b5ebc6d /fs/btrfs/inode.c | |
parent | 5b8418b84303d9a0a0f7f28d6eaed915247ebdc3 (diff) | |
download | linux-088aea3b97e0ae5a2a86f5d142ad10fec8a1b80f.tar.bz2 |
Revert "btrfs: turn delayed_nodes_tree into an XArray"
This reverts commit 253bf57555e451dec5a7f09dc95d380ce8b10e5b.
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>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 306673ef7256..329ad27f0918 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -3910,7 +3910,7 @@ cache_index: * cache. * * This is required for both inode re-read from disk and delayed inode - * in the delayed_nodes xarray. + * in delayed_nodes_tree. */ if (BTRFS_I(inode)->last_trans == fs_info->generation) set_bit(BTRFS_INODE_NEEDS_FULL_SYNC, |