Re: consolidate btrfs checksumming, repair and bio splitting

Johannes Thumshirn
2022-09-02T15:34:45Z

On 01.09.22 09:42, Christoph Hellwig wrote:
> Hi all,
>
> this series moves a large amount of duplicate code below btrfs_submit_bio
> into what I call the 'storage' layer. Instead of duplicating code to
> checksum, check checksums and repair and split bios in all the caller
> of btrfs_submit_bio (buffered I/O, direct I/O, compressed I/O, encoded
> I/O), the work is done one in a central place, often more optiomal and
> without slight changes in behavior. Once that is done the upper layers
> also don't need to split the bios for extent boundaries, as the storage
> layer can do that itself, including splitting the bios for the zone
> append limits for zoned I/O.
>
> The split work is inspired by an earlier series from Qu, from which it
> also reuses a few patches.
>
> Note: this adds a fair amount of code to volumes.c, which already is
> quite large. It might make sense to add a prep patch to move
> btrfs_submit_bio into a new bio.c file, but I only want to do that
> if we have agreement on the move as the conflicts will be painful
> when rebasing.

This series on top of misc-next passes my usual zoned null_blk fstests
setup without regressions.

Tested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>