[Top] [All Lists]

[PATCH] xfs/066: stat the test file, not the directory

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfs/066: stat the test file, not the directory
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 5 Feb 2014 13:51:55 +1100
Delivered-to: xfs@xxxxxxxxxxx
From: Dave Chinner <dchinner@xxxxxxxxxx>

Ever since commit 7e2a19504 ("ls -l reports different file size
depending on platform and user.") xfs/066 has been running stat on
the dump/restore directory instead of the large file that the test
is checking can be dumped and restored correctly. IOWs, it's not
been checking the correct thing for almost 10 years.

This test fails on CRC enabled filesystems because the shortform
directory entry size is different (an extra byte for the filetype
filed), and this is where tracking down the failure has lead me.

Fix this by using the correct target file, and improve it by dumping
an md5sum of the source and target files to ensure they contain the
same data.

Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
 tests/xfs/066     | 6 ++++--
 tests/xfs/066.out | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/tests/xfs/066 b/tests/xfs/066
index d521ada..db29249 100755
--- a/tests/xfs/066
+++ b/tests/xfs/066
@@ -60,11 +60,13 @@ fi
 echo "ls dumpdir/largefile"
-stat $dump_dir | _my_stat_filter
+stat $dump_dir/largefile | _my_stat_filter
+md5sum $dump_dir/largefile |_filter_scratch
 echo "ls restoredir/largefile"
-stat $restore_dir/$dump_sdir | _my_stat_filter
+stat $restore_dir/$dump_sdir/largefile | _my_stat_filter
+md5sum $restore_dir/$dump_sdir/largefile |_filter_scratch
 # success, all done
diff --git a/tests/xfs/066.out b/tests/xfs/066.out
index f84a0b8..0e85143 100644
--- a/tests/xfs/066.out
+++ b/tests/xfs/066.out
@@ -3,7 +3,8 @@ dd a largefile at offset 4294967297
 10+0 records in
 10+0 records out
 ls dumpdir/largefile
-22 largefile
+4294967307 largefile
+e2664609cb95c2215732cf4e71e45017  SCRATCH_MNT/dumpdir/largefile
 Dumping to file...
 xfsdump  -f DUMP_FILE -M stress_tape_media -L stress_066 SCRATCH_MNT
 xfsdump: using file dump (drive_simple) strategy
@@ -37,4 +38,5 @@ xfsrestore: restoring non-directory files
 xfsrestore: restore complete: SECS seconds elapsed
 xfsrestore: Restore Status: SUCCESS
 ls restoredir/largefile
-22 largefile
+4294967307 largefile
+e2664609cb95c2215732cf4e71e45017  SCRATCH_MNT/restoredir/dumpdir/largefile

<Prev in Thread] Current Thread [Next in Thread>