From: Cui Yue Date: Thu, 10 Jan 2019 03:14:59 +0000 (-0500) Subject: generic/423: statx mask of the reference file is different from the original file X-Git-Tag: v2022.05.01~1293 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=50076fc291e3cdc9ea61ac06d66250f06e5b1c98;p=xfstests-dev.git generic/423: statx mask of the reference file is different from the original file When running xfstests generic/423 to test system call statx() on hard link files of NFS, it fails. error message: [!] attr 'stx_mask' differs from ref file, 7ff != e0 The values of parameter "mask" between the original file and the reference file are different. One is STATX_ALL; The other is STATX_ATIME | STATX_BTIME | STATX_CTIME | STATX_MTIME. Modify the function get_reference() to pass the "mask" in, and change STATX_ATIME | STATX_BTIME | STATX_CTIME | STATX_MTIME to "mask". Signed-off-by: Cui Yue Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/src/stat_test.c b/src/stat_test.c index 94c20d60..95cfdc4f 100644 --- a/src/stat_test.c +++ b/src/stat_test.c @@ -290,7 +290,7 @@ static void set_origin_timestamp(const char *arg) /* * Get reference stats from a file. */ -static void get_reference(const char *file) +static void get_reference(const char *file, unsigned int mask) { int ret; @@ -298,9 +298,7 @@ static void get_reference(const char *file) bad_arg("ref= requires a filename\n"); memset(&ref, 0xfb, sizeof(ref)); - ret = xfstests_statx(AT_FDCWD, file, AT_SYMLINK_NOFOLLOW, - STATX_ATIME | STATX_BTIME | STATX_CTIME | STATX_MTIME, - &ref); + ret = xfstests_statx(AT_FDCWD, file, AT_SYMLINK_NOFOLLOW, mask, &ref); switch (ret) { case 0: ref_set = true; @@ -751,7 +749,7 @@ int main(int argc, char **argv) if (strncmp("ref=", arg, 4) == 0) { /* ref= - set reference stats from file */ - get_reference(arg + 4); + get_reference(arg + 4, mask); continue; }