Author: pjd
Date: Fri Aug  6 23:58:54 2010
New Revision: 210984
URL: http://svn.freebsd.org/changeset/base/210984

Log:
  Various cleanups, mostly to make the test work on FreeBSD/ZFS.

Modified:
  head/tools/regression/fstest/tests/chmod/08.t
  head/tools/regression/fstest/tests/chmod/09.t
  head/tools/regression/fstest/tests/chown/08.t
  head/tools/regression/fstest/tests/chown/09.t
  head/tools/regression/fstest/tests/granular/00.t
  head/tools/regression/fstest/tests/granular/01.t
  head/tools/regression/fstest/tests/granular/02.t
  head/tools/regression/fstest/tests/granular/03.t
  head/tools/regression/fstest/tests/granular/04.t
  head/tools/regression/fstest/tests/granular/05.t
  head/tools/regression/fstest/tests/link/05.t
  head/tools/regression/fstest/tests/link/12.t
  head/tools/regression/fstest/tests/link/13.t
  head/tools/regression/fstest/tests/link/14.t
  head/tools/regression/fstest/tests/link/15.t
  head/tools/regression/fstest/tests/link/16.t
  head/tools/regression/fstest/tests/mkdir/08.t
  head/tools/regression/fstest/tests/mkdir/09.t
  head/tools/regression/fstest/tests/mkdir/11.t
  head/tools/regression/fstest/tests/mkfifo/08.t
  head/tools/regression/fstest/tests/mkfifo/10.t
  head/tools/regression/fstest/tests/mkfifo/11.t
  head/tools/regression/fstest/tests/open/09.t
  head/tools/regression/fstest/tests/open/10.t
  head/tools/regression/fstest/tests/open/11.t
  head/tools/regression/fstest/tests/open/14.t
  head/tools/regression/fstest/tests/open/15.t
  head/tools/regression/fstest/tests/open/18.t
  head/tools/regression/fstest/tests/open/19.t
  head/tools/regression/fstest/tests/open/20.t
  head/tools/regression/fstest/tests/rename/06.t
  head/tools/regression/fstest/tests/rename/07.t
  head/tools/regression/fstest/tests/rename/08.t
  head/tools/regression/fstest/tests/rename/15.t
  head/tools/regression/fstest/tests/rename/16.t
  head/tools/regression/fstest/tests/rmdir/09.t
  head/tools/regression/fstest/tests/rmdir/10.t
  head/tools/regression/fstest/tests/rmdir/13.t
  head/tools/regression/fstest/tests/rmdir/14.t
  head/tools/regression/fstest/tests/symlink/09.t
  head/tools/regression/fstest/tests/symlink/10.t
  head/tools/regression/fstest/tests/symlink/11.t
  head/tools/regression/fstest/tests/truncate/08.t
  head/tools/regression/fstest/tests/truncate/10.t
  head/tools/regression/fstest/tests/truncate/11.t
  head/tools/regression/fstest/tests/unlink/09.t
  head/tools/regression/fstest/tests/unlink/10.t
  head/tools/regression/fstest/tests/unlink/12.t

Modified: head/tools/regression/fstest/tests/chmod/08.t
==============================================================================
--- head/tools/regression/fstest/tests/chmod/08.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/chmod/08.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -8,7 +8,16 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..40"
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       echo "1..22"
+       ;;
+FreeBSD:UFS)
+       echo "1..44"
+       ;;
+*)
+       quick_exit
+esac
 
 n0=`namegen`
 
@@ -18,30 +27,7 @@ expect EPERM chmod ${n0} 0600
 expect 0644 stat ${n0} mode
 expect 0 chflags ${n0} none
 expect 0 chmod ${n0} 0600
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_IMMUTABLE
-expect EPERM chmod ${n0} 0600
-expect 0644 stat ${n0} mode
-expect 0 chflags ${n0} none
-expect 0 chmod ${n0} 0600
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} SF_APPEND
-expect EPERM chmod ${n0} 0600
-expect 0644 stat ${n0} mode
-expect 0 chflags ${n0} none
-expect 0 chmod ${n0} 0600
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_APPEND
-expect EPERM chmod ${n0} 0600
-expect 0644 stat ${n0} mode
-expect 0 chflags ${n0} none
-expect 0 chmod ${n0} 0600
+expect 0600 stat ${n0} mode
 expect 0 unlink ${n0}
 
 expect 0 create ${n0} 0644
