[PATCH] generic/423: statx mask of the reference file is different from the original file

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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".
---
 src/stat_test.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/stat_test.c b/src/stat_test.c
index 94c20d6..95cfdc4 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=<file> - set reference stats from file */
-			get_reference(arg + 4);
+			get_reference(arg + 4, mask);
 			continue;
 		}
 
-- 
1.8.3.1






[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux