update 114 for new getparents interface and xfs_io parent command.
authorTim Shimmin <tes@sgi.com>
Tue, 15 Nov 2005 14:06:40 +0000 (14:06 +0000)
committerTim Shimmin <tes@sgi.com>
Tue, 15 Nov 2005 14:06:40 +0000 (14:06 +0000)
Merge of master-melb:xfs-cmds:24430a by kenmcd.

  update 114 for new getparents interface and xfs_io parent command.

114
114.out

diff --git a/114 b/114
index 9b713d3ca20252207f8945b81349f090ec1db42c..b5c7da32a4310ac76913d4f859296441c1625186 100755 (executable)
--- a/114
+++ b/114
@@ -24,45 +24,25 @@ _cleanup()
     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
-#
 
+_check_paths()
+{
+       _path=$1 # might want to only check this path
+
+       echo ""
+       echo "Check parent"
+       if ! xfs_io -x -c 'parent -c' $SCRATCH_MNT | _filter_num; then
+               exit 1
+       fi
+}
 
 _print_names()
 {
-       typeset path
-       path=$1
-
        echo ""
-       echo "Print out hardlink names for given path, $path"
+       echo "Print out hardlink names for given path, $1"
        echo ""
 
-       # get out the ea name
-       attr -Fl $path | tee $tmp.attr1
-       cat $tmp.attr1 |\
-       sed -e 's/"//g' |\
-       nawk >$tmp.attr2 '/^Attribute/ { print $2, $3; next }'
-
-       while read ino cnt; do
-               eaname="$ino $cnt"
-
-               # use the ea name to get the filename value
-               attr -Fg "$eaname" $path
-
-               # use the ea name to get the pathname value
-               attr -Pg "$eaname" $path
-       done < $tmp.attr2
+       xfs_io -x -c parent $1 | awk '/p_ino.*=/ {$3 = "inodeXXX"; print; next} {print}' 
 }
 
 _test_create()
@@ -86,89 +66,10 @@ _test_create()
        p=dir2/dir3/dir4/file4
        touch $p
 
-       _print_names $p >>$here/$seq.full
-
-       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/$p
-}
-
-_get_ea_fields()
-{
-       # get out the ea name components for all the hardlinks
-       attr -Fl $1 |\
-       tee -a $here/$seq.full |\
-       sed -e 's/"//g' |\
-       nawk '/^Attribute/ { print $2, $3; next }'
-}
-
-_parent_path()
-{
-       # given: abc/def/ghi/jkl
-       # want:  abc/def/ghi
-       child=$1
-       parent=`echo $child | sed -e 's#/[^/]*$##'`
-
-       # issue of path starting with '/' or not
-        # relatives paths wouldn't and we need to handle this
-       if [ $child = $parent ]; then
-               echo ""
-       else
-               echo $parent
-       fi
-}
+       #_print_names $p >>$here/$seq.full
+       _print_names $p | tee -a $here/$seq.full
 
-#
-# Go thru each component of the hierarchy and compare 
-# inode# from "stat -i" with the ino from the parent EA name
-#
-# So I need to be given a path and go thru compenent by component.
-# e.g. a/b/c/d/e
-# Need to look at: a a/b a/b/c a/b/c/d
-#
-# Also need to do this for all the hardlinks
-#
-_check_parentinos_path()
-{
-        mntpt=$1
-       path=$2
-       parent="$path"
-
-        # representing all the hard links for a particular path
-
-       _get_ea_fields $path |\
-       while read parent_ino cnt; do
-
-               while [ "$parent" != "$mntpt" ]; do
-                       # compare paths
-                       eaname="$parent_ino $cnt"
-                       eavalue=`attr -qPg "$eaname" $parent`
-                       parentrel=`echo $parent | sed -e "s#^$mntpt##"`
-                       if [ "$eavalue" = "$parentrel" ]; then
-                               echo "EA path $eavalue matches on path"
-                       else
-                               $verbose && echo "EA path mismatch on $parentrel: $eavalue"
-                               break # maybe wrong hardlink
-                       fi
-
-                       # compare parent_ino from ea-name with parent-ino from
-                       # actual parent dir using stat
-
-                       parent=`_parent_path $parent`
-                       parent_ino_dec=`printf "%d" 0x$parent_ino` # decimal version (not hex)
-                       stat_ino=`stat -iq $parent`
-
-                       if [ "$parent_ino_dec" = "$stat_ino" ]; then
-                               echo "parent ino $parent_ino_dec matches"
-                       else
-                               echo "parent ino mismatch on $parent: EA=$parent_ino_dec stat=$stat_ino"
-                       fi
-
-
-                       # go onto next subdir up the path
-                       line=`_get_ea_fields $parent`
-                       parent_ino=`echo $line | cut -f1 -d' '`  # 1st field
-                       cnt=`echo $line | cut -f2 -d' '`         # 2nd field
-               done
-       done
+       _check_paths $SCRATCH_MNT/$p
 }
 
 _test_symlink()
