tests: remove xfs/114 and xfs/115

These two IRIX and XFS-specific tests tested the "parent pointer"
feature which is not implemented by XFS on Linux.  Just remove them.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Eric Biggers
2017-07-20 21:22:04 -07:00
committed by Eryu Guan
parent 27518372dc
commit 1ce90e01a7
5 changed files with 0 additions and 1082 deletions
-340
View File
@@ -1,340 +0,0 @@
#! /bin/bash
# FS QA Test No. 114
#
# Test some parent ptr stuff
#
#-----------------------------------------------------------------------
# Copyright (c) 2005 Silicon Graphics, Inc. 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
#
#-----------------------------------------------------------------------
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
_check_paths()
{
_path=$1 # might want to only check this path
sync; sleep 1
echo ""
echo "Check parent"
if ! $XFS_IO_PROG -x -c 'parent -c' $SCRATCH_MNT | _filter_num; then
exit 1
fi
}
_print_names()
{
echo ""
echo "Print out hardlink names for given path, $1"
echo ""
$XFS_IO_PROG -x -c parent $1 | awk '/p_ino.*=/ {$3 = "inodeXXX"; print; next} {print}'
}
_test_create()
{
echo ""
echo "Testing create"
echo ""
# Test out some creations
cd $SCRATCH_MNT
touch file1
mkdir dir2
touch dir2/file2
mkdir dir2/dir3
touch dir2/dir3/file3
mkdir dir2/dir3/dir4
p=dir2/dir3/dir4/file4
touch $p
#_print_names $p >>$seqres.full
_print_names $p | tee -a $seqres.full
_check_paths $SCRATCH_MNT/$p
}
_test_symlink()
{
echo ""
echo "Testing symlink"
echo ""
d=sym1/sym2/sym3
f=$d/sym4_f
mkdir -p $d
ln -s $f symlink1
ln symlink1 hlink1
ln symlink1 hlink2
ln symlink1 hlink3
_check_paths $SCRATCH_MNT/symlink1
_check_paths $SCRATCH_MNT/hlink1
_check_paths $SCRATCH_MNT/hlink2
_check_paths $SCRATCH_MNT/hlink3
}
#
# create hardlinks from the same dir
# and some from different dirs
#
# test out removing hardlinks too
#
_test_hardlink()
{
echo ""
echo "Testing hardlink"
echo ""
d=dir2/dir3/dir4
d2=dir2/dir5/dir6
mkdir -p $d
mkdir -p $d2
p=$d/file4
touch $p
# create hardlinks
paths="$d/l1 $d/l2 $d/l3 $d2/l4 $d2/l5 $d2/l6"
for x in $paths; do
ln $p $x
done
_print_names $p >>$seqres.full
echo ""
echo "print out names and check after created hardlinks"
echo ""
for x in $paths; do
_print_names $x | tee -a $seqres.full
_check_paths $SCRATCH_MNT/$x
done
echo ""
echo "now try removing half of the hardlinks"
echo ""
paths="$d/l1 $d/l2 $d/l3 $d2/l4 $d2/l5 $d2/l6"
i=0
for x in $paths; do
let i=$i+1
let j=$i%2
if [ $j -eq 0 ]; then
echo "rm'ing $x"
rm $x
fi
done
echo ""
echo "print out names and check after removed hardlinks"
echo ""
for x in $paths; do
if [ -e $x ]; then
_print_names $x | tee -a $seqres.full
_check_paths $SCRATCH_MNT/$x
fi
done
}
#
# in dir, file1 to file2 where file2 does not exist
# in dir, file1 to file2 where file2 does exist
# dir/file1 to dir2/file2 where file2 does not exist
# dir/file1 to dir2/file2 where file2 does exist
# dir to dir2 where dir2 does not exist
# dir to dir/dir3 - not allowed
#
_test_rename()
{
echo ""
echo "Testing rename"
echo ""
echo ""
echo "1. in dir, file1 to file2 where file2 does not exist"
echo ""
d1=$SCRATCH_MNT/ren1/ren2/ren3/ren4
mkdir -p $d1
p1=$d1/f1
p2=$d1/f2
touch $p1
mv $p1 $p2
_check_paths $p2
echo ""
echo "2. in dir, file1 to file2 where file2 does exist"
echo ""
touch $p1
mv $p1 $p2
_check_paths $p2
echo ""
echo "3. dir/file1 to dir2/file2 where file2 does not exist"
echo ""
d2=$SCRATCH_MNT/ren1/ren2/ren3/ren5
mkdir -p $d2
p3=$d2/f3
touch $p1
mv $p1 $p3
_check_paths $p3
echo ""
echo "4. dir/file1 to dir2/file2 where file2 does exist"
echo ""
d2=$SCRATCH_MNT/ren1/ren2/ren3/ren5
p3=$d2/f3
touch $p1
mv $p1 $p3
_check_paths $p3
echo ""
echo "5. dir to dir2 where dir2 does not exist"
echo ""
d3=$SCRATCH_MNT/ren1/ren2/ren3/ren6
mv $d1 $d3
_check_paths $d3
}
_filter_num()
{
tee -a $seqres.full |\
sed -e 's/[0-9][0-9]* inodes/I inodes/g' \
-e 's/[0-9][0-9]* paths/P paths/g' \
-e 's/seed = [0-9][0-9]*/seed = S/'
}
_test_fsstress()
{
echo ""
echo "Testing fsstress"
echo ""
out=$SCRATCH_MNT/fsstress.$$
count=1000
args=`_scale_fsstress_args -z \
-f rmdir=10 -f link=10 -f creat=10 \
-f mkdir=10 -f rename=30 -f unlink=10 \
-f symlink=10 \
-n $count -d $out -p 3`
echo "fsstress $args" | sed -e "s#$out#outdir#"
if ! $FSSTRESS_PROG $args | _filter_num
then
echo " fsstress $args returned $?"
cat $tmp.out | tee -a $seqres.full
status=1
fi
_check_paths
}
_test_dirstress()
{
echo ""
echo "Testing dirstress"
echo ""
out=$SCRATCH_MNT/dirstress.$$
count=1000
if ! mkdir $out
then
echo "!! couldn't mkdir $out"
status=1
exit
fi
args="-d $out -f $count -k -p 3 -n 1"
echo "dirstress $args" | sed -e "s#$out#outdir#"
if ! $here/src/dirstress $args >$tmp.out 2>&1 | _filter_num
then
echo " dirstress failed"
echo "*** dirstress $args" | tee -a $seqres.full
cat $tmp.out >>$seqres.full
status=1
exit
fi
args="-d $out -f $count -k -p 3 -n 5"
echo "dirstress $args" | sed -e "s#$out#outdir#"
if ! $here/src/dirstress $args >$tmp.out 2>&1 | _filter_num
then
echo " dirstress failed"
echo "*** dirstress $args" | tee -a $seqres.full
cat $tmp.out >>$seqres.full
status=1
exit
fi
_check_paths
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/attr
_supported_fs xfs
_supported_os IRIX
_require_scratch
_require_attrs
rm -f $seqres.full
echo "mkfs"
_scratch_mkfs_xfs >>$seqres.full 2>&1 \
|| _fail "mkfs scratch failed"
_scratch_mkfs_xfs -i parent=1 >>$seqres.full 2>&1 \
|| _notrun "parent inodes not supported"
echo "mount"
_scratch_mount >>$seqres.full 2>&1 \
|| _fail "mount failed: $MOUNT_OPTIONS"
# real QA test starts here
verbose=false
_test_create
_test_hardlink
_test_rename
_test_symlink
# stress testing with verification by parent checking programs
_test_fsstress
_test_dirstress
# success, all done
status=0
exit
-365
View File
@@ -1,365 +0,0 @@
QA output created by 114
mkfs
mount
Testing create
Print out hardlink names for given path, dir2/dir3/dir4/file4
p_ino = inodeXXX
p_gen = 2
p_reclen = 24
p_name = "file4"
Check parent
succeeded checking I inodes
Testing hardlink
print out names and check after created hardlinks
Print out hardlink names for given path, dir2/dir3/dir4/l1
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir3/dir4/l2
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir3/dir4/l3
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir5/dir6/l4
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir5/dir6/l5
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir5/dir6/l6
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l4"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l6"
p_ino = inodeXXX
p_gen = 4
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l2"
p_ino = inodeXXX
p_gen = 5
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
now try removing half of the hardlinks
rm'ing dir2/dir3/dir4/l2
rm'ing dir2/dir5/dir6/l4
rm'ing dir2/dir5/dir6/l6
print out names and check after removed hardlinks
Print out hardlink names for given path, dir2/dir3/dir4/l1
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir3/dir4/l3
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Print out hardlink names for given path, dir2/dir5/dir6/l5
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l5"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "file4"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l1"
p_ino = inodeXXX
p_gen = 6
p_reclen = 24
p_name = "l3"
Check parent
succeeded checking I inodes
Testing rename
1. in dir, file1 to file2 where file2 does not exist
Check parent
succeeded checking I inodes
2. in dir, file1 to file2 where file2 does exist
Check parent
succeeded checking I inodes
3. dir/file1 to dir2/file2 where file2 does not exist
Check parent
succeeded checking I inodes
4. dir/file1 to dir2/file2 where file2 does exist
Check parent
succeeded checking I inodes
5. dir to dir2 where dir2 does not exist
Check parent
succeeded checking I inodes
Testing symlink
Check parent
succeeded checking I inodes
Check parent
succeeded checking I inodes
Check parent
succeeded checking I inodes
Check parent
succeeded checking I inodes
Testing fsstress
fsstress -z -f rmdir=10 -f link=10 -f creat=10 -f mkdir=10 -f rename=30 -f unlink=10 -f symlink=10 -n 1000 -d outdir -p 3
seed = S
Check parent
succeeded checking I inodes
Testing dirstress
dirstress -d outdir -f 1000 -k -p 3 -n 1
dirstress -d outdir -f 1000 -k -p 3 -n 5
Check parent
succeeded checking I inodes
-257
View File
@@ -1,257 +0,0 @@
#! /bin/bash
# FS QA Test No. 115
#
# Test out xfs_repair_ipaths
#
#-----------------------------------------------------------------------
# Copyright (c) 2005 Silicon Graphics, Inc. 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
#
#-----------------------------------------------------------------------
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# Example output:
#
# ~/attr -Fl a/b/c/d/foo
# Attribute "0000000000180080 0000000000000001" has a 3 byte value for a/b/c/d/foo
#
# ~/attr -Fg "0000000000180080 0000000000000001" a/b/c/d/foo
# Attribute "0000000000180080 0000000000000001" had a 3 byte value for a/b/c/d/foo:
# foo
#
# ~/attr -Pg "0000000000180080 0000000000000001" a/b/c/d/foo
# Attribute "0000000000180080 0000000000000001" had a 12 byte value for a/b/c/d/foo:
# /a/b/c/d/foo
#
#
# filter out inode numbers to ordinal numbers
# (assumes they come in order)
#
_filter_inodes()
{
find $SCRATCH_MNT -exec stat -iq {} \; >$tmp.inodes
sed -e 's/[()]//g' \
-e 's/Attribute "[0-9][0-9]*/Attribute "INODE/' \
| nawk -v inodefile=$tmp.inodes '
BEGIN {
i=0
while (getline < inodefile > 0) {
i++
inodemap[$1] = i
}
}
/inode:/ {
for (i = 1; i <= NF; i++) {
nextone = i+1
if ($i == "inode:") {
$nextone = inodemap[$nextone]
}
printf "%s ", $i
}
printf "\n"
next
}
{ print }
'
}
_filter()
{
sed -e 's/inode: \([0-9][0-9]*\)/inode: N/g' \
-e 's/Attribute "[0-9][0-9]*/Attribute "INODE/'
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/attr
_supported_fs xfs
_supported_os IRIX
_require_scratch
_require_attrs
rm -f $seqres.full
echo "mkfs"
_scratch_mkfs_xfs >>$seqres.full 2>&1 \
|| _fail "mkfs scratch failed"
_scratch_mkfs_xfs -i paths=1 >>$seqres.full 2>&1 \
|| _notrun "i_paths not supported"
echo "mount"
_scratch_mount >>$seqres.full 2>&1 \
|| _fail "mount failed: $MOUNT_OPTIONS"
# real QA test starts here
verbose=false
echo ""
echo "--- create some files and directories to work on ---"
echo ""
cd $SCRATCH_MNT
d=dir2/dir3/dir4
mkdir -p $d
touch file1
touch dir2/file2
touch dir2/dir3/file3
touch $d/file4
touch $d/file5
touch $d/file6
touch $d/file7
touch $d/file8
touch $d/file9
_do_test()
{
echo ""
echo "--- check all is ok before we start ---"
echo ""
xfs_check_ipaths $SCRATCH_MNT
xfs_repair_ipaths -n $SCRATCH_MNT
echo ""
echo "--- now break some stuff ---"
echo ""
cnt=1
echo ""
echo "1. remove the EA"
echo ""
${ATTR_PROG} -Fl dir2/file2
stat_ino=`stat -iq dir2`
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
#echo "attrname = $attrname"
${ATTR_PROG} -Fr "$attrname" dir2/file2
${ATTR_PROG} -Fl dir2/file2
echo ""
echo "2. change the EA name"
echo ""
${ATTR_PROG} -Fl dir2/dir3/file3
stat_ino=100
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
attrvalue=file3
${ATTR_PROG} -Fs "$attrname" -V $attrvalue dir2/dir3/file3
${ATTR_PROG} -Fl dir2/dir3/file3
echo ""
echo "3. change the EA value"
echo ""
${ATTR_PROG} -Fl $d/file4
stat_ino=`stat -iq $d`
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
attrvalue=woopdydoo
${ATTR_PROG} -Fs "$attrname" -V "$attrvalue" $d/file4
${ATTR_PROG} -Fl $d/file4
${ATTR_PROG} -Fg "$attrname" $d/file4
echo ""
echo "4. add an extra EA - diff name, same value"
echo ""
${ATTR_PROG} -Fl $d/file5
stat_ino=100
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
attrvalue=file5
${ATTR_PROG} -Fs "$attrname" -V $attrvalue $d/file5
${ATTR_PROG} -Fl $d/file5
${ATTR_PROG} -Fg "$attrname" $d/file5
echo ""
echo "5. add an extra EA - diff name, diff value"
echo ""
${ATTR_PROG} -Fl $d/file6
stat_ino=100
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
attrvalue=file600
${ATTR_PROG} -Fs "$attrname" -V $attrvalue $d/file6
${ATTR_PROG} -Fl $d/file6
${ATTR_PROG} -Fg "$attrname" $d/file6
echo ""
echo "6. give bad fmt'ed EA name and get rid of existing name"
echo ""
attrname=woof
attrvalue=file7
${ATTR_PROG} -Fs "$attrname" -V $attrvalue $d/file7
# remove old attrname
cnt=1
stat_ino=`stat -iq $d`
attrname=`printf "%.16x %.16x" $stat_ino $cnt`
${ATTR_PROG} -Fr "$attrname" $d/file7
echo ""
echo "--- now check it ---"
echo ""
echo ""
echo "xfs_check_ipaths"
echo ""
xfs_check_ipaths $SCRATCH_MNT
echo ""
echo "xfs_repair_ipaths"
echo ""
xfs_repair_ipaths -n $SCRATCH_MNT
echo ""
echo "--- now repair it ---"
echo ""
echo ""
echo "xfs_repair_ipaths"
echo ""
xfs_repair_ipaths $SCRATCH_MNT
echo ""
echo "--- now check it again ---"
echo ""
echo ""
echo ""
echo "xfs_check_ipaths"
echo ""
xfs_check_ipaths $SCRATCH_MNT
echo ""
echo "xfs_repair_ipaths"
echo ""
xfs_repair_ipaths -n $SCRATCH_MNT
}
_do_test 2>&1 | tee $seqres.full | _filter_inodes
# success, all done
status=0
exit
-118
View File
@@ -1,118 +0,0 @@
QA output created by 115
mkfs
mount
--- create some files and directories to work on ---
--- check all is ok before we start ---
succeeded checking 13 inodes
succeeded checking 13 paths
--- now break some stuff ---
1. remove the EA
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/file2
2. change the EA name
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
Attribute "INODE 0000000000000001" set to a 5 byte value for dir2/dir3/file3:
file3
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/file3
3. change the EA value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file4
Attribute "INODE 0000000000000001" set to a 9 byte value for dir2/dir3/dir4/file4:
woopdydoo
Attribute "INODE 0000000000000001" has a 9 byte value for dir2/dir3/dir4/file4
Attribute "INODE 0000000000000001" had a 9 byte value for dir2/dir3/dir4/file4:
woopdydoo
4. add an extra EA - diff name, same value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" set to a 5 byte value for dir2/dir3/dir4/file5:
file5
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file5
Attribute "INODE 0000000000000001" had a 5 byte value for dir2/dir3/dir4/file5:
file5
5. add an extra EA - diff name, diff value
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" set to a 7 byte value for dir2/dir3/dir4/file6:
file600
Attribute "INODE 0000000000000001" has a 5 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" has a 7 byte value for dir2/dir3/dir4/file6
Attribute "INODE 0000000000000001" had a 7 byte value for dir2/dir3/dir4/file6:
file600
6. give bad fmt'ed EA name and get rid of existing name
Attribute "woof" set to a 5 byte value for dir2/dir3/dir4/file7:
file7
--- now check it ---
xfs_check_ipaths
inode-path for inode: 12 is missing
inode-path for inode: 11 is incorrect - bad parent inode#
inode-path for inode: 5 is incorrect - path non-existent
inode-path for inode: 6 is incorrect - bad parent inode#
inode-path for inode: 7 is incorrect - bad parent inode#
inode-path for inode: 8 is corrupted
num errors: 6
xfs_repair_ipaths
path "/mnt/scratch/dir2/dir3/dir4/file4" inode: 5 doesn't have an associated inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 has corrupted inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 doesn't have an associated inode-path
path "/mnt/scratch/dir2/file2" inode: 12 doesn't have an associated inode-path
extra inode-path for inode: 5
extra inode-path for inode: 6
extra inode-path for inode: 7
extra inode-path for inode: 11
--- now repair it ---
xfs_repair_ipaths
path "/mnt/scratch/dir2/dir3/dir4/file4" inode: 5 doesn't have an associated inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 has corrupted inode-path
path "/mnt/scratch/dir2/dir3/dir4/file7" inode: 8 doesn't have an associated inode-path
path "/mnt/scratch/dir2/file2" inode: 12 doesn't have an associated inode-path
extra inode-path for inode: 5
extra inode-path for inode: 6
extra inode-path for inode: 7
extra inode-path for inode: 11
repairing inode-path on "/mnt/scratch/dir2/dir3/dir4/file4"
repairing by removing bad inode-path on "/mnt/scratch/dir2/dir3/dir4/file7"
repairing inode-path on "/mnt/scratch/dir2/dir3/dir4/file7"
repairing inode-path on "/mnt/scratch/dir2/file2"
repairing: removing extra inode-path for inode: 5
repairing: removing extra inode-path for inode: 6
repairing: removing extra inode-path for inode: 7
repairing: removing extra inode-path for inode: 11
--- now check it again ---
xfs_check_ipaths
succeeded checking 13 inodes
xfs_repair_ipaths
succeeded checking 13 paths
-2
View File
@@ -111,8 +111,6 @@
111 ioctl 111 ioctl
112 fuzzers 112 fuzzers
113 fuzzers 113 fuzzers
114 parent attr stress
115 parent attr
116 quota auto quick 116 quota auto quick
117 fuzzers 117 fuzzers
118 auto quick fsr dangerous 118 auto quick fsr dangerous