f2fs: show compression in statx
authorChao Yu <yuchao0@huawei.com>
Wed, 25 Mar 2020 02:22:09 +0000 (10:22 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 3 Apr 2020 17:21:31 +0000 (10:21 -0700)
fstest reports below message when compression is on:

generic/424 1s ... - output mismatch
    --- tests/generic/424.out
    +++ results/generic/424.out.bad
    @@ -1,2 +1,26 @@
     QA output created by 424
    +[!] Attribute compressed should be set
    +Failed
    +stat_test failed
    +[!] Attribute compressed should be set
    +Failed
    +stat_test failed

We missed to set STATX_ATTR_COMPRESSED on compressed inode in getattr(),
fix it.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index e3c2943..1476a3b 100644 (file)
@@ -799,6 +799,8 @@ int f2fs_getattr(const struct path *path, struct kstat *stat,
        }
 
        flags = fi->i_flags;
+       if (flags & F2FS_COMPR_FL)
+               stat->attributes |= STATX_ATTR_COMPRESSED;
        if (flags & F2FS_APPEND_FL)
                stat->attributes |= STATX_ATTR_APPEND;
        if (IS_ENCRYPTED(inode))
@@ -810,7 +812,8 @@ int f2fs_getattr(const struct path *path, struct kstat *stat,
        if (IS_VERITY(inode))
                stat->attributes |= STATX_ATTR_VERITY;
 
-       stat->attributes_mask |= (STATX_ATTR_APPEND |
+       stat->attributes_mask |= (STATX_ATTR_COMPRESSED |
+                                 STATX_ATTR_APPEND |
                                  STATX_ATTR_ENCRYPTED |
                                  STATX_ATTR_IMMUTABLE |
                                  STATX_ATTR_NODUMP |