@@ -51,9 +37,50 @@ expect 0600 stat ${n0} mode
 expect 0 chflags ${n0} none
 expect 0 unlink ${n0}
 
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_NOUNLINK
-expect 0 chmod ${n0} 0600
-expect 0600 stat ${n0} mode
-expect 0 chflags ${n0} none
-expect 0 unlink ${n0}
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} SF_APPEND
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 chflags ${n0} none
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 unlink ${n0}
+       ;;
+FreeBSD:UFS)
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} SF_APPEND
+       expect EPERM chmod ${n0} 0600
+       expect 0644 stat ${n0} mode
+       expect 0 chflags ${n0} none
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_IMMUTABLE
+       expect EPERM chmod ${n0} 0600
+       expect 0644 stat ${n0} mode
+       expect 0 chflags ${n0} none
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_NOUNLINK
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_APPEND
+       expect EPERM chmod ${n0} 0600
+       expect 0644 stat ${n0} mode
+       expect 0 chflags ${n0} none
+       expect 0 chmod ${n0} 0600
+       expect 0600 stat ${n0} mode
+       expect 0 unlink ${n0}
+       ;;
+esac

Modified: head/tools/regression/fstest/tests/chmod/09.t
==============================================================================
--- head/tools/regression/fstest/tests/chmod/09.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/chmod/09.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,32 +6,27 @@ desc="chmod returns EROFS if the named f
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:${fs}" in
-FreeBSD:UFS)
-       echo "1..10"
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
+echo "1..10"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-       expect 0 chmod ${n0}/${n1} 0640
-       expect 0640 stat ${n0}/${n1} mode
-       mount -ur /dev/md${n}
-       expect EROFS chmod ${n0}/${n1} 0600
-       expect 0640 stat ${n0}/${n1} mode
-       mount -uw /dev/md${n}
-       expect 0 chmod ${n0}/${n1} 0600
-       expect 0600 stat ${n0}/${n1} mode
-       expect 0 unlink ${n0}/${n1}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+n0=`namegen`
+n1=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+expect 0 chmod ${n0}/${n1} 0640
+expect 0640 stat ${n0}/${n1} mode
+mount -ur /dev/md${n}
+expect EROFS chmod ${n0}/${n1} 0600
+expect 0640 stat ${n0}/${n1} mode
+mount -uw /dev/md${n}
+expect 0 chmod ${n0}/${n1} 0600
+expect 0600 stat ${n0}/${n1} mode
+expect 0 unlink ${n0}/${n1}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/chown/08.t
==============================================================================
--- head/tools/regression/fstest/tests/chown/08.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/chown/08.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -8,46 +8,77 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..34"
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       echo "1..20"
+       ;;
+FreeBSD:UFS)
+       echo "1..44"
+       ;;
+*)
+       quick_exit
+esac
 
 n0=`namegen`
 
 expect 0 create ${n0} 0644
 expect 0 chflags ${n0} SF_IMMUTABLE
 expect EPERM chown ${n0} 65534 65534
+expect 0,0 stat ${n0} uid,gid
 expect 0 chflags ${n0} none
 expect 0 chown ${n0} 65534 65534
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_IMMUTABLE
-expect EPERM chown ${n0} 65534 65534
-expect 0 chflags ${n0} none
-expect 0 chown ${n0} 65534 65534
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} SF_APPEND
-expect EPERM chown ${n0} 65534 65534
-expect 0 chflags ${n0} none
-expect 0 chown ${n0} 65534 65534
-expect 0 unlink ${n0}
-
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_APPEND
-expect EPERM chown ${n0} 65534 65534
-expect 0 chflags ${n0} none
-expect 0 chown ${n0} 65534 65534
+expect 65534,65534 stat ${n0} uid,gid
 expect 0 unlink ${n0}
 
 expect 0 create ${n0} 0644
 expect 0 chflags ${n0} SF_NOUNLINK
 expect 0 chown ${n0} 65534 65534
+expect 65534,65534 stat ${n0} uid,gid
 expect 0 chflags ${n0} none
 expect 0 unlink ${n0}
 
