]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
btrfs: prepare zlib to support bs > ps cases
authorQu Wenruo <wqu@suse.com>
Mon, 8 Sep 2025 09:06:37 +0000 (18:36 +0930)
committerDavid Sterba <dsterba@suse.com>
Tue, 23 Sep 2025 06:49:25 +0000 (08:49 +0200)
commite88cb48e6709d73fe9f82f2b56a43ac9ba2a1fe2
tree5d2f9b90207a1bae29c74dd0d00bd970f62d503b
parent4fd188a4fe5877a95e4812617a6c6ae66644427b
btrfs: prepare zlib to support bs > ps cases

This involves converting the following functions to use correct folio
sizes/shifts:

- zlib_compress_folios()
- zlib_decompress_bio()

There is a special handling for s390 hardware acceleration.
With bs > ps cases, we can go with 16K block size on s390 (which uses
fixed 4K page size).
In that case we do not need to do the buffer copy as our folio is large
enough for hardware acceleration.

So factor out the s390 specific and folio size check into a helper,
need_special_buffer().

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/zlib.c