Commit ff763866 authored by David Sterba's avatar David Sterba
Browse files

btrfs: export compression buffer limits in a header



Move the buffer limit definitions out of compress_file_range.

Reviewed-by: default avatarQu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 4d3a800e
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -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);


+0 −10
Original line number Original line Diff line number Diff line
@@ -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);