-expect 0 create ${n0} 0644
-expect 0 chflags ${n0} UF_NOUNLINK
-expect 0 chown ${n0} 65534 65534
-expect 0 chflags ${n0} none
-expect 0 unlink ${n0}
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} SF_APPEND
+       expect 0 chown ${n0} 65534 65534
+       expect 65534,65534 stat ${n0} uid,gid
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n0}
+       ;;
+FreeBSD:UFS)
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} SF_APPEND
+       expect EPERM chown ${n0} 65534 65534
+       expect 0,0 stat ${n0} uid,gid
+       expect 0 chflags ${n0} none
+       expect 0 chown ${n0} 65534 65534
+       expect 65534,65534 stat ${n0} uid,gid
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_IMMUTABLE
+       expect EPERM chown ${n0} 65534 65534
+       expect 0,0 stat ${n0} uid,gid
+       expect 0 chflags ${n0} none
+       expect 0 chown ${n0} 65534 65534
+       expect 65534,65534 stat ${n0} uid,gid
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_NOUNLINK
+       expect 0 chown ${n0} 65534 65534
+       expect 65534,65534 stat ${n0} uid,gid
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n0}
+
+       expect 0 create ${n0} 0644
+       expect 0 chflags ${n0} UF_APPEND
+       expect EPERM chown ${n0} 65534 65534
+       expect 0,0 stat ${n0} uid,gid
+       expect 0 chflags ${n0} none
+       expect 0 chown ${n0} 65534 65534
+       expect 65534,65534 stat ${n0} uid,gid
+       expect 0 unlink ${n0}
+       ;;
+esac

Modified: head/tools/regression/fstest/tests/chown/09.t
==============================================================================
--- head/tools/regression/fstest/tests/chown/09.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/chown/09.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,32 +6,27 @@ desc="chown returns EROFS if the named f
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:{fs}" in
-FreeBSD:UFS)
-       echo "1..10"
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
+echo "1..10"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-       expect 0 chown ${n0}/${n1} 65534 65534
-       expect 65534,65534 stat ${n0}/${n1} uid,gid
-       mount -ur /dev/md${n}
-       expect EROFS chown ${n0}/${n1} 65533 65533
-       expect 65534,65534 stat ${n0}/${n1} uid,gid
-       mount -uw /dev/md${n}
-       expect 0 chown ${n0}/${n1} 65533 65533
-       expect 65533,65533 stat ${n0}/${n1} uid,gid
-       expect 0 unlink ${n0}/${n1}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+n0=`namegen`
+n1=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+expect 0 chown ${n0}/${n1} 65534 65534
+expect 65534,65534 stat ${n0}/${n1} uid,gid
+mount -ur /dev/md${n}
+expect EROFS chown ${n0}/${n1} 65533 65533
+expect 65534,65534 stat ${n0}/${n1} uid,gid
+mount -uw /dev/md${n}
+expect 0 chown ${n0}/${n1} 65533 65533
+expect 65533,65533 stat ${n0}/${n1} uid,gid
+expect 0 unlink ${n0}/${n1}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/granular/00.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/00.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/00.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..49"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/granular/01.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/01.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/01.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..12"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/granular/02.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/02.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/02.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..83"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/granular/03.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/03.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/03.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..65"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/granular/04.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/04.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/04.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..52"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/granular/05.t
==============================================================================
--- head/tools/regression/fstest/tests/granular/05.t    Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/granular/05.t    Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,6 +6,8 @@ desc="NFSv4 granular permissions checkin
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
+[ "${os}:${fs}" = "FreeBSD:ZFS" ] || quick_exit
+
 echo "1..68"
 
 n0=`namegen`

