mbox series

[0/1,v2] Convert btrfs_root::delayed_nodes_tree to xarray

Message ID cover.1701871671.git.dsterba@suse.com (mailing list archive)
Headers show
Series Convert btrfs_root::delayed_nodes_tree to xarray | expand

Message

David Sterba Dec. 6, 2023, 2:16 p.m. UTC
v2:
- rework it so we can still use GFP_NOFS for allocation, emulating the
  preload mechanism with the xarray API, no changes to locking needed
- tested with error injections instead of xa_reserve()

v1:

This restarts the radix-tree to xarray conversion that we had to revert.
There are two more structures to convert, possibly with also spinlock to
mutex conversions needed (buffer_radix and fs_roots_radix), but for the
buffer radix I don't want to do now as we have the folio conversion
ongoing. The fs_roots will most likely need the lock conversion so
that's a change that I want to take the whole dev cycle, planned for 6.9.

David Sterba (1):
  btrfs: switch btrfs_root::delayed_nodes_tree to xarray from radix-tree

 fs/btrfs/ctree.h         |  6 ++--
 fs/btrfs/delayed-inode.c | 64 ++++++++++++++++++++++------------------
 fs/btrfs/disk-io.c       |  3 +-
 fs/btrfs/inode.c         |  2 +-
 4 files changed, 41 insertions(+), 34 deletions(-)