From owner-svn-src-all@FreeBSD.ORG Fri Aug 6 23:58:54 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1C6A106566B; Fri, 6 Aug 2010 23:58:54 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 850AD8FC08; Fri, 6 Aug 2010 23:58:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o76Nwsvm070462; Fri, 6 Aug 2010 23:58:54 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o76NwsLv070441; Fri, 6 Aug 2010 23:58:54 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201008062358.o76NwsLv070441@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Fri, 6 Aug 2010 23:58:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r210984 - in head/tools/regression/fstest/tests: chmod chown granular link mkdir mkfifo open rename rmdir symlink truncate unlink X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Aug 2010 23:58:54 -0000 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 ***