aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorShilong Wang <wangshilong1991@gmail.com>2014-10-07 18:44:35 -0400
committerChris Mason <clm@fb.com>2014-11-20 20:14:27 -0500
commit4bcbb33255131adbe481c0467df26d654ce3bc78 (patch)
tree13e3cd9b2f2cbd7e9380ffedeef1a139534ea50e /fs/btrfs/dev-replace.c
parent7bdcefc103849386ef7f3029dd94ecfd4a822a67 (diff)
Btrfs: fix incorrect compression ratio detection
Steps to reproduce: # mkfs.btrfs -f /dev/sdb # mount -t btrfs /dev/sdb /mnt -o compress=lzo # dd if=/dev/zero of=/mnt/data bs=$((33*4096)) count=1 after previous steps, inode will be detected as bad compression ratio, and NOCOMPRESS flag will be set for that inode. Reason is that compress have a max limit pages every time(128K), if a 132k write in, it will be splitted into two write(128k+4k), this bug is a leftover for commit 68bb462d42a(Btrfs: don't compress for a small write) Fix this problem by checking every time before compression, if it is a small write(<=blocksize), we bail out and fall into nocompression directly. Signed-off-by: Wang Shilong <wangshilong1991@gmail.com> Reviewed-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions