# Exercising the inheritable realtime inode bit.
#
#-----------------------------------------------------------------------
-# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
-#
+# Copyright (c) 2000-2005 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://www.sgi.com
+#
+# For further information regarding this notice, see:
+#
# http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
#-----------------------------------------------------------------------
#
_require_scratch
_require_command /usr/sbin/xfs_io
-_filter_scratch()
+_filter_realtime_flag()
+{
+ _test_inode_flag realtime $SCRATCH_MNT/testdir/$1
+ if [ $? -eq 0 ]; then
+ echo "--r-- SCRATCH_MNT/testdir/$1"
+ else
+ echo "----- SCRATCH_MNT/testdir/$1"
+ fi
+}
+
+_filter_rtinherit_flag()
{
- sed -e "s,$SCRATCH_MNT,SCRATCH_MNT,g"
+ _test_inode_flag rt-inherit $SCRATCH_MNT/testdir
+ if [ $? -eq 0 ]; then
+ echo "--t-- SCRATCH_MNT/testdir"
+ else
+ echo "----- SCRATCH_MNT/testdir"
+ fi
}
_create_scratch()
# unset inode attribute, create files below and check they're not realtime
echo "*** create directory with rtinherit"
-$XFS_IO_PROG -r -c 'chattr +R' $SCRATCH_MNT/testdir
-$XFS_IO_PROG -r -c 'lsattr' $SCRATCH_MNT/testdir | _filter_scratch
+$XFS_IO_PROG -r -c 'chattr +t' $SCRATCH_MNT/testdir
+_filter_rtinherit_flag
echo "*** create child with inherited realtime"
-touch $SCRATCH_MNT/testdir/realtime
-$XFS_IO_PROG -r -c 'lsattr' $SCRATCH_MNT/testdir/realtime | _filter_scratch
+touch $SCRATCH_MNT/testdir/real
+_filter_realtime_flag real
echo "*** remove rtinherit from directory"
-$XFS_IO_PROG -r -c 'chattr -R' $SCRATCH_MNT/testdir
-$XFS_IO_PROG -r -c 'lsattr' $SCRATCH_MNT/testdir | _filter_scratch
+$XFS_IO_PROG -r -c 'chattr -t' $SCRATCH_MNT/testdir
+_filter_rtinherit_flag
echo "*** create child without inherited realtime"
-touch $SCRATCH_MNT/testdir/non-realtime
-$XFS_IO_PROG -r -c 'lsattr' $SCRATCH_MNT/testdir/non-realtime | _filter_scratch
+touch $SCRATCH_MNT/testdir/unreal
+_filter_realtime_flag unreal
echo "*** done"