On Tue, Jun 25, 2019 at 12:58 AM Nikolay Borisov <nborisov@xxxxxxxx> wrote:
>
> But why are your nocompress files being compressed? I just tested latest
> misc-next branch and a mounted fs with -ocomopress=zstd correctly skips
> compression on a file where chattr +C has been set?
>
This is reproducible with zlib and lzo. Upon rotate, the nocow journal
is compressed. And 'btrfs check' complains about them too with "bad
file extent, some csum missing'
compress=zlib set in fstab
journalctl --rotate
item 98 key (4731175 INODE_ITEM 0) itemoff 54181 itemsize 160
generation 61345 transid 62912 size 33554432 nbytes 33554432
block group 0 mode 100640 links 1 uid 0 gid 190 rdev 0
sequence 12617 flags 0x1b(NODATASUM|NODATACOW|NOCOMPRESS|PREALLOC)
atime 1561478658.193673946 (2019-06-25 10:04:18)
ctime 1561574037.650029396 (2019-06-26 12:33:57)
mtime 1561574028.883189998 (2019-06-26 12:33:48)
otime 1561478658.193673946 (2019-06-25 10:04:18)
item 99 key (4731175 INODE_REF 169326) itemoff 54090 itemsize 91
index 62 namelen 81 name:
system@bf2624eef8134e64a38931ef85b2311e-0000000000012978-00058c2814bec367.journal
item 100 key (4731175 XATTR_ITEM 843765919) itemoff 54036 itemsize 54
location key (0 UNKNOWN.0 0) type XATTR
transid 61345 data_len 8 name_len 16
name: user.crtime_usec
item 101 key (4731175 XATTR_ITEM 2038346239) itemoff 53931 itemsize 105
location key (0 UNKNOWN.0 0) type XATTR
transid 61345 data_len 52 name_len 23
name: system.posix_acl_access
data
item 102 key (4731175 XATTR_ITEM 3817753667) itemoff 53854 itemsize 77
location key (0 UNKNOWN.0 0) type XATTR
transid 61345 data_len 31 name_len 16
name: security.selinux
data system_u:object_r:var_log_t:s0
item 103 key (4731175 EXTENT_DATA 0) itemoff 53801 itemsize 53
generation 62912 type 1 (regular)
extent data disk byte 1125711872 nr 24576
extent data offset 0 nr 131072 ram 131072
extent compression 1 (zlib)
item 104 key (4731175 EXTENT_DATA 131072) itemoff 53748 itemsize 53
generation 62912 type 1 (regular)
extent data disk byte 1125736448 nr 24576
extent data offset 0 nr 131072 ram 131072
extent compression 1 (zlib)
reboot with compress=lzo in fstab
journalctl --rotate
item 31 key (4736226 INODE_ITEM 0) itemoff 62096 itemsize 160
generation 62931 transid 62959 size 16777216 nbytes 16777216
block group 0 mode 100640 links 1 uid 0 gid 190 rdev 0
sequence 47 flags 0x13(NODATASUM|NODATACOW|PREALLOC)
atime 1561574634.315474762 (2019-06-26 12:43:54)
ctime 1561574674.904503161 (2019-06-26 12:44:34)
mtime 1561574674.902503198 (2019-06-26 12:44:34)
otime 1561574634.315474762 (2019-06-26 12:43:54)
item 32 key (4736226 INODE_REF 169326) itemoff 62005 itemsize 91
index 4 namelen 81 name:
system@316504f5e5cb4e6eab2ad1d018bc4d2c-0000000000000001-00058c3e6d0ff5a3.journal
item 33 key (4736226 XATTR_ITEM 843765919) itemoff 61951 itemsize 54
location key (0 UNKNOWN.0 0) type XATTR
transid 62931 data_len 8 name_len 16
name: user.crtime_usec
item 34 key (4736226 XATTR_ITEM 2038346239) itemoff 61846 itemsize 105
location key (0 UNKNOWN.0 0) type XATTR
transid 62931 data_len 52 name_len 23
name: system.posix_acl_access
data
item 35 key (4736226 XATTR_ITEM 3817753667) itemoff 61769 itemsize 77
location key (0 UNKNOWN.0 0) type XATTR
transid 62931 data_len 31 name_len 16
name: security.selinux
data system_u:object_r:var_log_t:s0
item 36 key (4736226 EXTENT_DATA 0) itemoff 61716 itemsize 53
generation 62959 type 1 (regular)
extent data disk byte 1112309760 nr 12288
extent data offset 0 nr 131072 ram 131072
extent compression 2 (lzo)
item 37 key (4736226 EXTENT_DATA 131072) itemoff 61663 itemsize 53
generation 62959 type 1 (regular)
extent data disk byte 1114071040 nr 8192
extent data offset 0 nr 131072 ram 131072
extent compression 2 (lzo)
Super easy to reproduce.
--
Chris Murphy