btrfs: export compression buffer limits in a header
Move the buffer limit definitions out of compress_file_range. Reviewed-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
4d3a800ebb
commit
ff7638665c
|
@ -19,6 +19,21 @@
|
||||||
#ifndef __BTRFS_COMPRESSION_
|
#ifndef __BTRFS_COMPRESSION_
|
||||||
#define __BTRFS_COMPRESSION_
|
#define __BTRFS_COMPRESSION_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We want to make sure that amount of RAM required to uncompress an extent is
|
||||||
|
* reasonable, so we limit the total size in ram of a compressed extent to
|
||||||
|
* 128k. This is a crucial number because it also controls how easily we can
|
||||||
|
* spread reads across cpus for decompression.
|
||||||
|
*
|
||||||
|
* We also want to make sure the amount of IO required to do a random read is
|
||||||
|
* reasonably small, so we limit the size of a compressed extent to 128k.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Maximum length of compressed data stored on disk */
|
||||||
|
#define BTRFS_MAX_COMPRESSED (SZ_128K)
|
||||||
|
/* Maximum size of data before compression */
|
||||||
|
#define BTRFS_MAX_UNCOMPRESSED (SZ_128K)
|
||||||
|
|
||||||
void btrfs_init_compress(void);
|
void btrfs_init_compress(void);
|
||||||
void btrfs_exit_compress(void);
|
void btrfs_exit_compress(void);
|
||||||
|
|
||||||
|
|
|
@ -471,16 +471,6 @@ again:
|
||||||
(start > 0 || end + 1 < BTRFS_I(inode)->disk_i_size))
|
(start > 0 || end + 1 < BTRFS_I(inode)->disk_i_size))
|
||||||
goto cleanup_and_bail_uncompressed;
|
goto cleanup_and_bail_uncompressed;
|
||||||
|
|
||||||
/* we want to make sure that amount of ram required to uncompress
|
|
||||||
* an extent is reasonable, so we limit the total size in ram
|
|
||||||
* of a compressed extent to 128k. This is a crucial number
|
|
||||||
* because it also controls how easily we can spread reads across
|
|
||||||
* cpus for decompression.
|
|
||||||
*
|
|
||||||
* We also want to make sure the amount of IO required to do
|
|
||||||
* a random read is reasonably small, so we limit the size of
|
|
||||||
* a compressed extent to 128k.
|
|
||||||
*/
|
|
||||||
total_compressed = min(total_compressed, max_uncompressed);
|
total_compressed = min(total_compressed, max_uncompressed);
|
||||||
num_bytes = ALIGN(end - start + 1, blocksize);
|
num_bytes = ALIGN(end - start + 1, blocksize);
|
||||||
num_bytes = max(blocksize, num_bytes);
|
num_bytes = max(blocksize, num_bytes);
|
||||||
|
|
Loading…
Reference in New Issue