Merge of xfs-cmds-melb:slinx:20052a by kenmcd.
owner=dxm@sgi.com
#
-# note ELOOP limit used to be 32 but changed to 8. Who knows what
-# it might be next.
-#
+# Note1: On Linux, ELOOP limit used to be 32 but changed to 8, and lately
+# its become 5. Who knows what it might be next.
+# Note2: On IRIX, the limit is around the 30 mark.
+#
+# What we are looking for here is: no panic due to blowing the stack;
+# and that the ELOOP error code is returned at some point (the actual
+# limit point is unimportant, just checking that we do hit it).
+#
seq=`basename $0`
echo "QA output created by $seq"
_touch()
{
- touch $@ 2>&1 | sed \
- -e "s/creating \`//g" \
- -e "s/setting times of \`//g" \
- -e "s/cannot touch \`//g" \
- -e "s/'//g"
+ touch $@ 2>&1 | grep -q 'Too many levels of symbolic links'
+ if [ $? -eq 0 ]; then
+ echo "ELOOP returned. Good."
+ else
+ echo "No ELOOP? Unexpected!"
+ fi
}
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
-# link correct .out file
-_link_out_file $seq.out
-
# real QA test starts here
_supported_fs xfs udf nfs
cd $testdir
o=empty_file
-_touch $o
+touch $o
for f in symlink_{0,1,2,3}{0,1,2,3,4,5,6,7,8,9}
do
ln -s $o $f
echo ""
_touch symlink_self
-
-
exit
+QA output created by 005
+*** touch deep symlinks
+
+ELOOP returned. Good.
+
+*** touch recusive symlinks
+
+ELOOP returned. Good.
+++ /dev/null
-QA output created by 005
-*** touch deep symlinks
-
-Cannot create symlink_30: Too many symbolic links in path name traversal
-Cannot create symlink_31: Too many symbolic links in path name traversal
-Cannot create symlink_32: Too many symbolic links in path name traversal
-Cannot create symlink_33: Too many symbolic links in path name traversal
-Cannot create symlink_34: Too many symbolic links in path name traversal
-Cannot create symlink_35: Too many symbolic links in path name traversal
-Cannot create symlink_36: Too many symbolic links in path name traversal
-Cannot create symlink_37: Too many symbolic links in path name traversal
-Cannot create symlink_38: Too many symbolic links in path name traversal
-Cannot create symlink_39: Too many symbolic links in path name traversal
-
-*** touch recusive symlinks
-
-Cannot create symlink_self: Too many symbolic links in path name traversal
+++ /dev/null
-QA output created by 005
-*** touch deep symlinks
-
-touch: symlink_05: Too many levels of symbolic links
-touch: symlink_06: Too many levels of symbolic links
-touch: symlink_07: Too many levels of symbolic links
-touch: symlink_08: Too many levels of symbolic links
-touch: symlink_09: Too many levels of symbolic links
-touch: symlink_10: Too many levels of symbolic links
-touch: symlink_11: Too many levels of symbolic links
-touch: symlink_12: Too many levels of symbolic links
-touch: symlink_13: Too many levels of symbolic links
-touch: symlink_14: Too many levels of symbolic links
-touch: symlink_15: Too many levels of symbolic links
-touch: symlink_16: Too many levels of symbolic links
-touch: symlink_17: Too many levels of symbolic links
-touch: symlink_18: Too many levels of symbolic links
-touch: symlink_19: Too many levels of symbolic links
-touch: symlink_20: Too many levels of symbolic links
-touch: symlink_21: Too many levels of symbolic links
-touch: symlink_22: Too many levels of symbolic links
-touch: symlink_23: Too many levels of symbolic links
-touch: symlink_24: Too many levels of symbolic links
-touch: symlink_25: Too many levels of symbolic links
-touch: symlink_26: Too many levels of symbolic links
-touch: symlink_27: Too many levels of symbolic links
-touch: symlink_28: Too many levels of symbolic links
-touch: symlink_29: Too many levels of symbolic links
-touch: symlink_30: Too many levels of symbolic links
-touch: symlink_31: Too many levels of symbolic links
-touch: symlink_32: Too many levels of symbolic links
-touch: symlink_33: Too many levels of symbolic links
-touch: symlink_34: Too many levels of symbolic links
-touch: symlink_35: Too many levels of symbolic links
-touch: symlink_36: Too many levels of symbolic links
-touch: symlink_37: Too many levels of symbolic links
-touch: symlink_38: Too many levels of symbolic links
-touch: symlink_39: Too many levels of symbolic links
-
-*** touch recusive symlinks
-
-touch: symlink_self: Too many levels of symbolic links