Files
linux/fs
Shilong Wang 4bcbb33255 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>
2014-11-20 17:14:27 -08:00
..
2014-10-09 02:39:04 -04:00
2014-08-08 15:57:24 -07:00
2014-11-13 22:19:05 +03:00
2014-10-17 17:17:12 -05:00
2014-08-08 15:57:20 -07:00
2014-06-04 16:53:53 -07:00
2014-10-09 02:38:57 -04:00
2014-08-07 14:40:09 -04:00
2014-10-16 12:53:35 +01:00
2014-11-05 08:49:38 -05:00
2014-10-09 13:06:14 +02:00
2014-11-07 08:33:52 +11:00
2014-09-24 13:31:50 -04:00
2014-08-07 14:40:09 -04:00
2014-10-24 00:14:38 +02:00
2014-10-24 00:14:38 +02:00
2014-10-24 00:14:35 +02:00
2014-08-26 09:35:56 +02:00
2014-08-27 11:17:48 +02:00