mbox series

[0/6] btrfs: cleanup and small refactors around __btrfs_map_block()

Message ID cover.1676611535.git.wqu@suse.com (mailing list archive)
Headers show
Series btrfs: cleanup and small refactors around __btrfs_map_block() | expand

Message

Qu Wenruo Feb. 17, 2023, 5:36 a.m. UTC
This series is based on the current misc-next branch, and can be fetched
from github:

  https://github.com/adam900710/linux/tree/map_block_refactor


This is the rebased and merged version of two patchset:

  btrfs: reduce div64 calls for __btrfs_map_block() and its variants
  btrfs: reduce the memory usage for btrfs_io_context, and reduce its variable sized members

Originally the 2nd patchset has some dependency on the first one, but
the first one is causing some conflicts with newer cleanups, thus only
the 2nd patchset get merged into for-next.

This updated version would resolve the conflicts, and use the modified
version from for-next.

Qu Wenruo (6):
  btrfs: remove map_lookup->stripe_len
  btrfs: reduce div64 calls by limiting the number of stripes of a chunk
    to u32
  btrfs: simplify the bioc argument for handle_ops_on_dev_replace()
  btrfs: reduce type width of btrfs_io_contexts
  btrfs: use a more space efficient way to represent the source of
    duplicated stripes
  btrfs: replace btrfs_io_context::raid_map with a fixed u64 value

 fs/btrfs/block-group.c            |  22 +-
 fs/btrfs/raid56.c                 |  68 ++++--
 fs/btrfs/scrub.c                  |  85 +++----
 fs/btrfs/tests/extent-map-tests.c |   1 -
 fs/btrfs/tree-checker.c           |  14 ++
 fs/btrfs/volumes.c                | 385 ++++++++++++++----------------
 fs/btrfs/volumes.h                |  79 +++++-
 include/trace/events/btrfs.h      |   2 +-
 8 files changed, 362 insertions(+), 294 deletions(-)

Comments

David Sterba Feb. 20, 2023, 9:08 p.m. UTC | #1
On Fri, Feb 17, 2023 at 01:36:57PM +0800, Qu Wenruo wrote:
> This series is based on the current misc-next branch, and can be fetched
> from github:
> 
>   https://github.com/adam900710/linux/tree/map_block_refactor
> 
> 
> This is the rebased and merged version of two patchset:
> 
>   btrfs: reduce div64 calls for __btrfs_map_block() and its variants
>   btrfs: reduce the memory usage for btrfs_io_context, and reduce its variable sized members
> 
> Originally the 2nd patchset has some dependency on the first one, but
> the first one is causing some conflicts with newer cleanups, thus only
> the 2nd patchset get merged into for-next.
> 
> This updated version would resolve the conflicts, and use the modified
> version from for-next.
> 
> Qu Wenruo (6):
>   btrfs: remove map_lookup->stripe_len
>   btrfs: reduce div64 calls by limiting the number of stripes of a chunk
>     to u32
>   btrfs: simplify the bioc argument for handle_ops_on_dev_replace()
>   btrfs: reduce type width of btrfs_io_contexts
>   btrfs: use a more space efficient way to represent the source of
>     duplicated stripes
>   btrfs: replace btrfs_io_context::raid_map with a fixed u64 value

Added to misc-next with some fixups, thanks.