mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-17 08:24:21 -04:00
btrfs: zlib: don't cache sectorsize in a local variable
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user