]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
generic/065: fsync file 'hello' before checking its content
authorFilipe Manana <fdmanana@suse.com>
Wed, 18 Mar 2015 03:56:40 +0000 (14:56 +1100)
committerDave Chinner <david@fromorbit.com>
Wed, 18 Mar 2015 03:56:40 +0000 (14:56 +1100)
Explicitly fsync the file named 'hello' before checking its content.
This way there's only one expected result for all filesystems.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
tests/generic/065
tests/generic/065.out

index b5a296d05397f3bd2ebb3e0109e954eee07ab41f..739a4d5bd93dbc48b84712445f5f2fea357e4329 100755 (executable)
@@ -96,6 +96,11 @@ touch $SCRATCH_MNT/mydir/x/y/z/qwerty
 # Now fsync only our top directory.
 $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/mydir
 
+# And fsync now our new file named 'hello', just to verify later that it has
+# the expected content and that the previous fsync on the directory 'mydir' had
+# no bad influence on this fsync.
+$XFS_IO_PROG -c "fsync" $SCRATCH_MNT/hello
+
 # Simulate a crash/power loss.
 _load_flakey_table $FLAKEY_DROP_WRITES
 _unmount_flakey
@@ -131,25 +136,10 @@ rm -f $SCRATCH_MNT/foo
 [ -f $SCRATCH_MNT/mydir/x/y/z/qwerty ] || \
        echo "File mydir/x/y/z/qwerty is missing"
 
-digest_ok=no
-hello_digest=$(md5sum $SCRATCH_MNT/hello | cut -d ' ' -f 1)
-
-case "$FSTYP" in
-ext3)
-       # a 64Kb file, with all bytes having the value 0xff
-       [ $hello_digest == "ecb99e6ffea7be1e5419350f725da86b" ] && digest_ok=yes
-       ;;
-*)
-       # an empty file
-       [ $hello_digest == "d41d8cd98f00b204e9800998ecf8427e" ] && digest_ok=yes
-       ;;
-esac
-
-if [ $digest_ok == "yes" ]; then
-       echo "file 'hello' has expected size and content"
-else
-       echo "file 'hello' has unexpected size or content"
-fi
+# We expect our file here to have a size of 64Kb and all the bytes having the
+# value 0xff.
+echo "file 'hello' content after log replay:"
+od -t x1 $SCRATCH_MNT/hello
 
 # Now remove all files/links, under our test directory 'mydir', and verify we
 # can remove all the directories.
index ad376b3f8a1a0689e544724d26c13e3a38afe420..6d394b0ab7e8cfb4ebb1aea24554be24b8d3f479 100644 (file)
@@ -8,4 +8,7 @@ File 'foo' content after log replay:
 *
 0020000
 file 'foo' link count after log replay: 5
-file 'hello' has expected size and content
+file 'hello' content after log replay:
+0000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+*
+0200000