From b5f3e4df9d90499ad67d5d865b5848da363fe3aa Mon Sep 17 00:00:00 2001 From: Shi Weihua Date: Thu, 27 May 2010 21:16:29 +0200 Subject: [PATCH] xfstests: check for ctime updates on link(2) Signed-off-by: Shi Weihua Signed-off-by: Christoph Hellwig --- 236 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 236.out | 2 ++ group | 1 + 3 files changed, 76 insertions(+) create mode 100644 236 create mode 100644 236.out diff --git a/236 b/236 new file mode 100644 index 00000000..4d257f03 --- /dev/null +++ b/236 @@ -0,0 +1,73 @@ +#! /bin/bash +# FS QA Test No. 236 +# +# Check ctime updated or not if file linked +# See also http://marc.info/?l=linux-btrfs&m=127434439020230&w=2 +# +#----------------------------------------------------------------------- +# Copyright (c) 2010 FUJITSU LIMITED. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# +# creator +owner=shiwh@cn.fujitsu.com + +seq=`basename $0` +echo "QA output created by $seq" + +_cleanup() +{ + if [ -a $TEST_DIR/ouch2 ]; then + rm -f $TEST_DIR/ouch2 + fi + if [ -a $TEST_DIR/ouch ]; then + rm -f $TEST_DIR/ouch + fi +} + +here=`pwd` + +# get standard environment, filters and checks +. ./common.rc + +# real QA test starts here +_supported_fs generic +# only Linux supports fallocate +_supported_os Linux + +# create a file and get its ctime +touch $TEST_DIR/ouch +ctime=`stat -c %Z $TEST_DIR/ouch` +sleep 1 + +# create a link to a file and get existing file's ctime +link $TEST_DIR/ouch $TEST_DIR/ouch2 +ctime2=`stat -c %Z $TEST_DIR/ouch` + +# check ctime updated +if [ $ctime2 -le $ctime ]; then + echo "ctime: $ctime -> $ctime2 " + echo "Fatal error: ctime not updated after link" + _cleanup + exit 1 +fi + +_cleanup + +echo "Test over." +# success, all done +status=0 +exit diff --git a/236.out b/236.out new file mode 100644 index 00000000..f313fbb6 --- /dev/null +++ b/236.out @@ -0,0 +1,2 @@ +QA output created by 236 +Test over. diff --git a/group b/group index 6b915b2f..09797ce6 100644 --- a/group +++ b/group @@ -349,3 +349,4 @@ deprecated 233 auto quota 234 auto quota 235 auto quota quick +236 auto quick metadata -- 2.47.3