Modified: head/tools/regression/fstest/tests/link/05.t
==============================================================================
--- head/tools/regression/fstest/tests/link/05.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/05.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,36 +6,31 @@ desc="link returns EMLINK if the link co
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:${fs}" in
-FreeBSD:UFS)
-       echo "1..5"
-
-       n0=`namegen`
-       n1=`namegen`
-       n2=`namegen`
-
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs -i 1 /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-       i=1
-       while :; do
-               link ${n0}/${n1} ${n0}/${i} >/dev/null 2>&1
-               if [ $? -ne 0 ]; then
-                       break
-               fi
-               i=`expr $i + 1`
-       done
-       test_check $i -eq 32767
-
-       expect EMLINK link ${n0}/${n1} ${n0}/${n2}
-
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
+
+echo "1..5"
+
+n0=`namegen`
+n1=`namegen`
+n2=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs -i 1 /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+i=1
+while :; do
+       link ${n0}/${n1} ${n0}/${i} >/dev/null 2>&1
+       if [ $? -ne 0 ]; then
+               break
+       fi
+       i=`expr $i + 1`
+done
+test_check $i -eq 32767
+
+expect EMLINK link ${n0}/${n1} ${n0}/${n2}
+
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/link/12.t
==============================================================================
--- head/tools/regression/fstest/tests/link/12.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/12.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -8,48 +8,88 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..32"
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       echo "1..27"
+       ;;
+FreeBSD:UFS)
+       echo "1..48"
+       ;;
+*)
+       quick_exit
+esac
 
 n0=`namegen`
 n1=`namegen`
 
 expect 0 create ${n0} 0644
 
+expect 1 stat ${n0} nlink
 expect 0 link ${n0} ${n1}
+expect 2 stat ${n0} nlink
 expect 0 unlink ${n1}
+expect 1 stat ${n0} nlink
 
 expect 0 chflags ${n0} SF_IMMUTABLE
+todo FreeBSD:ZFS "Creating a hard link to a file protected by SF_IMMUTABLE 
should return EPERM."
 expect EPERM link ${n0} ${n1}
+todo FreeBSD:ZFS "Creating a hard link to a file protected by SF_IMMUTABLE 
should return EPERM."
+expect 1 stat ${n0} nlink
 expect 0 chflags ${n0} none
+todo FreeBSD:ZFS "Creating a hard link to a file protected by SF_IMMUTABLE 
should return EPERM."
 expect 0 link ${n0} ${n1}
+expect 2 stat ${n0} nlink
 expect 0 unlink ${n1}
-
-expect 0 chflags ${n0} UF_IMMUTABLE
-expect EPERM link ${n0} ${n1}
-expect 0 chflags ${n0} none
-expect 0 link ${n0} ${n1}
-expect 0 unlink ${n1}
-
-expect 0 chflags ${n0} SF_APPEND
-expect EPERM link ${n0} ${n1}
-expect 0 chflags ${n0} none
-expect 0 link ${n0} ${n1}
-expect 0 unlink ${n1}
-
-expect 0 chflags ${n0} UF_APPEND
-expect EPERM link ${n0} ${n1}
-expect 0 chflags ${n0} none
-expect 0 link ${n0} ${n1}
-expect 0 unlink ${n1}
+expect 1 stat ${n0} nlink
 
 expect 0 chflags ${n0} SF_NOUNLINK
 expect 0 link ${n0} ${n1}
+expect 2 stat ${n0} nlink
 expect 0 chflags ${n0} none
 expect 0 unlink ${n1}
+expect 1 stat ${n0} nlink
 
-expect 0 chflags ${n0} UF_NOUNLINK
-expect 0 link ${n0} ${n1}
-expect 0 chflags ${n0} none
-expect 0 unlink ${n1}
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       expect 0 chflags ${n0} SF_APPEND
+       expect 0 link ${n0} ${n1}
+       expect 2 stat ${n0} nlink
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n1}
+       expect 1 stat ${n0} nlink
+       ;;
+FreeBSD:UFS)
+       expect 0 chflags ${n0} SF_APPEND
+       expect EPERM link ${n0} ${n1}
+       expect 0 chflags ${n0} none
+       expect 0 link ${n0} ${n1}
+       expect 2 stat ${n0} nlink
+       expect 0 unlink ${n1}
+       expect 1 stat ${n0} nlink
+
+       expect 0 chflags ${n0} UF_IMMUTABLE
+       expect EPERM link ${n0} ${n1}
+       expect 0 chflags ${n0} none
+       expect 0 link ${n0} ${n1}
+       expect 2 stat ${n0} nlink
+       expect 0 unlink ${n1}
+       expect 1 stat ${n0} nlink
+
+       expect 0 chflags ${n0} UF_NOUNLINK
+       expect 0 link ${n0} ${n1}
+       expect 2 stat ${n0} nlink
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n1}
+       expect 1 stat ${n0} nlink
+
+       expect 0 chflags ${n0} UF_APPEND
+       expect EPERM link ${n0} ${n1}
+       expect 0 chflags ${n0} none
+       expect 0 link ${n0} ${n1}
+       expect 2 stat ${n0} nlink
+       expect 0 unlink ${n1}
+       expect 1 stat ${n0} nlink
+       ;;
+esac
 
 expect 0 unlink ${n0}

Modified: head/tools/regression/fstest/tests/link/13.t
==============================================================================
--- head/tools/regression/fstest/tests/link/13.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/13.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -8,7 +8,16 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..32"
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       echo "1..29"
+       ;;
+FreeBSD:UFS)
+       echo "1..49"
+       ;;
+*)
+       quick_exit
+esac
 
 n0=`namegen`
 n1=`namegen`
@@ -17,40 +26,61 @@ n2=`namegen`
 expect 0 mkdir ${n0} 0755
 
 expect 0 create ${n0}/${n1} 0644
+expect 1 stat ${n0}/${n1} nlink
 expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 2 stat ${n0}/${n1} nlink
 expect 0 unlink ${n0}/${n2}
+expect 1 stat ${n0}/${n1} nlink
 
 expect 0 chflags ${n0} SF_IMMUTABLE
 expect EPERM link ${n0}/${n1} ${n0}/${n2}
+expect 1 stat ${n0}/${n1} nlink
 expect 0 chflags ${n0} none
 expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 2 stat ${n0}/${n1} nlink
 expect 0 unlink ${n0}/${n2}
-
-expect 0 chflags ${n0} UF_IMMUTABLE
-expect EPERM link ${n0}/${n1} ${n0}/${n2}
-expect 0 chflags ${n0} none
-expect 0 link ${n0}/${n1} ${n0}/${n2}
-expect 0 unlink ${n0}/${n2}
-
-expect 0 chflags ${n0} SF_APPEND
-expect 0 link ${n0}/${n1} ${n0}/${n2}
-expect 0 chflags ${n0} none
-expect 0 unlink ${n0}/${n2}
-
-expect 0 chflags ${n0} UF_APPEND
-expect 0 link ${n0}/${n1} ${n0}/${n2}
-expect 0 chflags ${n0} none
-expect 0 unlink ${n0}/${n2}
+expect 1 stat ${n0}/${n1} nlink
 
 expect 0 chflags ${n0} SF_NOUNLINK
 expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 2 stat ${n0}/${n1} nlink
 expect 0 chflags ${n0} none
 expect 0 unlink ${n0}/${n2}
+expect 1 stat ${n0}/${n1} nlink
 
-expect 0 chflags ${n0} UF_NOUNLINK
+expect 0 chflags ${n0} SF_APPEND
 expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 2 stat ${n0}/${n1} nlink
 expect 0 chflags ${n0} none
 expect 0 unlink ${n0}/${n2}
+expect 1 stat ${n0}/${n1} nlink
+
+case "${os}:${fs}" in
+FreeBSD:UFS)
+       expect 0 chflags ${n0} UF_IMMUTABLE
+       expect EPERM link ${n0}/${n1} ${n0}/${n2}
+       expect 1 stat ${n0}/${n1} nlink
+       expect 0 chflags ${n0} none
+       expect 0 link ${n0}/${n1} ${n0}/${n2}
+       expect 2 stat ${n0}/${n1} nlink
+       expect 0 unlink ${n0}/${n2}
+       expect 1 stat ${n0}/${n1} nlink
+
+       expect 0 chflags ${n0} UF_NOUNLINK
+       expect 0 link ${n0}/${n1} ${n0}/${n2}
+       expect 2 stat ${n0}/${n1} nlink
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n0}/${n2}
+       expect 1 stat ${n0}/${n1} nlink
+
+       expect 0 chflags ${n0} UF_APPEND
+       expect 0 link ${n0}/${n1} ${n0}/${n2}
+       expect 2 stat ${n0}/${n1} nlink
+       expect 0 chflags ${n0} none
+       expect 0 unlink ${n0}/${n2}
+       expect 1 stat ${n0}/${n1} nlink
+       ;;
+esac
 
 expect 0 unlink ${n0}/${n1}
 expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/link/14.t
==============================================================================
--- head/tools/regression/fstest/tests/link/14.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/14.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,29 +6,24 @@ desc="link returns EXDEV if the source a
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}" in
-FreeBSD)
-       echo "1..8"
+[ "${os}" = "FreeBSD" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
-       n2=`namegen`
+echo "1..8"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-       expect EXDEV link ${n0}/${n1} ${n2}
-       expect 0 unlink ${n0}/${n1}
-       expect 0 create ${n1} 0644
-       expect EXDEV link ${n1} ${n0}/${n2}
-       expect 0 unlink ${n1}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+n0=`namegen`
+n1=`namegen`
+n2=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+expect EXDEV link ${n0}/${n1} ${n2}
+expect 0 unlink ${n0}/${n1}
+expect 0 create ${n1} 0644
+expect EXDEV link ${n1} ${n0}/${n2}
+expect 0 unlink ${n1}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/link/15.t
==============================================================================
--- head/tools/regression/fstest/tests/link/15.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/15.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,33 +6,28 @@ desc="link returns ENOSPC if the directo
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:${fs}" in
-FreeBSD:UFS)
-       echo "1..4"
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
-       n2=`namegen`
+echo "1..4"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 256k`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-       i=0
-       while :; do
-               link ${n0}/${n1} ${n0}/${i} >/dev/null 2>&1
-               if [ $? -ne 0 ]; then
-                       break
-               fi
-               i=`expr $i + 1`
-       done
-       expect ENOSPC link ${n0}/${n1} ${n0}/${n2}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+n0=`namegen`
+n1=`namegen`
+n2=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 256k`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+i=0
+while :; do
+       link ${n0}/${n1} ${n0}/${i} >/dev/null 2>&1
+       if [ $? -ne 0 ]; then
+               break
+       fi
+       i=`expr $i + 1`
+done
+expect ENOSPC link ${n0}/${n1} ${n0}/${n2}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/link/16.t
==============================================================================
--- head/tools/regression/fstest/tests/link/16.t        Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/link/16.t        Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,34 +6,29 @@ desc="link returns EROFS if the requeste
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}" in
-FreeBSD)
-       echo "1..9"
-
-       n0=`namegen`
-       n1=`namegen`
-       n2=`namegen`
-
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 create ${n0}/${n1} 0644
-
-       expect 0 link ${n0}/${n1} ${n0}/${n2}
-       expect 0 unlink ${n0}/${n2}
-       mount -ur /dev/md${n}
-       expect EROFS link ${n0}/${n1} ${n0}/${n2}
-       mount -uw /dev/md${n}
-       expect 0 link ${n0}/${n1} ${n0}/${n2}
-       expect 0 unlink ${n0}/${n2}
-
-       expect 0 unlink ${n0}/${n1}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+[ "${os}" = "FreeBSD" ] || quick_exit
+
+echo "1..9"
+
+n0=`namegen`
+n1=`namegen`
+n2=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 create ${n0}/${n1} 0644
+
+expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 0 unlink ${n0}/${n2}
+mount -ur /dev/md${n}
+expect EROFS link ${n0}/${n1} ${n0}/${n2}
+mount -uw /dev/md${n}
+expect 0 link ${n0}/${n1} ${n0}/${n2}
+expect 0 unlink ${n0}/${n2}
+
+expect 0 unlink ${n0}/${n1}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/mkdir/08.t
==============================================================================
--- head/tools/regression/fstest/tests/mkdir/08.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/mkdir/08.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -8,7 +8,16 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..30"
+case "${os}:${fs}" in
+FreeBSD:ZFS)
+       echo "1..17"
+       ;;
+FreeBSD:UFS)
+       echo "1..30"
+       ;;
+*)
+       quick_exit
+esac
 
 n0=`namegen`
 n1=`namegen`
@@ -24,30 +33,34 @@ expect 0 chflags ${n0} none
 expect 0 mkdir ${n0}/${n1} 0755
 expect 0 rmdir ${n0}/${n1}
 
-expect 0 chflags ${n0} UF_IMMUTABLE
-expect EPERM mkdir ${n0}/${n1} 0755
-expect 0 chflags ${n0} none
+expect 0 chflags ${n0} SF_NOUNLINK
 expect 0 mkdir ${n0}/${n1} 0755
 expect 0 rmdir ${n0}/${n1}
-
-expect 0 chflags ${n0} SF_APPEND
-expect 0 mkdir ${n0}/${n1} 0755
 expect 0 chflags ${n0} none
-expect 0 rmdir ${n0}/${n1}
 
-expect 0 chflags ${n0} UF_APPEND
+expect 0 chflags ${n0} SF_APPEND
 expect 0 mkdir ${n0}/${n1} 0755
 expect 0 chflags ${n0} none
 expect 0 rmdir ${n0}/${n1}
 
-expect 0 chflags ${n0} SF_NOUNLINK
-expect 0 mkdir ${n0}/${n1} 0755
-expect 0 rmdir ${n0}/${n1}
-expect 0 chflags ${n0} none
-
-expect 0 chflags ${n0} UF_NOUNLINK
-expect 0 mkdir ${n0}/${n1} 0755
-expect 0 rmdir ${n0}/${n1}
-expect 0 chflags ${n0} none
+case "${os}:${fs}" in
+FreeBSD:UFS)
+       expect 0 chflags ${n0} UF_IMMUTABLE
+       expect EPERM mkdir ${n0}/${n1} 0755
+       expect 0 chflags ${n0} none
+       expect 0 mkdir ${n0}/${n1} 0755
+       expect 0 rmdir ${n0}/${n1}
+
+       expect 0 chflags ${n0} UF_NOUNLINK
+       expect 0 mkdir ${n0}/${n1} 0755
+       expect 0 rmdir ${n0}/${n1}
+       expect 0 chflags ${n0} none
+
+       expect 0 chflags ${n0} UF_APPEND
+       expect 0 mkdir ${n0}/${n1} 0755
+       expect 0 chflags ${n0} none
+       expect 0 rmdir ${n0}/${n1}
+       ;;
+esac
 
 expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/mkdir/09.t
==============================================================================
--- head/tools/regression/fstest/tests/mkdir/09.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/mkdir/09.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,29 +6,24 @@ desc="mkdir returns EROFS if the named f
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:${fs}" in
-FreeBSD:UFS)
-       echo "1..7"
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
+echo "1..7"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 1m`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       expect 0 mkdir ${n0}/${n1} 0755
-       expect 0 rmdir ${n0}/${n1}
-       mount -ur /dev/md${n}
-       expect EROFS mkdir ${n0}/${n1} 0755
-       mount -uw /dev/md${n}
-       expect 0 mkdir ${n0}/${n1} 0755
-       expect 0 rmdir ${n0}/${n1}
-       umount /dev/md${n}
-       mdconfig -d -u ${n}
-       expect 0 rmdir ${n0}
-       ;;
-*)
-       quick_exit
-       ;;
-esac
+n0=`namegen`
+n1=`namegen`
+
+expect 0 mkdir ${n0} 0755
+n=`mdconfig -a -n -t malloc -s 1m`
+newfs /dev/md${n} >/dev/null
+mount /dev/md${n} ${n0}
+expect 0 mkdir ${n0}/${n1} 0755
+expect 0 rmdir ${n0}/${n1}
+mount -ur /dev/md${n}
+expect EROFS mkdir ${n0}/${n1} 0755
+mount -uw /dev/md${n}
+expect 0 mkdir ${n0}/${n1} 0755
+expect 0 rmdir ${n0}/${n1}
+umount /dev/md${n}
+mdconfig -d -u ${n}
+expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/mkdir/11.t
==============================================================================
--- head/tools/regression/fstest/tests/mkdir/11.t       Fri Aug  6 23:52:16 
2010        (r210983)
+++ head/tools/regression/fstest/tests/mkdir/11.t       Fri Aug  6 23:58:54 
2010        (r210984)
@@ -6,31 +6,26 @@ desc="mkdir returns ENOSPC if there are 
 dir=`dirname $0`
 . ${dir}/../misc.sh
 
-case "${os}:${fs}" in
-FreeBSD:UFS)
-       echo "1..3"
+[ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
 
-       n0=`namegen`
-       n1=`namegen`
+echo "1..3"
 
-       expect 0 mkdir ${n0} 0755
-       n=`mdconfig -a -n -t malloc -s 256k`
-       newfs /dev/md${n} >/dev/null
-       mount /dev/md${n} ${n0}
-       i=0
-       while :; do
-               mkdir ${n0}/${i} >/dev/null 2>&1
-               if [ $? -ne 0 ]; then
-                       break
-               fi
-               i=`expr $i + 1`
-       done
-       expect ENOSPC mkdir ${n0}/${n1} 0755

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to