]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "btrfs: turn name_cache radix tree into XArray in send_ctx"
authorDavid Sterba <dsterba@suse.com>
Fri, 15 Jul 2022 11:59:38 +0000 (13:59 +0200)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Jul 2022 17:14:58 +0000 (19:14 +0200)
commit125fcda00baf97cbb1693f74cbc11d244a85d7d3
tree2cb82a8e050cd3de708f79c43e185f4e00d7298d
parent58b77ec493b903626af3376ff4e53972b4d7e7e0
Revert "btrfs: turn name_cache radix tree into XArray in send_ctx"

This reverts commit 3b262b4aed49814eab74884336029f6dcae44ebb.

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/send.c