@@ -185,10 +86,10 @@ _test_symlink()
        ln symlink1 hlink1
        ln symlink1 hlink2
        ln symlink1 hlink3
-       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/symlink1
-       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/hlink1
-       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/hlink2
-       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/hlink3
+       _check_paths $SCRATCH_MNT/symlink1
+       _check_paths $SCRATCH_MNT/hlink1
+       _check_paths $SCRATCH_MNT/hlink2
+       _check_paths $SCRATCH_MNT/hlink3
 }
 
 #
@@ -223,9 +124,10 @@ _test_hardlink()
        echo ""
        for x in $paths; do
                _print_names $x | tee -a $here/$seq.full
-               _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/$x
+               _check_paths $SCRATCH_MNT/$x
        done
 
+
        echo ""
        echo "now try removing half of the hardlinks"
        echo ""
@@ -245,9 +147,8 @@ _test_hardlink()
        echo ""
        for x in $paths; do
                if [ -e $x ]; then 
-echo "looking at $x"
                        _print_names $x | tee -a $here/$seq.full
-                       _check_parentinos_path $SCRATCH_MNT $SCRATCH_MNT/$x
+                       _check_paths $SCRATCH_MNT/$x
                fi
        done
 
@@ -277,14 +178,14 @@ _test_rename()
        p2=$d1/f2
        touch $p1
        mv $p1 $p2
-       _check_parentinos_path $SCRATCH_MNT $p2
+       _check_paths $p2
 
        echo ""
        echo "2. in dir, file1 to file2 where file2 does exist" 
        echo ""
        touch $p1
        mv $p1 $p2
-       _check_parentinos_path $SCRATCH_MNT $p2
+       _check_paths $p2
 
        echo ""
        echo "3. dir/file1 to dir2/file2 where file2 does not exist"
@@ -294,7 +195,7 @@ _test_rename()
        p3=$d2/f3
        touch $p1
        mv $p1 $p3
-       _check_parentinos_path $SCRATCH_MNT $p3
+       _check_paths $p3
 
        echo ""
        echo "4. dir/file1 to dir2/file2 where file2 does exist"
@@ -303,19 +204,19 @@ _test_rename()
        p3=$d2/f3
        touch $p1
        mv $p1 $p3
-       _check_parentinos_path $SCRATCH_MNT $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_parentinos_path $SCRATCH_MNT $d3
+       _check_paths $d3
 }
 
 _filter_num()
 {
-       tee -a $seq.full |\
+       tee -a $here/$seq.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/'
@@ -344,8 +245,7 @@ _test_fsstress()
                status=1
        fi
 
-       xfs_repair_ipaths -n $SCRATCH_MNT | _filter_num
-       xfs_check_ipaths $SCRATCH_MNT | _filter_num
+       _check_paths
 }
 
 
@@ -387,8 +287,7 @@ _test_dirstress()
                exit
        fi
 
-       xfs_repair_ipaths -n $SCRATCH_MNT | _filter_num
-       xfs_check_ipaths $SCRATCH_MNT | _filter_num
+       _check_paths
 }
 
 # get standard environment, filters and checks
@@ -399,15 +298,16 @@ _supported_fs xfs
 _supported_os IRIX
 
 _require_scratch
+_need_to_be_root
 
 rm -f $here/$seq.full
 
 echo "mkfs"
 _scratch_mkfs_xfs >>$here/$seq.full 2>&1 \
     || _fail "mkfs scratch failed"
-export MKFS_OPTIONS="$MKFS_OPTIONS -i paths=1"
+export MKFS_OPTIONS="$MKFS_OPTIONS -i parent=1"
 _scratch_mkfs_xfs >>$here/$seq.full 2>&1 \
-    || _notrun "i_paths not supported"
+    || _notrun "parent inodes not supported"
 
 echo "mount"
 _scratch_mount >>$here/$seq.full 2>&1 \
@@ -417,8 +317,6 @@ _scratch_mount >>$here/$seq.full 2>&1 \
 
 verbose=false
 
-# initial testing with scripting and modified attr(1)
-# in order to test parent EAs
 _test_create
 _test_hardlink
 _test_rename
