From: Allan Randall Date: Mon, 8 May 2006 15:29:52 +0000 (+0000) Subject: Added test for noatime checking X-Git-Tag: v1.1.0~648 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=478d0343bc82ce5da0a7e039017f35e310006f42;p=xfstests-dev.git Added test for noatime checking Merge of master-melb:xfs-cmds:25899a by kenmcd. Test for noatime checking --- diff --git a/120 b/120 new file mode 100755 index 00000000..cd07a211 --- /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 index 00000000..c0e53a9f --- /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 e5eb1ac6..888760d7 100644 --- 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