From 8715fe28cd740d59189bec0ba42f655da826767e Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Thu, 23 Sep 2004 14:35:43 +0000 Subject: [PATCH] Add more tests to auto-qa group; add test 103 exercising more inode flags. Merge of xfs-cmds-melb:slinx:19568a by kenmcd. --- 103 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 103.out | 22 ++++++++++ group | 7 ++-- 3 files changed, 149 insertions(+), 3 deletions(-) create mode 100755 103 create mode 100644 103.out diff --git a/103 b/103 new file mode 100755 index 00000000..92940923 --- /dev/null +++ b/103 @@ -0,0 +1,123 @@ +#! /bin/sh +# FS QA Test No. 103 +# +# Exercise the XFS nosymlinks and project inheritance inode flags +# (for now only nosymlinks is tested; other is not yet implemented). +# +#----------------------------------------------------------------------- +# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of version 2 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. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston MA 02111-1307, USA. +# +# Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, +# Mountain View, CA 94043, or: +# +# http://www.sgi.com +# +# For further information regarding this notice, see: +# +# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ +#----------------------------------------------------------------------- +# +# creator +owner=nathans@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 + +_create_scratch() +{ + echo "*** mkfs" + if ! _scratch_mkfs_xfs >$tmp.out 2>&1 + then + cat $tmp.out + echo "failed to mkfs $SCRATCH_DEV" + exit 1 + fi + + echo "*** mount" + if ! _scratch_mount 2>/dev/null + then + echo "failed to mount $SCRATCH_DEV" + exit 1 + fi +} + +_filter_scratch() +{ + sed -e "s,$SCRATCH_MNT,SCRATCH_MNT,g" +} + +# real QA test starts here +_supported_fs xfs +_require_command /usr/sbin/xfs_io +_require_scratch + +_create_scratch + + +echo "*** testing nosymlinks directories" +mkdir $SCRATCH_MNT/nosymlinks +echo "*** setting nosymlinks bit" +xfs_io -r -c 'chattr +n' -c lsattr $SCRATCH_MNT/nosymlinks \ + | _filter_scratch +touch $SCRATCH_MNT/nosymlinks/source +ln -s $SCRATCH_MNT/nosymlinks/source $SCRATCH_MNT/nosymlinks/target 2>&1 \ + | _filter_scratch +ln $SCRATCH_MNT/nosymlinks/source $SCRATCH_MNT/nosymlinks/hardlinksareok + +echo "*** 1st listing..." +find $SCRATCH_MNT | _filter_scratch + +echo "*** clearing nosymlinks bit" +xfs_io -r -c 'chattr -n' -c lsattr $SCRATCH_MNT/nosymlinks | _filter_scratch +ln -s $SCRATCH_MNT/nosymlinks/source $SCRATCH_MNT/nosymlinks/target +ln $SCRATCH_MNT/nosymlinks/source $SCRATCH_MNT/nosymlinks/hardlinksareok2 + +echo "*** 2nd listing..." +find $SCRATCH_MNT | _filter_scratch + +echo "*** finished testing nosymlinks directories" + + +# echo "*** testing inherited project IDs" +# mkdir $SCRATCH_MNT/projectids +# xfs_io -r -c 'chattr +P' -c lsattr -c 'chproj 42' $SCRATCH_MNT/projectids\ +# | _filter_scratch +# mkdir -p $SCRATCH_MNT/projectids/a/b +# touch $SCRATCH_MNT/projectids/a/b/c +# xfs_io -r -c 'lsattr -R' $SCRATCH_MNT/projectids +# xfs_io -r -c 'lsproj' $SCRATCH_MNT/projectids/a $SCRATCH_MNT/projectids/a/b/c\ +# | _filter_scratch +# echo "*** 3rd listing..." +# find $SCRATCH_MNT | _filter_scratch +# echo "*** finished testing inherited project IDs" + +status=0 +exit diff --git a/103.out b/103.out new file mode 100644 index 00000000..203126ae --- /dev/null +++ b/103.out @@ -0,0 +1,22 @@ +QA output created by 103 +*** mkfs +*** mount +*** testing nosymlinks directories +*** setting nosymlinks bit +---------n SCRATCH_MNT/nosymlinks +ln: creating symbolic link `SCRATCH_MNT/nosymlinks/target' to `SCRATCH_MNT/nosymlinks/source': Operation not permitted +*** 1st listing... +SCRATCH_MNT +SCRATCH_MNT/nosymlinks +SCRATCH_MNT/nosymlinks/source +SCRATCH_MNT/nosymlinks/hardlinksareok +*** clearing nosymlinks bit +---------- SCRATCH_MNT/nosymlinks +*** 2nd listing... +SCRATCH_MNT +SCRATCH_MNT/nosymlinks +SCRATCH_MNT/nosymlinks/source +SCRATCH_MNT/nosymlinks/hardlinksareok +SCRATCH_MNT/nosymlinks/target +SCRATCH_MNT/nosymlinks/hardlinksareok2 +*** finished testing nosymlinks directories diff --git a/group b/group index c32cd0b0..e0592715 100644 --- a/group +++ b/group @@ -149,7 +149,7 @@ udf ajones@sgi.com 073 copy auto 074 rw udf auto 075 rw udf auto -076 metadata rw udf +076 metadata rw udf auto 077 acl attr auto 078 growfs auto 079 acl attr ioctl metadata auto @@ -163,8 +163,8 @@ udf ajones@sgi.com 087 log v2log auto 088 perms auto 089 metadata auto -090 rw -091 rw +090 rw auto +091 rw auto 092 other auto 093 attr cap udf auto 094 metadata dir ioctl auto @@ -176,3 +176,4 @@ udf ajones@sgi.com 100 udf auto 101 udf auto 102 udf auto +103 metadata dir ioctl auto -- 2.30.2