diff --git a/114.out b/114.out
index f71596a353135def2d7eb382b48e4312e3f256f7..2549cf285f493b4f38224e30e8a9e845c19dfb60 100644 (file)
--- a/114.out
+++ b/114.out
@@ -4,14 +4,16 @@ mount
 
 Testing create
 
-EA path /dir2/dir3/dir4/file4 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+
+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
 
@@ -21,279 +23,207 @@ print out names and check after created hardlinks
 
 Print out hardlink names for given path, dir2/dir3/dir4/l1
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir3/dir4/l1:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir3/dir4/l1:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir3/dir4/l1:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir3/dir4/l1:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir3/dir4/l1:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir3/dir4/l1:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir3/dir4/l1:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir3/dir4/l1 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir3/dir4/l2:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir3/dir4/l2:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir3/dir4/l2:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir3/dir4/l2:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir3/dir4/l2:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir3/dir4/l2:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir3/dir4/l2:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir3/dir4/l2:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir3/dir4/l2:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir3/dir4/l2 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir3/dir4/l3:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir3/dir4/l3:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir3/dir4/l3:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir3/dir4/l3:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir3/dir4/l3:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir3/dir4/l3:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir3/dir4/l3:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir3/dir4/l3 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir5/dir6/l4
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir5/dir6/l4:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir5/dir6/l4:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir5/dir6/l4:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir5/dir6/l4:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir5/dir6/l4:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir5/dir6/l4:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir5/dir6/l4:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir5/dir6/l4:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir5/dir6/l4:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir5/dir6/l4 matches on path
-parent ino 2116480 matches
-EA path /dir2/dir5/dir6 matches on path
-parent ino 1572992 matches
-EA path /dir2/dir5 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir5/dir6/l5:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir5/dir6/l5:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir5/dir6/l5:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir5/dir6/l5:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir5/dir6/l5:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir5/dir6/l5:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir5/dir6/l5:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir5/dir6/l5 matches on path
-parent ino 2116480 matches
-EA path /dir2/dir5/dir6 matches on path
-parent ino 1572992 matches
-EA path /dir2/dir5 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000100080 0000000000000003" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000007" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" has a 2 byte value for dir2/dir5/dir6/l6
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir5/dir6/l6:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000003" had a 2 byte value for dir2/dir5/dir6/l6:
-l2
-Attribute "0000000000100080 0000000000000003" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir3/dir4/l2
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir5/dir6/l6:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir5/dir6/l6:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir5/dir6/l6:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir5/dir6/l6:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000007" had a 2 byte value for dir2/dir5/dir6/l6:
-l6
-Attribute "0000000000204b80 0000000000000007" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir5/dir6/l6
-Attribute "0000000000204b80 0000000000000005" had a 2 byte value for dir2/dir5/dir6/l6:
-l4
-Attribute "0000000000204b80 0000000000000005" had a 18 byte value for dir2/dir5/dir6/l6:
-/dir2/dir5/dir6/l4
-EA path /dir2/dir5/dir6/l6 matches on path
-parent ino 2116480 matches
-EA path /dir2/dir5/dir6 matches on path
-parent ino 1572992 matches
-EA path /dir2/dir5 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
@@ -303,190 +233,133 @@ rm'ing dir2/dir5/dir6/l6
 
 print out names and check after removed hardlinks
 
-looking at dir2/dir3/dir4/l1
 
 Print out hardlink names for given path, dir2/dir3/dir4/l1
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir3/dir4/l1:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir3/dir4/l1:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir3/dir4/l1:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir3/dir4/l1:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir3/dir4/l1:
-/dir2/dir5/dir6/l5
-EA path /dir2/dir3/dir4/l1 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
-looking at 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/dir3/dir4/l3
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir3/dir4/l3
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir3/dir4/l3:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir3/dir4/l3:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir3/dir4/l3:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir3/dir4/l3:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir3/dir4/l3:
-/dir2/dir5/dir6/l5
-EA path /dir2/dir3/dir4/l3 matches on path
-parent ino 1048704 matches
-EA path /dir2/dir3/dir4 matches on path
-parent ino 524416 matches
-EA path /dir2/dir3 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
-looking at 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
 
 Print out hardlink names for given path, dir2/dir5/dir6/l5
 
-Attribute "0000000000100080 0000000000000002" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000001" has a 5 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000004" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000204b80 0000000000000006" has a 2 byte value for dir2/dir5/dir6/l5
-Attribute "0000000000100080 0000000000000002" had a 2 byte value for dir2/dir5/dir6/l5:
-l1
-Attribute "0000000000100080 0000000000000002" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/l1
-Attribute "0000000000100080 0000000000000001" had a 5 byte value for dir2/dir5/dir6/l5:
-file4
-Attribute "0000000000100080 0000000000000001" had a 21 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/file4
-Attribute "0000000000100080 0000000000000004" had a 2 byte value for dir2/dir5/dir6/l5:
-l3
-Attribute "0000000000100080 0000000000000004" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir3/dir4/l3
-Attribute "0000000000204b80 0000000000000006" had a 2 byte value for dir2/dir5/dir6/l5:
-l5
-Attribute "0000000000204b80 0000000000000006" had a 18 byte value for dir2/dir5/dir6/l5:
-/dir2/dir5/dir6/l5
-EA path /dir2/dir5/dir6/l5 matches on path
-parent ino 2116480 matches
-EA path /dir2/dir5/dir6 matches on path
-parent ino 1572992 matches
-EA path /dir2/dir5 matches on path
-parent ino 132 matches
-EA path /dir2 matches on path
-parent ino 128 matches
+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
 
-EA path /ren1/ren2/ren3/ren4/f2 matches on path
-parent ino 134 matches
-EA path /ren1/ren2/ren3/ren4 matches on path
-parent ino 3670144 matches
-EA path /ren1/ren2/ren3 matches on path
-parent ino 3145856 matches
-EA path /ren1/ren2 matches on path
-parent ino 2621568 matches
-EA path /ren1 matches on path
-parent ino 128 matches
+
+Check parent
+succeeded checking I inodes
 
 2. in dir, file1 to file2 where file2 does exist
 
-EA path /ren1/ren2/ren3/ren4/f2 matches on path
-parent ino 134 matches
-EA path /ren1/ren2/ren3/ren4 matches on path
-parent ino 3670144 matches
-EA path /ren1/ren2/ren3 matches on path
-parent ino 3145856 matches
-EA path /ren1/ren2 matches on path
-parent ino 2621568 matches
-EA path /ren1 matches on path
-parent ino 128 matches
+
+Check parent
+succeeded checking I inodes
 
 3. dir/file1 to dir2/file2 where file2 does not exist
 
-EA path /ren1/ren2/ren3/ren5/f3 matches on path
-parent ino 524418 matches
-EA path /ren1/ren2/ren3/ren5 matches on path
-parent ino 3670144 matches
-EA path /ren1/ren2/ren3 matches on path
-parent ino 3145856 matches
-EA path /ren1/ren2 matches on path
-parent ino 2621568 matches
-EA path /ren1 matches on path
-parent ino 128 matches
+
+Check parent
+succeeded checking I inodes
 
 4. dir/file1 to dir2/file2 where file2 does exist
 
-EA path /ren1/ren2/ren3/ren5/f3 matches on path
-parent ino 524418 matches
-EA path /ren1/ren2/ren3/ren5 matches on path
-parent ino 3670144 matches
-EA path /ren1/ren2/ren3 matches on path
-parent ino 3145856 matches
-EA path /ren1/ren2 matches on path
-parent ino 2621568 matches
-EA path /ren1 matches on path
-parent ino 128 matches
+
+Check parent
+succeeded checking I inodes
 
 5. dir to dir2 where dir2 does not exist
 
-EA path /ren1/ren2/ren3/ren6 matches on path
-parent ino 3670144 matches
-EA path /ren1/ren2/ren3 matches on path
-parent ino 3145856 matches
-EA path /ren1/ren2 matches on path
-parent ino 2621568 matches
-EA path /ren1 matches on path
-parent ino 128 matches
+
+Check parent
+succeeded checking I inodes
 
 Testing symlink
 
-EA path /symlink1 matches on path
-parent ino 128 matches
-EA path /hlink1 matches on path
-parent ino 128 matches
-EA path /hlink2 matches on path
-parent ino 128 matches
-EA path /hlink3 matches on path
-parent ino 128 matches
+
+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
 
 ltp/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
-succeeded checking P paths
+
+Check parent
 succeeded checking I inodes
 
 Testing dirstress
 
 src/dirstress -d outdir -f 1000 -k -p 3 -n 1
 src/dirstress -d outdir -f 1000 -k -p 3 -n 5
-succeeded checking P paths
+
+Check parent
 succeeded checking I inodes