summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/compression.h3
-rw-r--r--fs/btrfs/inode.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h
index 84600b284e1e..973530e9ce6c 100644
--- a/fs/btrfs/compression.h
+++ b/fs/btrfs/compression.h
@@ -36,6 +36,9 @@ struct btrfs_ordered_extent;
#define BTRFS_MAX_COMPRESSED_PAGES (BTRFS_MAX_COMPRESSED / PAGE_SIZE)
static_assert((BTRFS_MAX_COMPRESSED % PAGE_SIZE) == 0);
+/* The max size for a single worker to compress. */
+#define BTRFS_COMPRESSION_CHUNK_SIZE (SZ_512K)
+
/* Maximum size of data before compression */
#define BTRFS_MAX_UNCOMPRESSED (SZ_128K)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index ea3746c14760..89ab33c5b940 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1691,7 +1691,7 @@ static bool run_delalloc_compressed(struct btrfs_inode *inode,
struct async_cow *ctx;
struct async_chunk *async_chunk;
unsigned long nr_pages;
- u64 num_chunks = DIV_ROUND_UP(end - start, SZ_512K);
+ u64 num_chunks = DIV_ROUND_UP(end - start, BTRFS_COMPRESSION_CHUNK_SIZE);
int i;
unsigned nofs_flag;
const blk_opf_t write_flags = wbc_to_write_flags(wbc);
@@ -1708,7 +1708,7 @@ static bool run_delalloc_compressed(struct btrfs_inode *inode,
atomic_set(&ctx->num_chunks, num_chunks);
for (i = 0; i < num_chunks; i++) {
- u64 cur_end = min(end, start + SZ_512K - 1);
+ u64 cur_end = min(end, start + BTRFS_COMPRESSION_CHUNK_SIZE - 1);
/*
* igrab is called higher up in the call chain, take only the