Added test for noatime checking
authorAllan Randall <allanr@sgi.com>
Mon, 8 May 2006 15:29:52 +0000 (15:29 +0000)
committerAllan Randall <allanr@sgi.com>
Mon, 8 May 2006 15:29:52 +0000 (15:29 +0000)
Merge of master-melb:xfs-cmds:25899a by kenmcd.

  Test for noatime checking

120 [new file with mode: 0755]
120.out [new file with mode: 0644]
group

diff --git a/120 b/120
new file mode 100755 (executable)
index 0000000..cd07a21
--- /dev/null
+++ b/120
@@ -0,0 +1,87 @@
+#!/bin/sh
+# FS QA Test No. 120
+#
+# Test noatime mount option.
+#
+#-----------------------------------------------------------------------
+# Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
+#-----------------------------------------------------------------------
+#
+# creator
+owner=allanr@sgi.com
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1       # failure is the default!
+trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+# get standard environment, filters and checks
+. ./common.rc
+. ./common.filter
+
+# real QA test starts here
+_supported_fs xfs
+_supported_os Linux IRIX
+
+_require_scratch
+_scratch_mkfs_xfs >/dev/null 2>&1
+
+function _compare_access_times()
+{
+       original_access_time="`cat $tmp.out | sed -n '5p'|awk '{ print substr($0,0,32)}'`"
+       accessed_time="`src/lstat64 $1 | sed -n '5p'| awk '{ print substr($0,0,32)}'`"
+       echo "*** compare access times ***"
+       if [ "$original_access_time" != "$accessed_time" ]
+               then
+               echo "*** file access time updated on $2 (unexpected) ***"
+               cat $tmp.out
+               echo "---------------------------------------------------"
+               src/lstat64 $1
+               mount | grep $SCRATCH_MNT
+       fi
+
+}
+
+if ! mount -o noatime $SCRATCH_DEV $SCRATCH_MNT >$tmp.out 2>&1
+then
+    cat $tmp.out
+    echo "!!! mount failed"
+    exit
+fi
+
+#executable file
+echo "*** copying file ***"
+cp src/lstat64 $SCRATCH_MNT
+src/lstat64 $SCRATCH_MNT/lstat64 >$tmp.out
+sleep 5
+echo "*** executing file ***"
+$SCRATCH_MNT/lstat64 $SCRATCH_MNT/lstat64 >/dev/null
+_compare_access_times $SCRATCH_MNT/lstat64 "executing file"
+
+#reading file
+echo "*** creating file ***"
+touch $SCRATCH_MNT/testfile
+src/lstat64 $SCRATCH_MNT/testfile >$tmp.out
+sleep 5
+echo "*** reading file ***"
+cat $SCRATCH_MNT/testfile >/dev/null
+_compare_access_times $SCRATCH_MNT/testfile "reading file"
+
+#writing file
+echo "*** creating file ***"
+touch $SCRATCH_MNT/testfile2
+src/lstat64 $SCRATCH_MNT/testfile2 >$tmp.out
+sleep 5
+echo "*** writing to file ***"
+echo "asdf" >> $SCRATCH_MNT/testfile2
+_compare_access_times $SCRATCH_MNT/testfile2 "writing file"
+
+
+umount $SCRATCH_MNT
+
+# success, all done
+status=0
+exit
diff --git a/120.out b/120.out
new file mode 100644 (file)
index 0000000..c0e53a9
--- /dev/null
+++ b/120.out
@@ -0,0 +1,10 @@
+QA output created by 120
+*** copying file ***
+*** executing file ***
+*** compare access times ***
+*** creating file ***
+*** reading file ***
+*** compare access times ***
+*** creating file ***
+*** writing to file ***
+*** compare access times ***
diff --git a/group b/group
index e5eb1ac6d2fc32ed14f6d4dcfa5ee5466ca8f42c..888760d73cf983d0594890938f8ace162f1bb273 100644 (file)
--- a/group
+++ b/group
@@ -196,3 +196,4 @@ aio         nathans@sgi.com
 117 attr auto
 118 quota
 119 log v2log
+120 auto
\ No newline at end of file