Commit 069eac78 authored by David Sterba's avatar David Sterba

btrfs: use predefined limits for calculating maximum number of pages for compression

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent ff763866
...@@ -432,8 +432,6 @@ static noinline void compress_file_range(struct inode *inode, ...@@ -432,8 +432,6 @@ static noinline void compress_file_range(struct inode *inode,
unsigned long nr_pages; unsigned long nr_pages;
unsigned long total_compressed = 0; unsigned long total_compressed = 0;
unsigned long total_in = 0; unsigned long total_in = 0;
unsigned long max_compressed = SZ_128K;
unsigned long max_uncompressed = SZ_128K;
int i; int i;
int will_compress; int will_compress;
int compress_type = fs_info->compress_type; int compress_type = fs_info->compress_type;
...@@ -446,7 +444,9 @@ static noinline void compress_file_range(struct inode *inode, ...@@ -446,7 +444,9 @@ static noinline void compress_file_range(struct inode *inode,
again: again:
will_compress = 0; will_compress = 0;
nr_pages = (end >> PAGE_SHIFT) - (start >> PAGE_SHIFT) + 1; nr_pages = (end >> PAGE_SHIFT) - (start >> PAGE_SHIFT) + 1;
nr_pages = min_t(unsigned long, nr_pages, SZ_128K / PAGE_SIZE); BUILD_BUG_ON((BTRFS_MAX_COMPRESSED % PAGE_SIZE) != 0);
nr_pages = min_t(unsigned long, nr_pages,
BTRFS_MAX_COMPRESSED / PAGE_SIZE);
/* /*
* we don't want to send crud past the end of i_size through * we don't want to send crud past the end of i_size through
...@@ -471,7 +471,8 @@ static noinline void compress_file_range(struct inode *inode, ...@@ -471,7 +471,8 @@ static noinline void compress_file_range(struct inode *inode,
(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;
total_compressed = min(total_compressed, max_uncompressed); total_compressed = min_t(unsigned long, total_compressed,
BTRFS_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);
total_in = 0; total_in = 0;
...@@ -510,7 +511,7 @@ static noinline void compress_file_range(struct inode *inode, ...@@ -510,7 +511,7 @@ static noinline void compress_file_range(struct inode *inode,
&nr_pages, &nr_pages,
&total_in, &total_in,
&total_compressed, &total_compressed,
max_compressed); BTRFS_MAX_COMPRESSED);
if (!ret) { if (!ret) {
unsigned long offset = total_compressed & unsigned long offset = total_compressed &
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment