diff options
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 251db68148b2..fdb8f4486e85 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -394,6 +394,14 @@ static noinline int compress_file_range(struct inode *inode, | |||
394 | (start > 0 || end + 1 < BTRFS_I(inode)->disk_i_size)) | 394 | (start > 0 || end + 1 < BTRFS_I(inode)->disk_i_size)) |
395 | btrfs_add_inode_defrag(NULL, inode); | 395 | btrfs_add_inode_defrag(NULL, inode); |
396 | 396 | ||
397 | /* | ||
398 | * skip compression for a small file range(<=blocksize) that | ||
399 | * isn't an inline extent, since it dosen't save disk space at all. | ||
400 | */ | ||
401 | if ((end - start + 1) <= blocksize && | ||
402 | (start > 0 || end + 1 < BTRFS_I(inode)->disk_i_size)) | ||
403 | goto cleanup_and_bail_uncompressed; | ||
404 | |||
397 | actual_end = min_t(u64, isize, end + 1); | 405 | actual_end = min_t(u64, isize, end + 1); |
398 | again: | 406 | again: |
399 | will_compress = 0; | 407 | will_compress = 0; |