On Tue, Jun 25, 2019 at 12:58 AM Nikolay Borisov <nbori...@suse.com> 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

Reply via email to