]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: zlib: don't cache sectorsize in a local variable
authorDavid Sterba <dsterba@suse.com>
Tue, 6 Jan 2026 16:20:31 +0000 (17:20 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 7 Apr 2026 16:56:08 +0000 (18:56 +0200)
The sectorsize is used once or at most twice in the callbacks, no need
to cache it on stack.

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

index 0640ab4da2b14fc0fc635c3cf27516c40bdd30bd..9ebc90267e260aa5e9a0c4afc6a5ac33e855f8be 100644 (file)
@@ -71,7 +71,6 @@ static bool need_special_buffer(struct btrfs_fs_info *fs_info)
 
 struct list_head *zlib_alloc_workspace(struct btrfs_fs_info *fs_info, unsigned int level)
 {
-       const u32 blocksize = fs_info->sectorsize;
        struct workspace *workspace;
        int workspacesize;
 
@@ -91,8 +90,8 @@ struct list_head *zlib_alloc_workspace(struct btrfs_fs_info *fs_info, unsigned i
                workspace->buf_size = ZLIB_DFLTCC_BUF_SIZE;
        }
        if (!workspace->buf) {
-               workspace->buf = kmalloc(blocksize, GFP_KERNEL);
-               workspace->buf_size = blocksize;
+               workspace->buf = kmalloc(fs_info->sectorsize, GFP_KERNEL);
+               workspace->buf_size = fs_info->sectorsize;
        }
        if (!workspace->strm.workspace || !workspace->buf)
                goto fail;
@@ -159,7 +158,6 @@ int zlib_compress_bio(struct list_head *ws, struct compressed_bio *cb)
        char *data_in = NULL;
        struct folio *in_folio = NULL;
        struct folio *out_folio = NULL;
-       const u32 blocksize = fs_info->sectorsize;
        const u64 orig_end = start + len;
 
        ret = zlib_deflateInit(&workspace->strm, workspace->level);
@@ -240,7 +238,7 @@ int zlib_compress_bio(struct list_head *ws, struct compressed_bio *cb)
                }
 
                /* We're making it bigger, give up. */
-               if (workspace->strm.total_in > blocksize * 2 &&
+               if (workspace->strm.total_in > fs_info->sectorsize * 2 &&
                    workspace->strm.total_in < workspace->strm.total_out) {
                        ret = -E2BIG;
                        goto out;