#
# Top level generated files specific to this top level dir
#
+/bin
/configure
/config.log
/config.status
+++ /dev/null
-dnl #
-dnl # Commands common to multiple platforms. They generally behave
-dnl # in the same way and take similar options.
-dnl #
-AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_COMMON], [
- AC_PATH_TOOL(AWK, awk, "")
- AC_PATH_TOOL(BASENAME, basename, "")
- AC_PATH_TOOL(BC, bc, "")
- AC_PATH_TOOL(BUNZIP2, bunzip2, "")
- AC_PATH_TOOL(BZCAT, bzcat, "")
- AC_PATH_TOOL(CAT, cat, "")
- AC_PATH_TOOL(CD, cd, "cd") dnl # Builtin in bash
- AC_PATH_TOOL(CHGRP, chgrp, "")
- AC_PATH_TOOL(CHMOD, chmod, "")
- AC_PATH_TOOL(CHOWN, chown, "")
- AC_PATH_TOOL(CKSUM, cksum, "")
- AC_PATH_TOOL(CMP, cmp, "")
- AC_PATH_TOOL(CP, cp, "")
- AC_PATH_TOOL(CPIO, cpio, "")
- AC_PATH_TOOL(CUT, cut, "")
- AC_PATH_TOOL(DATE, date, "")
- AC_PATH_TOOL(DD, dd, "")
- AC_PATH_TOOL(DF, df, "")
- AC_PATH_TOOL(DIFF, diff, "")
- AC_PATH_TOOL(DIRNAME, dirname, "")
- AC_PATH_TOOL(DU, du, "")
- AC_PATH_TOOL(ECHO, echo, "")
- AC_PATH_TOOL(EGREP, egrep, "")
- AC_PATH_TOOL(FALSE, false, "")
- AC_PATH_TOOL(FDISK, fdisk, "")
- AC_PATH_TOOL(FGREP, fgrep, "")
- AC_PATH_TOOL(FILE, file, "")
- AC_PATH_TOOL(FIND, find, "")
- AC_PATH_TOOL(FIO, fio, "")
- AC_PATH_TOOL(FSCK, fsck, "")
- AC_PATH_TOOL(GNUDD, dd, "")
- AC_PATH_TOOL(GETCONF, getconf, "")
- AC_PATH_TOOL(GETENT, getent, "")
- AC_PATH_TOOL(GREP, grep, "")
- dnl # Due to permissions unpriviledged users may not detect group*.
- AC_PATH_TOOL(GROUPADD, groupadd, "/usr/sbin/groupadd")
- AC_PATH_TOOL(GROUPDEL, groupdel, "/usr/sbin/groupdel")
- AC_PATH_TOOL(GROUPMOD, groupmod, "/usr/sbin/groupmod")
- AC_PATH_TOOL(HEAD, head, "")
- AC_PATH_TOOL(HOSTNAME, hostname, "")
- AC_PATH_TOOL(ID, id, "")
- AC_PATH_TOOL(KILL, kill, "")
- AC_PATH_TOOL(KSH, ksh, "")
- AC_PATH_TOOL(LOGNAME, logname, "")
- AC_PATH_TOOL(LS, ls, "")
- AC_PATH_TOOL(MD5SUM, md5sum, "")
- AC_PATH_TOOL(MKDIR, mkdir, "")
- AC_PATH_TOOL(MKNOD, mknod, "")
- AC_PATH_TOOL(MKTEMP, mktemp, "")
- AC_PATH_TOOL(MODINFO, modinfo, "")
- AC_PATH_TOOL(MOUNT, mount, "")
- AC_PATH_TOOL(MV, mv, "")
- AC_PATH_TOOL(NAWK, nawk, "")
- AC_PATH_TOOL(PGREP, pgrep, "")
- AC_PATH_TOOL(PING, ping, "")
- AC_PATH_TOOL(PKILL, pkill, "")
- AC_PATH_TOOL(PRINTF, printf, "")
- AC_PATH_TOOL(PS, ps, "")
- AC_PATH_TOOL(PYTHON, python, "")
- AC_PATH_TOOL(REBOOT, reboot, "")
- AC_PATH_TOOL(RMDIR, rmdir, "")
- AC_PATH_TOOL(RSH, rsh, "")
- AC_PATH_TOOL(SED, sed, "")
- AC_PATH_TOOL(SHUF, shuf, "")
- AC_PATH_TOOL(SLEEP, sleep, "")
- AC_PATH_TOOL(SORT, sort, "")
- AC_PATH_TOOL(STAT, stat, "")
- AC_PATH_TOOL(STRINGS, strings, "")
- AC_PATH_TOOL(SU, su, "")
- AC_PATH_TOOL(SUM, sum, "")
- AC_PATH_TOOL(SYNC, sync, "")
- AC_PATH_TOOL(TAIL, tail, "")
- AC_PATH_TOOL(TAR, tar, "")
- AC_PATH_TOOL(TIMEOUT, timeout, "")
- AC_PATH_TOOL(TOUCH, touch, "")
- AC_PATH_TOOL(TR, tr, "")
- AC_PATH_TOOL(TRUNCATE, truncate, "")
- AC_PATH_TOOL(TRUE, true, "")
- AC_PATH_TOOL(UMASK, umask, "")
- AC_PATH_TOOL(UMOUNT, umount, "")
- AC_PATH_TOOL(UNAME, uname, "")
- AC_PATH_TOOL(UNIQ, uniq, "")
- dnl # Due to permissions unpriviledged users may not detect user*.
- AC_PATH_TOOL(USERADD, useradd, "/usr/sbin/useradd")
- AC_PATH_TOOL(USERDEL, userdel, "/usr/sbin/userdel")
- AC_PATH_TOOL(USERMOD, usermod, "/usr/sbin/usermod")
- AC_PATH_TOOL(UUIDGEN, uuidgen, "")
- AC_PATH_TOOL(WAIT, wait, "wait") dnl # Builtin in bash
- AC_PATH_TOOL(WC, wc, "")
-])
-
-dnl #
-dnl # Linux commands, used within 'is_linux' blocks of test scripts.
-dnl # These commands may take different command line arguments.
-dnl #
-AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_LINUX], [
- AC_PATH_TOOL(BLOCKDEV, blockdev, "")
- AC_PATH_TOOL(CHACL, chacl, "")
- AC_PATH_TOOL(COMPRESS, gzip, "")
- AC_PATH_TOOL(FORMAT, parted, "")
- AC_PATH_TOOL(FREE, free, "")
- AC_PATH_TOOL(GETFACL, getfacl, "")
- AC_PATH_TOOL(IOSTAT, iostat, "")
- AC_PATH_TOOL(LOCKFS, lsof, "")
- AC_PATH_TOOL(LSBLK, lsblk, "")
- AC_PATH_TOOL(LSMOD, lsmod, "")
- AC_PATH_TOOL(LSSCSI, lsscsi, "")
- AC_PATH_TOOL(MODLOAD, modprobe, "")
- AC_PATH_TOOL(MODUNLOAD, rmmod, "")
- AC_PATH_TOOL(MPSTAT, mpstat, "")
- AC_PATH_TOOL(NEWFS, mke2fs, "")
- AC_PATH_TOOL(NPROC, nproc, "")
- AC_PATH_TOOL(PFEXEC, sudo, "")
- AC_PATH_TOOL(READLINK, readlink, "")
- AC_PATH_TOOL(SETFACL, setfacl, "")
- AC_PATH_TOOL(SHARE, exportfs, "")
- AC_PATH_TOOL(NET, net, "")
- AC_PATH_TOOL(SWAP, swapon, "")
- AC_PATH_TOOL(SWAPADD, swapon, "")
- AC_PATH_TOOL(UDEVADM, udevadm, "")
- AC_PATH_TOOL(UFSDUMP, dump, "")
- AC_PATH_TOOL(UFSRESTORE, restore, "")
- AC_PATH_TOOL(UNCOMPRESS, gunzip, "")
- AC_PATH_TOOL(UNSHARE, exportfs, "")
- AC_PATH_TOOL(VMSTAT, vmstat, "")
-
- PAGESIZE=$($GETCONF PAGESIZE)
- AC_SUBST(PAGESIZE)
-
- MNTTAB=/proc/self/mounts
- AC_SUBST(MNTTAB)
-])
-
-dnl #
-dnl # BSD style commands, these have been kept in case at some point
-dnl # we want to build these packages on a BSD style systems. Otherwise
-dnl # they are unused and should be treated as such.
-dnl #
-AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_BSD], [
- AC_PATH_TOOL(COMPRESS, compress, "")
- AC_PATH_TOOL(COREADM, coreadm, "")
- AC_PATH_TOOL(DIRCMP, dircmp, "")
- AC_PATH_TOOL(DUMPADM, dumpadm, "")
- AC_PATH_TOOL(FORMAT, format, "")
- AC_PATH_TOOL(GETMAJOR, getmajor, "")
- AC_PATH_TOOL(KSTAT, kstat, "")
- AC_PATH_TOOL(LOCKFS, lockfs, "")
- AC_PATH_TOOL(LOFIADM, lofiadm, "")
- AC_PATH_TOOL(MODUNLOAD, modunload, "")
- AC_PATH_TOOL(NEWFS, newfs, "")
- AC_PATH_TOOL(PAGESIZE, pagesize, "")
- AC_PATH_TOOL(PFEXEC, pfexec, "")
- AC_PATH_TOOL(PKGINFO, pkginfo, "")
- AC_PATH_TOOL(PRTVTOC, prtvtoc, "")
- AC_PATH_TOOL(PSRINFO, psrinfo, "")
- AC_PATH_TOOL(SHARE, share, "")
- AC_PATH_TOOL(SVCADM, svcadm, "")
- AC_PATH_TOOL(SVCS, svcs, "")
- AC_PATH_TOOL(SWAP, swap, "")
- AC_PATH_TOOL(SWAPADD, swapadd, "")
- AC_PATH_TOOL(UFSDUMP, ufsdump, "")
- AC_PATH_TOOL(UFSRESTORE, ufsrestore, "")
- AC_PATH_TOOL(UMOUNTALL, umountall, "")
- AC_PATH_TOOL(UNCOMPRESS, uncompress, "")
- AC_PATH_TOOL(UNSHARE, unshare, "")
- AC_PATH_TOOL(ZONEADM, zoneadm, "")
- AC_PATH_TOOL(ZONECFG, zonecfg, "")
- AC_PATH_TOOL(ZONENAME, zonename, "")
-])
-
-AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS], [
- ZFS_AC_CONFIG_USER_COMMANDS_COMMON
-
- OS=$($UNAME -o)
- AS_IF([test "$OS" == "GNU/Linux"], [
- ZFS_AC_CONFIG_USER_COMMANDS_LINUX
- ], [
- ZFS_AC_CONFIG_USER_COMMANDS_BSD
- ])
-])
ZFS_AC_CONFIG_USER_MAKEDEV_IN_SYSMACROS
ZFS_AC_CONFIG_USER_MAKEDEV_IN_MKDEV
- ZFS_AC_CONFIG_USER_COMMANDS
ZFS_AC_TEST_FRAMEWORK
AC_CHECK_FUNCS([mlockall])
tests/zfs-tests/cmd/threadsappend/Makefile
tests/zfs-tests/cmd/xattrtest/Makefile
tests/zfs-tests/include/Makefile
- tests/zfs-tests/include/commands.cfg
- tests/zfs-tests/include/default.cfg
tests/zfs-tests/tests/Makefile
tests/zfs-tests/tests/functional/Makefile
tests/zfs-tests/tests/functional/acl/Makefile
echo "Missing helper script ${SCRIPT_COMMON}" && exit 1
fi
-. "$STF_SUITE/include/default.cfg"
-
PROG=zfs-tests.sh
-SUDO=/usr/bin/sudo
-SETENFORCE=/usr/sbin/setenforce
VERBOSE=
QUIET=
CLEANUP=1
if [ $LOOPBACK -eq 1 ]; then
for TEST_LOOPBACK in ${LOOPBACKS}; do
LOOP_DEV=$(basename "$TEST_LOOPBACK")
- DM_DEV=$(${SUDO} "${DMSETUP}" ls 2>/dev/null | \
+ DM_DEV=$(sudo "${DMSETUP}" ls 2>/dev/null | \
grep "${LOOP_DEV}" | cut -f1)
if [ -n "$DM_DEV" ]; then
- ${SUDO} "${DMSETUP}" remove "${DM_DEV}" ||
+ sudo "${DMSETUP}" remove "${DM_DEV}" ||
echo "Failed to remove: ${DM_DEV}"
fi
if [ -n "${TEST_LOOPBACK}" ]; then
- ${SUDO} "${LOSETUP}" -d "${TEST_LOOPBACK}" ||
+ sudo "${LOSETUP}" -d "${TEST_LOOPBACK}" ||
echo "Failed to remove: ${TEST_LOOPBACK}"
fi
done
for TEST_FILE in ${FILES}; do
rm -f "${TEST_FILE}" &>/dev/null
done
+
+ # Preserve in-tree symlinks to aid debugging.
+ if [ -z "${INTREE}" -a -d "$STF_PATH" ]; then
+ rm -Rf "$STF_PATH"
+ fi
}
trap cleanup EXIT
#
cleanup_all() {
local TEST_POOLS
- TEST_POOLS=$(${SUDO} "${ZPOOL}" list -H -o name | grep testpool)
+ TEST_POOLS=$(sudo $ZPOOL list -H -o name | grep testpool)
local TEST_LOOPBACKS
- TEST_LOOPBACKS=$(${SUDO} "${LOSETUP}" -a|grep file-vdev|cut -f1 -d:)
+ TEST_LOOPBACKS=$(sudo "${LOSETUP}" -a|grep file-vdev|cut -f1 -d:)
local TEST_FILES
TEST_FILES=$(ls /var/tmp/file-vdev* 2>/dev/null)
msg "--- Cleanup ---"
msg "Removing pool(s): $(echo "${TEST_POOLS}" | tr '\n' ' ')"
for TEST_POOL in $TEST_POOLS; do
- ${SUDO} "${ZPOOL}" destroy "${TEST_POOL}"
+ sudo $ZPOOL destroy "${TEST_POOL}"
done
- msg "Removing dm(s): $(${SUDO} "${DMSETUP}" ls |
+ msg "Removing dm(s): $(sudo "${DMSETUP}" ls |
grep loop | tr '\n' ' ')"
- ${SUDO} "${DMSETUP}" remove_all
+ sudo "${DMSETUP}" remove_all
msg "Removing loopback(s): $(echo "${TEST_LOOPBACKS}" | tr '\n' ' ')"
for TEST_LOOPBACK in $TEST_LOOPBACKS; do
- ${SUDO} "${LOSETUP}" -d "${TEST_LOOPBACK}"
+ sudo "${LOSETUP}" -d "${TEST_LOOPBACK}"
done
msg "Removing files(s): $(echo "${TEST_FILES}" | tr '\n' ' ')"
for TEST_FILE in $TEST_FILES; do
- ${SUDO} rm -f "${TEST_FILE}"
+ sudo rm -f "${TEST_FILE}"
done
}
echo "$RESULT"
}
+#
+# Symlink file if it appears under any of the given paths.
+#
+create_links() {
+ local dir_list="$1"
+ local file_list="$2"
+
+ [ -n $STF_PATH ] || fail "STF_PATH wasn't correctly set"
+
+ for i in $file_list; do
+ for j in $dir_list; do
+ [ ! -e "$STF_PATH/$i" ] || continue
+
+ if [ ! -d "$j/$i" -a -e "$j/$i" ]; then
+ ln -s $j/$i $STF_PATH/$i || \
+ fail "Couldn't link $i"
+ break
+ fi
+ done
+
+ [ ! -e $STF_PATH/$i ] && STF_MISSING_BIN="$STF_MISSING_BIN$i "
+ done
+}
+
+#
+# Constrain the path to limit the available binaries to a known set.
+# When running in-tree a top level ./bin/ directory is created for
+# convenience, otherwise a temporary directory is used.
+#
+constrain_path() {
+ . $STF_SUITE/include/commands.cfg
+
+ if [ -n "${INTREE}" ]; then
+ STF_PATH="$BUILDDIR/bin"
+ if [ ! -d "$STF_PATH" ]; then
+ mkdir "$STF_PATH"
+ fi
+ else
+ SYSTEMDIR=${SYSTEMDIR:-/var/tmp/constrained_path.XXXX}
+ STF_PATH=$(/bin/mktemp -d "$SYSTEMDIR")
+ fi
+
+ STF_MISSING_BIN=""
+ chmod 755 $STF_PATH || fail "Couldn't chmod $STF_PATH"
+
+ # Standard system utilities
+ create_links "/bin /usr/bin /sbin /usr/sbin" "$SYSTEM_FILES"
+
+ if [ -z "${INTREE}" ]; then
+ # Special case links for standard zfs utilities
+ create_links "/bin /usr/bin /sbin /usr/sbin" "$ZFS_FILES"
+
+ # Special case links for zfs test suite utilties
+ create_links "$TESTSDIR/bin" "$ZFSTEST_FILES"
+ else
+ # Special case links for standard zfs utilities
+ DIRS="$(find "$CMDDIR" -type d \( ! -name .deps -a \
+ ! -name .libs \) -print | tr '\n' ' ')"
+ create_links "$DIRS" "$ZFS_FILES"
+
+ # Special case links for zfs test suite utilties
+ DIRS="$(find "$TESTSDIR" -type d \( ! -name .deps -a \
+ ! -name .libs \) -print | tr '\n' ' ')"
+ create_links "$DIRS" "$ZFSTEST_FILES"
+ fi
+
+ # Exceptions
+ ln -fs $STF_PATH/awk $STF_PATH/nawk
+ ln -fs /sbin/mkfs.ext2 $STF_PATH/newfs
+ ln -fs $STF_PATH/gzip $STF_PATH/compress
+ ln -fs $STF_PATH/gunzip $STF_PATH/uncompress
+ ln -fs $STF_PATH/exportfs $STF_PATH/share
+ ln -fs $STF_PATH/exportfs $STF_PATH/unshare
+}
+
#
# Output a useful usage message.
#
fail "Passwordless sudo access required."
fi
+#
+# Constain the available binaries to a known set.
+#
+constrain_path
+
#
# Check if ksh exists
#
-if [ -z "$(which ksh 2>/dev/null)" ]; then
- fail "This test suite requires ksh."
-fi
+[ -e $STF_PATH/ksh ] || fail "This test suite requires ksh."
#
# Verify the ZFS module stack if loaded.
#
-${SUDO} "${ZFS_SH}" &>/dev/null
+sudo "${ZFS_SH}" &>/dev/null
#
# Attempt to cleanup all previous state for a new test run.
# By default preserve any existing pools
#
if [ -z "${KEEP}" ]; then
- KEEP=$(${SUDO} "${ZPOOL}" list -H -o name)
+ KEEP=$(sudo $ZPOOL list -H -o name)
if [ -z "${KEEP}" ]; then
KEEP="rpool"
fi
__ZFS_POOL_EXCLUDE="$(echo $KEEP | sed ':a;N;s/\n/ /g;ba')"
+. $STF_SUITE/include/default.cfg
+
msg
msg "--- Configuration ---"
msg "Runfile: $RUNFILE"
msg "STF_TOOLS: $STF_TOOLS"
msg "STF_SUITE: $STF_SUITE"
+msg "STF_PATH: $STF_PATH"
#
# No DISKS have been provided so a basic file or loopback based devices
check_loop_utils
for TEST_FILE in ${FILES}; do
- TEST_LOOPBACK=$(${SUDO} "${LOSETUP}" -f)
- ${SUDO} "${LOSETUP}" "${TEST_LOOPBACK}" "${TEST_FILE}" ||
+ TEST_LOOPBACK=$(sudo "${LOSETUP}" -f)
+ sudo "${LOSETUP}" "${TEST_LOOPBACK}" "${TEST_FILE}" ||
fail "Failed: ${TEST_FILE} -> ${TEST_LOOPBACK}"
LOOPBACKS="${LOOPBACKS}${TEST_LOOPBACK} "
BASELOOPBACKS=$(basename "$TEST_LOOPBACK")
#
# Disable SELinux until the ZFS Test Suite has been updated accordingly.
#
-if [ -x ${SETENFORCE} ]; then
- ${SUDO} ${SETENFORCE} permissive &>/dev/null
+if [ -x "$STF_PATH/setenforce" ]; then
+ sudo setenforce permissive &>/dev/null
fi
msg "FILEDIR: $FILEDIR"
msg "NUM_DISKS: $NUM_DISKS"
msg "FILESIZE: $FILESIZE"
msg "Keep pool(s): $KEEP"
+msg "Missing util(s): $STF_MISSING_BIN"
msg ""
export STF_TOOLS
export STF_SUITE
+export STF_PATH
export DISKS
export KEEP
export __ZFS_POOL_EXCLUDE
+export PATH=$STF_PATH
msg "${TEST_RUNNER} ${QUIET} -c ${RUNFILE} -i ${STF_SUITE}"
${TEST_RUNNER} ${QUIET} -c "${RUNFILE}" -i "${STF_SUITE}"
while (( $retry > 0 )); do
"$@" 2>$logfile
status=$?
- out="$CAT $logfile"
+ out="cat $logfile"
if (( $status == 0 )); then
- $out | $EGREP -i "internal error|assertion failed" \
+ $out | egrep -i "internal error|assertion failed" \
> /dev/null 2>&1
# internal error or assertion failed
if [[ $? -eq 0 ]]; then
fi
break
else
- $out | $GREP -i "$expect" > /dev/null 2>&1
+ $out | grep -i "$expect" > /dev/null 2>&1
if (( $? == 0 )); then
print -u2 $($out)
_printerror "$@" "Retry in $delay seconds"
- $SLEEP $delay
+ sleep $delay
(( retry=retry - 1 ))
(( delay=delay * 2 ))
"$@" 2>$logfile
typeset status=$?
- out="$CAT $logfile"
+ out="cat $logfile"
# unexpected status
if (( $status == 0 )); then
print -u2 $($out)
_printerror "$@" "unexpectedly exited $status (SEGV)"
else
- $out | $EGREP -i "internal error|assertion failed" \
+ $out | egrep -i "internal error|assertion failed" \
> /dev/null 2>&1
# internal error or assertion failed
if (( $? == 0 )); then
_printerror "$@" "internal error or assertion failure" \
" exited $status"
elif [[ -n $expect ]] ; then
- $out | $GREP -i "$expect" > /dev/null 2>&1
+ $out | grep -i "$expect" > /dev/null 2>&1
if (( $? == 0 )); then
ret=0
else
"$@" 2>$logfile
typeset status=$?
- out="$CAT $logfile"
+ out="cat $logfile"
if (( $status != 0 )) ; then
print -u2 $($out)
_printerror "$@" "exited $status"
else
- $out | $EGREP -i "internal error|assertion failed" \
+ $out | egrep -i "internal error|assertion failed" \
> /dev/null 2>&1
# internal error or assertion failed
if [[ $? -eq 0 ]]; then
while [[ -e $logfile ]]; do
if [[ -z $2 || $logfile != $1 ]]; then
- $CAT $logfile
+ cat $logfile
fi
- $RM -f $logfile
+ rm -f $logfile
logfile="$logfile.$$"
done
}
+++ /dev/null
-/commands.cfg
-/default.cfg
--- /dev/null
+#
+# These variables are used by zfs-tests.sh to constrain which utilities
+# may be used by the suite. The suite will create a directory which is
+# the only element of $PATH and create symlinks from that dir to the
+# binaries listed below.
+#
+# Please keep the contents of each variable sorted for ease of reading
+# and maintenance.
+#
+export SYSTEM_FILES='arp
+ awk
+ attr
+ basename
+ bc
+ blockdev
+ bunzip2
+ bzcat
+ cat
+ chattr
+ chgrp
+ chmod
+ chown
+ cksum
+ cmp
+ cp
+ cpio
+ cut
+ date
+ dd
+ df
+ diff
+ dirname
+ du
+ echo
+ egrep
+ exportfs
+ expr
+ false
+ fdisk
+ file
+ find
+ fio
+ getconf
+ getent
+ getfacl
+ grep
+ groupadd
+ groupdel
+ groupmod
+ gunzip
+ gzip
+ head
+ hostname
+ id
+ iostat
+ kill
+ ksh
+ ln
+ logname
+ ls
+ lsblk
+ lsmod
+ lsscsi
+ md5sum
+ mkdir
+ mknod
+ mktemp
+ modprobe
+ mount
+ mpstat
+ mv
+ net
+ openssl
+ parted
+ pax
+ pgrep
+ ping
+ pkill
+ printf
+ ps
+ pwd
+ python
+ quotaon
+ readlink
+ rm
+ rmdir
+ sed
+ seq
+ setenforce
+ setfacl
+ setfattr
+ sh
+ sha256sum
+ shuf
+ sleep
+ sort
+ stat
+ strings
+ su
+ sudo
+ sum
+ swapon
+ sync
+ tail
+ tar
+ timeout
+ touch
+ tr
+ true
+ truncate
+ udevadm
+ umask
+ umount
+ uname
+ useradd
+ userdel
+ usermod
+ uuidgen
+ vmstat
+ wait
+ wc
+ which
+ xargs'
+
+export ZFS_FILES='zdb
+ zfs
+ zhack
+ zinject
+ zpool
+ ztest
+ zpios
+ raidz_test
+ arc_summary.py
+ arcstat.py
+ dbufstat.py
+ zed'
+
+export ZFSTEST_FILES='chg_usr_exec
+ devname2devid
+ dir_rd_update
+ file_check
+ file_trunc
+ file_write
+ largest_file
+ mkbusy
+ mkfile
+ mkfiles
+ mktree
+ mmap_exec
+ mmapwrite
+ randfree_file
+ readmmap
+ rename_dir
+ rm_lnkcnt_zero_file
+ threadsappend
+ xattrtest'
+++ /dev/null
-export AWK="@AWK@"
-export BLOCKDEV="@BLOCKDEV@"
-export BASENAME="@BASENAME@"
-export BC="@BC@"
-export BUNZIP2="@BUNZIP2@"
-export BZCAT="@BZCAT@"
-export CAT="@CAT@"
-export CD="@CD@"
-export CHACL="@CHACL@"
-export CHGRP="@CHGRP@"
-export CHMOD="@CHMOD@"
-export CHOWN="@CHOWN@"
-export CKSUM="@CKSUM@"
-export CMP="@CMP@"
-export COMPRESS="@COMPRESS@"
-export COREADM="@COREADM@"
-export CP="@CP@"
-export CPIO="@CPIO@"
-export CUT="@CUT@"
-export DATE="@DATE@"
-export DD="@DD@"
-export DF="@DF@"
-export DIFF="@DIFF@"
-export DIRCMP="@DIRCMP@"
-export DIRNAME="@DIRNAME@"
-export DU="@DU@"
-export DUMPADM="@DUMPADM@"
-export ECHO="@ECHO@"
-export EGREP="@EGREP@"
-export FALSE="@FALSE@"
-export FDISK="@FDISK@"
-export FGREP="@FGREP@"
-export FILE="@FILE@"
-export FIND="@FIND@"
-export FIO="@FIO@"
-export FORMAT="@FORMAT@"
-export FREE="@FREE@"
-export FSCK="@FSCK@"
-export GETENT="@GETENT@"
-export GETFACL="@GETFACL@"
-export GETMAJOR="@GETMAJOR@"
-export GNUDD="@GNUDD@"
-export GREP="@GREP@"
-export GROUPADD="@GROUPADD@"
-export GROUPDEL="@GROUPDEL@"
-export GROUPMOD="@GROUPMOD@"
-export HEAD="@HEAD@"
-export HOSTNAME="@HOSTNAME@"
-export ID="@ID@"
-export IOSTAT="@IOSTAT@"
-export KILL="@KILL@"
-export KSH="@KSH@"
-export KSTAT="@KSTAT@"
-export LOCKFS="@LOCKFS@"
-export LOFIADM="@LOFIADM@"
-export LOGNAME="@LOGNAME@"
-export LS="@LS@"
-export LSBLK="@LSBLK@"
-export LSMOD="@LSMOD@"
-export LSSCSI="@LSSCSI@"
-export MD5SUM="@MD5SUM@"
-export MKDIR="@MKDIR@"
-export MKNOD="@MKNOD@"
-export MKTEMP="@MKTEMP@"
-export MNTTAB="@MNTTAB@"
-export MODINFO="@MODINFO@"
-export MODLOAD="@MODLOAD@"
-export MODUNLOAD="@MODUNLOAD@"
-export MOUNT="@MOUNT@"
-export MPSTAT="@MPSTAT@"
-export MV="@MV@"
-export NAWK="@AWK@"
-export NET="@NET@"
-export NEWFS="@NEWFS@"
-export NPROC="@NPROC@"
-export PAGESIZE="@PAGESIZE@"
-export PFEXEC="@PFEXEC@"
-export PGREP="@PGREP@"
-export PING="@PING@"
-export PKGINFO="@PKGINFO@"
-export PKILL="@PKILL@"
-export PRINTF="@PRINTF@"
-export PRTVTOC="@PRTVTOC@"
-export PS="@PS@"
-export PSRINFO="@PSRINFO@"
-export PYTHON="@PYTHON@"
-export READLINK="@READLINK@"
-export REBOOT="@REBOOT@"
-export RM="@RM@"
-export RMDIR="@RMDIR@"
-export RSH="@RSH@"
-export SED="@SED@"
-export SETFACL="@SETFACL@"
-export SHARE="@SHARE@"
-export SHUF="@SHUF@"
-export SLEEP="@SLEEP@"
-export SORT="@SORT@"
-export STAT="@STAT@"
-export STRINGS="@STRINGS@"
-export SU="@SU@"
-export SUM="@SUM@"
-export SVCADM="@SVCADM@"
-export SVCS="@SVCS@"
-export SWAP="@SWAP@"
-export SWAPADD="@SWAPADD@"
-export SYNC="@SYNC@"
-export TAIL="@TAIL@"
-export TAR="@TAR@"
-export TIMEOUT="@TIMEOUT@"
-export TOUCH="@TOUCH@"
-export TR="@TR@"
-export TRUNCATE="@TRUNCATE@"
-export TRUE="@TRUE@"
-export UDEVADM="@UDEVADM@"
-export UFSDUMP="@UFSDUMP@"
-export UFSRESTORE="@UFSRESTORE@"
-export UMASK="@UMASK@"
-export UMOUNT="@UMOUNT@"
-export UMOUNTALL="@UMOUNTALL@"
-export UNAME="@UNAME@"
-export UNCOMPRESS="@UNCOMPRESS@"
-export UNIQ="@UNIQ@"
-export UNSHARE="@UNSHARE@"
-export USERADD="@USERADD@"
-export USERDEL="@USERDEL@"
-export USERMOD="@USERMOD@"
-export UUIDGEN="@UUIDGEN@"
-export VMSTAT="@VMSTAT@"
-export WAIT="@WAIT@"
-export WC="@WC@"
-export ZONEADM="@ZONEADM@"
-export ZONECFG="@ZONECFG@"
-export ZONENAME="@ZONENAME@"
--- /dev/null
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
+#
+
+. $STF_SUITE/include/commands.cfg
+. $STF_SUITE/include/libtest.shlib
+
+# ZFS Directories
+export ZEDLETDIR=${ZEDLETDIR:-/etc/zfs/zed.d}
+
+# Define run length constants
+export RT_LONG="3"
+export RT_MEDIUM="2"
+export RT_SHORT="1"
+
+# Define macro for zone test
+export ZONE_POOL="zonepool"
+export ZONE_CTR="zonectr"
+
+# ensure we're running in the C locale, since
+# localised messages may result in test failures
+export LC_ALL="C"
+export LANG="C"
+
+#
+# pattern to ignore from 'zpool list'.
+#
+export NO_POOLS="no pools available"
+
+# pattern to ignore from 'zfs list'.
+export NO_DATASETS="no datasets available"
+
+export TEST_BASE_DIR="/var/tmp"
+
+# Default to compression ON
+export COMPRESSION_PROP=on
+
+# Default to using the checksum
+export CHECKSUM_PROP=on
+
+# some common variables used by test scripts :
+export FIO_SCRIPTS=$STF_SUITE/tests/perf/fio
+export PERF_SCRIPTS=$STF_SUITE/tests/perf/scripts
+
+# some test pool names
+export TESTPOOL=testpool.$$
+export TESTPOOL1=testpool1.$$
+export TESTPOOL2=testpool2.$$
+export TESTPOOL3=testpool3.$$
+export PERFPOOL=perfpool
+
+# some test file system names
+export TESTFS=testfs.$$
+export TESTFS1=testfs1.$$
+export TESTFS2=testfs2.$$
+export TESTFS3=testfs3.$$
+
+# some test directory names
+export TESTDIR=${TEST_BASE_DIR%%/}/testdir$$
+export TESTDIR0=${TEST_BASE_DIR%%/}/testdir0$$
+export TESTDIR1=${TEST_BASE_DIR%%/}/testdir1$$
+export TESTDIR2=${TEST_BASE_DIR%%/}/testdir2$$
+
+# some temp files
+export TEMPFILE=${TEST_BASE_DIR%%/}/tempfile$$
+export TEMPFILE0=${TEST_BASE_DIR%%/}/tempfile0$$
+export TEMPFILE1=${TEST_BASE_DIR%%/}/tempfile1$$
+export TEMPFILE2=${TEST_BASE_DIR%%/}/tempfile2$$
+
+export ZFSROOT=
+
+export TESTSNAP=testsnap$$
+export TESTSNAP1=testsnap1$$
+export TESTSNAP2=testsnap2$$
+export TESTCLONE=testclone$$
+export TESTCLONE1=testclone1$$
+export TESTCLONE2=testclone2$$
+export TESTCLCT=testclct$$
+export TESTCTR=testctr$$
+export TESTCTR1=testctr1$$
+export TESTCTR2=testctr2$$
+export TESTVOL=testvol$$
+export TESTVOL1=testvol1$$
+export TESTVOL2=testvol2$$
+export TESTFILE0=testfile0.$$
+export TESTFILE1=testfile1.$$
+export TESTFILE2=testfile2.$$
+export TESTBKMARK=testbkmark$$
+
+export LONGPNAME="poolname50charslong_012345678901234567890123456789"
+export LONGFSNAME="fsysname50charslong_012345678901234567890123456789"
+export SNAPFS="$TESTPOOL/$TESTFS@$TESTSNAP"
+export SNAPFS1="$TESTPOOL/$TESTVOL@$TESTSNAP"
+
+export VOLSIZE=150m
+export BIGVOLSIZE=1eb
+
+# Default to limit disks to be checked
+export MAX_FINDDISKSNUM=6
+
+# Default minimum size for file based vdevs in the test suite
+export MINVDEVSIZE=$((256 * 1024 * 1024))
+
+# Minimum vdev size possible as defined in the OS
+export SPA_MINDEVSIZE=$((64 * 1024 * 1024))
+
+# For iscsi target support
+export ISCSITGTFILE=/tmp/iscsitgt_file
+export ISCSITGT_FMRI=svc:/system/iscsitgt:default
+if ! is_linux; then
+export AUTO_SNAP=$(svcs -a | grep auto-snapshot | grep online | awk \
+ '{print $3}')
+fi
+
+#
+# finally, if we're running in a local zone
+# we take some additional actions
+if ! is_global_zone; then
+ reexport_pool
+fi
+
+export ZFS_VERSION=5
+export ZFS_ALL_VERSIONS="1 2 3 4 5"
+
+for i in $ZFS_ALL_VERSIONS; do
+ eval 'export ZFS_VERSION_$i="v${i}-fs"'
+done
+
+export MAX_PARTITIONS=8
+
+if is_linux; then
+ unpack_opts="--sparse -xf"
+ pack_opts="--sparse -cf"
+ verbose=" -v"
+ unpack_preserve=" -xpf"
+ pack_preserve=" -cpf"
+
+ ZVOL_DEVDIR="/dev/zvol"
+ ZVOL_RDEVDIR="/dev/zvol"
+ DEV_RDSKDIR="/dev"
+ DEV_MPATHDIR="/dev/mapper"
+ ZEDLET_DIR="/var/tmp/zed"
+
+ NEWFS_DEFAULT_FS="ext2"
+else
+ unpack_opts="xv"
+ pack_opts="cf"
+ verbose="v"
+ unpack_preserve="xpf"
+ pack_preserve="cpf"
+
+ ZVOL_DEVDIR="/dev/zvol/dsk"
+ ZVOL_RDEVDIR="/dev/zvol/rdsk"
+ DEV_DSKDIR="/dev/dsk"
+ DEV_RDSKDIR="/dev/rdsk"
+
+ NEWFS_DEFAULT_FS="ufs"
+fi
+export unpack_opts pack_opts verbose unpack_preserve pack_preserve \
+ ZVOL_DEVDIR ZVOL_RDEVDIR NEWFS_DEFAULT_FS DEV_RDSKDIR DEV_MPATHDIR \
+ ZEDLET_DIR
+++ /dev/null
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
-#
-
-#
-# Copyright (c) 2016 by Delphix. All rights reserved.
-# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
-#
-
-. $STF_SUITE/include/commands.cfg
-
-# Common paths
-bindir=@bindir@
-sbindir=@sbindir@
-etcdir=@sysconfdir@
-
-# ZFS Directories
-export ZEDLETDIR=${ZEDLETDIR:-${etcdir}/zfs/zed.d}
-
-# ZFS Commands
-export ZDB=${ZDB:-${sbindir}/zdb}
-export ZFS=${ZFS:-${sbindir}/zfs}
-export ZHACK=${ZHACK:-${sbindir}/zhack}
-export ZINJECT=${ZINJECT:-${sbindir}/zinject}
-export ZPOOL=${ZPOOL:-${sbindir}/zpool}
-export ZTEST=${ZTEST:-${sbindir}/ztest}
-export ZPIOS=${ZPIOS:-${sbindir}/zpios}
-export RAIDZ_TEST=${RAIDZ_TEST:-${bindir}/raidz_test}
-export ARC_SUMMARY=${ARC_SUMMARY:-${bindir}/arc_summary.py}
-export ARCSTAT=${ARCSTAT:-${bindir}/arcstat.py}
-export DBUFSTAT=${DBUFSTAT:-${bindir}/dbufstat.py}
-export ZED=${ZED:-${sbindir}/zed}
-
-. $STF_SUITE/include/libtest.shlib
-
-# Optionally override the installed ZFS commands to run in-tree
-if [[ -f "$SRCDIR/zfs-script-config.sh" ]]; then
- . $SRCDIR/zfs-script-config.sh
-fi
-
-# Define run length constants
-export RT_LONG="3"
-export RT_MEDIUM="2"
-export RT_SHORT="1"
-
-# Define macro for zone test
-export ZONE_POOL="zonepool"
-export ZONE_CTR="zonectr"
-
-# Test Suite Specific Commands
-helperdir=@datarootdir@/@PACKAGE@/zfs-tests/bin
-export CHG_USR_EXEC=${CHG_USR_EXEC:-${helperdir}/chg_usr_exec}
-export DEVNAME2DEVID=${DEVNAME2DEVID:-${helperdir}/devname2devid}
-export DIR_RD_UPDATE=${DIR_RD_UPDATE:-${helperdir}/dir_rd_update}
-export FILE_CHECK=${FILE_CHECK:-${helperdir}/file_check}
-export FILE_TRUNC=${FILE_TRUNC:-${helperdir}/file_trunc}
-export FILE_WRITE=${FILE_WRITE:-${helperdir}/file_write}
-export LARGEST_FILE=${LARGEST_FILE:-${helperdir}/largest_file}
-export MKBUSY=${MKBUSY:-${helperdir}/mkbusy}
-export MKFILE=${MKFILE:-${helperdir}/mkfile}
-export MKFILES=${MKFILES:-${helperdir}/mkfiles}
-export MKTREE=${MKTREE:-${helperdir}/mktree}
-export MMAP_EXEC=${MMAP_EXEC:-${helperdir}/mmap_exec}
-export MMAPWRITE=${MMAPWRITE:-${helperdir}/mmapwrite}
-export RANDFREE_FILE=${RANDFREE_FILE:-${helperdir}/randfree_file}
-export READMMAP=${READMMAP:-${helperdir}/readmmap}
-export RENAME_DIR=${RENAME_DIR:-${helperdir}/rename_dir}
-export RM_LNKCNT_ZERO_FILE=${RM_LNKCNT_ZERO_FILE:-${helperdir}/rm_lnkcnt_zero_file}
-export THREADSAPPEND=${THREADSAPPEND:-${helperdir}/threadsappend}
-export XATTRTEST=${XATTRTEST:-${helperdir}/xattrtest}
-
-# ensure we're running in the C locale, since
-# localised messages may result in test failures
-export LC_ALL="C"
-export LANG="C"
-
-#
-# pattern to ignore from 'zpool list'.
-#
-export NO_POOLS="no pools available"
-
-# pattern to ignore from 'zfs list'.
-export NO_DATASETS="no datasets available"
-
-export TEST_BASE_DIR="/var/tmp"
-
-# Default to compression ON
-export COMPRESSION_PROP=on
-
-# Default to using the checksum
-export CHECKSUM_PROP=on
-
-# some common variables used by test scripts :
-export FIO_SCRIPTS=$STF_SUITE/tests/perf/fio
-export PERF_SCRIPTS=$STF_SUITE/tests/perf/scripts
-
-# some test pool names
-export TESTPOOL=testpool.$$
-export TESTPOOL1=testpool1.$$
-export TESTPOOL2=testpool2.$$
-export TESTPOOL3=testpool3.$$
-export PERFPOOL=perfpool
-
-# some test file system names
-export TESTFS=testfs.$$
-export TESTFS1=testfs1.$$
-export TESTFS2=testfs2.$$
-export TESTFS3=testfs3.$$
-
-# some test directory names
-export TESTDIR=${TEST_BASE_DIR%%/}/testdir$$
-export TESTDIR0=${TEST_BASE_DIR%%/}/testdir0$$
-export TESTDIR1=${TEST_BASE_DIR%%/}/testdir1$$
-export TESTDIR2=${TEST_BASE_DIR%%/}/testdir2$$
-
-# some temp files
-export TEMPFILE=${TEST_BASE_DIR%%/}/tempfile$$
-export TEMPFILE0=${TEST_BASE_DIR%%/}/tempfile0$$
-export TEMPFILE1=${TEST_BASE_DIR%%/}/tempfile1$$
-export TEMPFILE2=${TEST_BASE_DIR%%/}/tempfile2$$
-
-export ZFSROOT=
-
-export TESTSNAP=testsnap$$
-export TESTSNAP1=testsnap1$$
-export TESTSNAP2=testsnap2$$
-export TESTCLONE=testclone$$
-export TESTCLONE1=testclone1$$
-export TESTCLONE2=testclone2$$
-export TESTCLCT=testclct$$
-export TESTCTR=testctr$$
-export TESTCTR1=testctr1$$
-export TESTCTR2=testctr2$$
-export TESTVOL=testvol$$
-export TESTVOL1=testvol1$$
-export TESTVOL2=testvol2$$
-export TESTFILE0=testfile0.$$
-export TESTFILE1=testfile1.$$
-export TESTFILE2=testfile2.$$
-export TESTBKMARK=testbkmark$$
-
-export LONGPNAME="poolname50charslong_012345678901234567890123456789"
-export LONGFSNAME="fsysname50charslong_012345678901234567890123456789"
-export SNAPFS="$TESTPOOL/$TESTFS@$TESTSNAP"
-export SNAPFS1="$TESTPOOL/$TESTVOL@$TESTSNAP"
-
-export VOLSIZE=150m
-export BIGVOLSIZE=1eb
-
-# Default to limit disks to be checked
-export MAX_FINDDISKSNUM=6
-
-# Default minimum size for file based vdevs in the test suite
-export MINVDEVSIZE=$((256 * 1024 * 1024))
-
-# Minimum vdev size possible as defined in the OS
-export SPA_MINDEVSIZE=$((64 * 1024 * 1024))
-
-# For iscsi target support
-export ISCSITGTFILE=/tmp/iscsitgt_file
-export ISCSITGT_FMRI=svc:/system/iscsitgt:default
-
-#
-# finally, if we're running in a local zone
-# we take some additional actions
-if ! is_global_zone; then
- reexport_pool
-fi
-
-export ZFS_VERSION=5
-export ZFS_ALL_VERSIONS="1 2 3 4 5"
-
-for i in $ZFS_ALL_VERSIONS; do
- eval 'export ZFS_VERSION_$i="v${i}-fs"'
-done
-
-export MAX_PARTITIONS=8
-
-if is_linux; then
- unpack_opts="--sparse -xf"
- pack_opts="--sparse -cf"
- verbose=" -v"
- unpack_preserve=" -xpf"
- pack_preserve=" -cpf"
-
- ZVOL_DEVDIR="/dev/zvol"
- ZVOL_RDEVDIR="/dev/zvol"
- DEV_RDSKDIR="/dev"
- DEV_MPATHDIR="/dev/mapper"
- ZEDLET_DIR="/var/tmp/zed"
-
- NEWFS_DEFAULT_FS="ext2"
-else
- unpack_opts="xv"
- pack_opts="cf"
- verbose="v"
- unpack_preserve="xpf"
- pack_preserve="cpf"
-
- ZVOL_DEVDIR="/dev/zvol/dsk"
- ZVOL_RDEVDIR="/dev/zvol/rdsk"
- DEV_DSKDIR="/dev/dsk"
- DEV_RDSKDIR="/dev/rdsk"
-
- NEWFS_DEFAULT_FS="ufs"
-fi
-export unpack_opts pack_opts verbose unpack_preserve pack_preserve \
- ZVOL_DEVDIR ZVOL_RDEVDIR NEWFS_DEFAULT_FS DEV_RDSKDIR DEV_MPATHDIR \
- ZEDLET_DIR
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
#
. ${STF_TOOLS}/include/logapi.shlib
+#
+# Apply constrained path when available. This is required since the
+# PATH may have been modified by sudo's secure_path behavior.
+#
+if [ -n "$STF_PATH" ]; then
+ PATH="$STF_PATH"
+fi
+
# Determine if this is a Linux test system
#
# Return 0 if platform Linux, 1 if otherwise
function is_linux
{
- if [[ $($UNAME -o) == "GNU/Linux" ]]; then
+ if [[ $(uname -o) == "GNU/Linux" ]]; then
return 0
else
return 1
case $fstype in
zfs)
if [[ "$1" == "/"* ]] ; then
- for out in $($ZFS mount | $AWK '{print $2}'); do
+ for out in $(zfs mount | awk '{print $2}'); do
[[ $1 == $out ]] && return 0
done
else
- for out in $($ZFS mount | $AWK '{print $1}'); do
+ for out in $(zfs mount | awk '{print $1}'); do
[[ $1 == $out ]] && return 0
done
fi
;;
ufs|nfs)
- out=$($DF -F $fstype $1 2>/dev/null)
+ out=$(df -F $fstype $1 2>/dev/null)
ret=$?
(($ret != 0)) && return $ret
[[ "$1" == "$dir" || "$1" == "$name" ]] && return 0
;;
ext2)
- out=$($DF -t $fstype $1 2>/dev/null)
+ out=$(df -t $fstype $1 2>/dev/null)
return $?
;;
zvol)
if [[ -L "$ZVOL_DEVDIR/$1" ]]; then
link=$(readlink -f $ZVOL_DEVDIR/$1)
[[ -n "$link" ]] && \
- $MOUNT | $GREP -q "^$link" && \
+ mount | grep -q "^$link" && \
return 0
fi
;;
function splitline
{
- $ECHO $1 | $SED "s/,/ /g"
+ echo $1 | sed "s/,/ /g"
}
function default_setup
if poolexists $TESTPOOL ; then
destroy_pool $TESTPOOL
fi
- [[ -d /$TESTPOOL ]] && $RM -rf /$TESTPOOL
- log_note creating pool $TESTPOOL $disklist
- log_must $ZPOOL create -f $TESTPOOL $disklist
+ [[ -d /$TESTPOOL ]] && rm -rf /$TESTPOOL
+ log_must zpool create -f $TESTPOOL $disklist
else
reexport_pool
fi
- $RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
- $MKDIR -p $TESTDIR || log_unresolved Could not create $TESTDIR
+ rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+ mkdir -p $TESTDIR || log_unresolved Could not create $TESTDIR
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
if [[ -n $container ]]; then
- $RM -rf $TESTDIR1 || \
+ rm -rf $TESTDIR1 || \
log_unresolved Could not remove $TESTDIR1
- $MKDIR -p $TESTDIR1 || \
+ mkdir -p $TESTDIR1 || \
log_unresolved Could not create $TESTDIR1
- log_must $ZFS create $TESTPOOL/$TESTCTR
- log_must $ZFS set canmount=off $TESTPOOL/$TESTCTR
- log_must $ZFS create $TESTPOOL/$TESTCTR/$TESTFS1
- log_must $ZFS set mountpoint=$TESTDIR1 \
+ log_must zfs create $TESTPOOL/$TESTCTR
+ log_must zfs set canmount=off $TESTPOOL/$TESTCTR
+ log_must zfs create $TESTPOOL/$TESTCTR/$TESTFS1
+ log_must zfs set mountpoint=$TESTDIR1 \
$TESTPOOL/$TESTCTR/$TESTFS1
fi
if [[ -n $volume ]]; then
if is_global_zone ; then
- log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+ log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
block_device_wait
else
- log_must $ZFS create $TESTPOOL/$TESTVOL
+ log_must zfs create $TESTPOOL/$TESTVOL
fi
fi
}
datasetexists $fs_vol || \
log_fail "$fs_vol must exist."
- log_must $ZFS snapshot $fs_vol@$snap
+ log_must zfs snapshot $fs_vol@$snap
}
#
[[ -z $clone ]] && \
log_fail "Clone name is undefined."
- log_must $ZFS clone $snap $clone
+ log_must zfs clone $snap $clone
}
#
snapexists $fs_vol@$snap || \
log_fail "$fs_vol@$snap must exist."
- log_must $ZFS bookmark $fs_vol@$snap $fs_vol#$bkmark
+ log_must zfs bookmark $fs_vol@$snap $fs_vol#$bkmark
}
function default_mirror_setup
log_fail "$func: No parameters passed"
[[ -z $secondary ]] && \
log_fail "$func: No secondary partition passed"
- [[ -d /$TESTPOOL ]] && $RM -rf /$TESTPOOL
- log_must $ZPOOL create -f $TESTPOOL mirror $@
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ [[ -d /$TESTPOOL ]] && rm -rf /$TESTPOOL
+ log_must zpool create -f $TESTPOOL mirror $@
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
#
shift
while ((nmirrors > 0)); do
log_must test -n "$1" -a -n "$2"
- [[ -d /$TESTPOOL$nmirrors ]] && $RM -rf /$TESTPOOL$nmirrors
- log_must $ZPOOL create -f $TESTPOOL$nmirrors mirror $1 $2
+ [[ -d /$TESTPOOL$nmirrors ]] && rm -rf /$TESTPOOL$nmirrors
+ log_must zpool create -f $TESTPOOL$nmirrors mirror $1 $2
shift 2
((nmirrors = nmirrors - 1))
done
shift
while ((nraidzs > 0)); do
log_must test -n "$1" -a -n "$2"
- [[ -d /$TESTPOOL$nraidzs ]] && $RM -rf /$TESTPOOL$nraidzs
- log_must $ZPOOL create -f $TESTPOOL$nraidzs raidz $1 $2
+ [[ -d /$TESTPOOL$nraidzs ]] && rm -rf /$TESTPOOL$nraidzs
+ log_must zpool create -f $TESTPOOL$nraidzs raidz $1 $2
shift 2
((nraidzs = nraidzs - 1))
done
log_fail "A raid-z requires a minimum of two disks."
fi
- [[ -d /$TESTPOOL ]] && $RM -rf /$TESTPOOL
- log_must $ZPOOL create -f $TESTPOOL raidz $1 $2 $3
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ [[ -d /$TESTPOOL ]] && rm -rf /$TESTPOOL
+ log_must zpool create -f $TESTPOOL raidz $1 $2 $3
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
log_pass
}
# filesystems it contains.
#
if is_global_zone; then
- $ZFS unmount -a > /dev/null 2>&1
- [[ -z "$KEEP" ]] && KEEP="rpool"
- exclude=`eval $ECHO \"'(${KEEP})'\"`
- ALL_POOLS=$($ZPOOL list -H -o name \
- | $GREP -v "$NO_POOLS" | $EGREP -vw "$exclude")
+ zfs unmount -a > /dev/null 2>&1
+ exclude=`eval echo \"'(${KEEP})'\"`
+ ALL_POOLS=$(zpool list -H -o name \
+ | grep -v "$NO_POOLS" | egrep -v "$exclude")
# Here, we loop through the pools we're allowed to
# destroy, only destroying them if it's safe to do
# so.
then
destroy_pool $pool
fi
- ALL_POOLS=$($ZPOOL list -H -o name \
- | $GREP -v "$NO_POOLS" \
- | $EGREP -v "$exclude")
+ ALL_POOLS=$(zpool list -H -o name \
+ | grep -v "$NO_POOLS" \
+ | egrep -v "$exclude")
done
done
- $ZFS mount -a
+ zfs mount -a
else
typeset fs=""
- for fs in $($ZFS list -H -o name \
- | $GREP "^$ZONE_POOL/$ZONE_CTR[01234]/"); do
+ for fs in $(zfs list -H -o name \
+ | grep "^$ZONE_POOL/$ZONE_CTR[01234]/"); do
datasetexists $fs && \
- log_must $ZFS destroy -Rf $fs
+ log_must zfs destroy -Rf $fs
done
# Need cleanup here to avoid garbage dir left.
- for fs in $($ZFS list -H -o name); do
+ for fs in $(zfs list -H -o name); do
[[ $fs == /$ZONE_POOL ]] && continue
- [[ -d $fs ]] && log_must $RM -rf $fs/*
+ [[ -d $fs ]] && log_must rm -rf $fs/*
done
#
# Reset the $ZONE_POOL/$ZONE_CTR[01234] file systems property to
# the default value
#
- for fs in $($ZFS list -H -o name); do
+ for fs in $(zfs list -H -o name); do
if [[ $fs == $ZONE_POOL/$ZONE_CTR[01234] ]]; then
- log_must $ZFS set reservation=none $fs
- log_must $ZFS set recordsize=128K $fs
- log_must $ZFS set mountpoint=/$fs $fs
+ log_must zfs set reservation=none $fs
+ log_must zfs set recordsize=128K $fs
+ log_must zfs set mountpoint=/$fs $fs
typeset enc=""
enc=$(get_prop encryption $fs)
if [[ $? -ne 0 ]] || [[ -z "$enc" ]] || \
[[ "$enc" == "off" ]]; then
- log_must $ZFS set checksum=on $fs
+ log_must zfs set checksum=on $fs
fi
- log_must $ZFS set compression=off $fs
- log_must $ZFS set atime=on $fs
- log_must $ZFS set devices=off $fs
- log_must $ZFS set exec=on $fs
- log_must $ZFS set setuid=on $fs
- log_must $ZFS set readonly=off $fs
- log_must $ZFS set snapdir=hidden $fs
- log_must $ZFS set aclmode=groupmask $fs
- log_must $ZFS set aclinherit=secure $fs
+ log_must zfs set compression=off $fs
+ log_must zfs set atime=on $fs
+ log_must zfs set devices=off $fs
+ log_must zfs set exec=on $fs
+ log_must zfs set setuid=on $fs
+ log_must zfs set readonly=off $fs
+ log_must zfs set snapdir=hidden $fs
+ log_must zfs set aclmode=groupmask $fs
+ log_must zfs set aclinherit=secure $fs
fi
done
fi
[[ -d $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
disk1=${DISKS%% *}
if is_mpath_device $disk1; then
ismounted $TESTPOOL/$TESTCTR/$TESTFS1
[[ $? -eq 0 ]] && \
- log_must $ZFS unmount $TESTPOOL/$TESTCTR/$TESTFS1
+ log_must zfs unmount $TESTPOOL/$TESTCTR/$TESTFS1
datasetexists $TESTPOOL/$TESTCTR/$TESTFS1 && \
- log_must $ZFS destroy -R $TESTPOOL/$TESTCTR/$TESTFS1
+ log_must zfs destroy -R $TESTPOOL/$TESTCTR/$TESTFS1
datasetexists $TESTPOOL/$TESTCTR && \
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTCTR
+ log_must zfs destroy -Rf $TESTPOOL/$TESTCTR
[[ -e $TESTDIR1 ]] && \
- log_must $RM -rf $TESTDIR1 > /dev/null 2>&1
+ log_must rm -rf $TESTDIR1 > /dev/null 2>&1
default_cleanup
}
log_fail "get_prop mountpoint $snap failed."
fi
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
[[ $mtpt != "" && -d $mtpt ]] && \
- log_must $RM -rf $mtpt
+ log_must rm -rf $mtpt
}
#
log_fail "get_prop mountpoint $clone failed."
fi
- log_must $ZFS destroy $clone
+ log_must zfs destroy $clone
[[ $mtpt != "" && -d $mtpt ]] && \
- log_must $RM -rf $mtpt
+ log_must rm -rf $mtpt
}
#
log_fail "'$bkmarkp' does not existed."
fi
- log_must $ZFS destroy $bkmark
+ log_must zfs destroy $bkmark
}
# Return 0 if a snapshot exists; $? otherwise
function snapexists
{
- $ZFS list -H -t snapshot "$1" > /dev/null 2>&1
+ zfs list -H -t snapshot "$1" > /dev/null 2>&1
return $?
}
#
function bkmarkexists
{
- $ZFS list -H -t bookmark "$1" > /dev/null 2>&1
+ zfs list -H -t bookmark "$1" > /dev/null 2>&1
return $?
}
return 1
fi
typeset output=
- output=$($ZFS set $2=$3 $1 2>&1)
+ output=$(zfs set $2=$3 $1 2>&1)
typeset rv=$?
if ((rv != 0)); then
log_note "Setting property on $1 failed."
typeset confset=
typeset -i found=0
- for confset in $($ZFS list); do
+ for confset in $(zfs list); do
if [[ $dataset = $confset ]]; then
found=1
break
typeset i
if is_linux; then
- log_must $FORMAT $DEV_DSKDIR/$diskname -s -- mklabel gpt
+ log_must parted $DEV_DSKDIR/$diskname -s -- mklabel gpt
else
for i in 0 1 3 4 5 6 7
do
# Create GPT partition table when setting slice 0 or
# when the device doesn't already contain a GPT label.
- $FORMAT $DEV_DSKDIR/$disk -s -- print 1 >/dev/null
+ parted $DEV_DSKDIR/$disk -s -- print 1 >/dev/null
typeset ret_val=$?
if [[ $slicenum -eq 0 || $ret_val -ne 0 ]]; then
- log_must $FORMAT $DEV_DSKDIR/$disk -s -- mklabel gpt
+ log_must parted $DEV_DSKDIR/$disk -s -- mklabel gpt
fi
# When no start is given align on the first cylinder.
# Determine the cylinder size for the device and using
# that calculate the end offset in cylinders.
typeset -i cly_size_kb=0
- cly_size_kb=$($FORMAT -m $DEV_DSKDIR/$disk -s -- \
- unit cyl print | $HEAD -3 | $TAIL -1 | \
- $AWK -F '[:k.]' '{print $4}')
+ cly_size_kb=$(parted -m $DEV_DSKDIR/$disk -s -- \
+ unit cyl print | head -3 | tail -1 | \
+ awk -F '[:k.]' '{print $4}')
((end = (size_mb * 1024 / cly_size_kb) + start))
- log_must $FORMAT $DEV_DSKDIR/$disk -s -- \
+ log_must parted $DEV_DSKDIR/$disk -s -- \
mkpart part$slicenum ${start}cyl ${end}cyl
- $BLOCKDEV --rereadpt $DEV_DSKDIR/$disk 2>/dev/null
+ blockdev --rereadpt $DEV_DSKDIR/$disk 2>/dev/null
block_device_wait
else
typeset format_file=/var/tmp/format_in.$$
- $ECHO "partition" >$format_file
- $ECHO "$slicenum" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "$start" >> $format_file
- $ECHO "$size" >> $format_file
- $ECHO "label" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "q" >> $format_file
- $ECHO "q" >> $format_file
+ echo "partition" >$format_file
+ echo "$slicenum" >> $format_file
+ echo "" >> $format_file
+ echo "" >> $format_file
+ echo "$start" >> $format_file
+ echo "$size" >> $format_file
+ echo "label" >> $format_file
+ echo "" >> $format_file
+ echo "q" >> $format_file
+ echo "q" >> $format_file
- $FORMAT -e -s -d $disk -f $format_file
+ format -e -s -d $disk -f $format_file
fi
+
typeset ret_val=$?
- $RM -f $format_file
+ rm -f $format_file
[[ $ret_val -ne 0 ]] && \
log_fail "Unable to format $disk slice $slicenum to $size"
return 0
typeset -i j=1
if [[ -z $DISK_ARRAY_NUM ]]; then
- DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+ DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
fi
if [[ -z $DISKSARRAY ]]; then
DISKSARRAY=$DISKS
if is_linux; then
if (( $DISK_ARRAY_NUM == 1 )); then
while ((j < MAX_PARTITIONS)); do
- $FORMAT $DEV_DSKDIR/$DISK -s rm $j > /dev/null 2>&1
+ parted $DEV_DSKDIR/$DISK -s rm $j \
+ > /dev/null 2>&1
if (( $? == 1 )); then
- $LSBLK | $EGREP ${DISK}${SLICE_PREFIX}${j} > /dev/null
+ lsblk | egrep ${DISK}${SLICE_PREFIX}${j} > /dev/null
if (( $? == 1 )); then
log_note "Partitions for $DISK should be deleted"
else
fi
return 0
else
- $LSBLK | $EGREP ${DISK}${SLICE_PREFIX}${j} > /dev/null
+ lsblk | egrep ${DISK}${SLICE_PREFIX}${j} > /dev/null
if (( $? == 0 )); then
log_fail "Partition for ${DISK}${SLICE_PREFIX}${j} not deleted"
fi
((j = j+1))
done
else
- for disk in `$ECHO $DISKSARRAY`; do
+ for disk in `echo $DISKSARRAY`; do
while ((j < MAX_PARTITIONS)); do
- $FORMAT $DEV_DSKDIR/$disk -s rm $j > /dev/null 2>&1
+ parted $DEV_DSKDIR/$disk -s rm $j > /dev/null 2>&1
if (( $? == 1 )); then
- $LSBLK | $EGREP ${disk}${SLICE_PREFIX}${j} > /dev/null
+ lsblk | egrep ${disk}${SLICE_PREFIX}${j} > /dev/null
if (( $? == 1 )); then
log_note "Partitions for $disk should be deleted"
else
fi
j=7
else
- $LSBLK | $EGREP ${disk}${SLICE_PREFIX}${j} > /dev/null
+ lsblk | egrep ${disk}${SLICE_PREFIX}${j} > /dev/null
if (( $? == 0 )); then
log_fail "Partition for ${disk}${SLICE_PREFIX}${j} not deleted"
fi
fi
if is_linux; then
- endcyl=$($FORMAT -s $DEV_DSKDIR/$disk -- unit cyl print | \
- $GREP "part${slice}" | \
- $AWK '{print $3}' | \
- $SED 's,cyl,,')
+ endcyl=$(parted -s $DEV_DSKDIR/$disk -- unit cyl print | \
+ grep "part${slice}" | \
+ awk '{print $3}' | \
+ sed 's,cyl,,')
((endcyl = (endcyl + 1)))
else
disk=${disk#/dev/dsk/}
disk=${disk%s*}
typeset -i ratio=0
- ratio=$($PRTVTOC /dev/rdsk/${disk}s2 | \
- $GREP "sectors\/cylinder" | \
- $AWK '{print $2}')
+ ratio=$(prtvtoc /dev/rdsk/${disk}s2 | \
+ grep "sectors\/cylinder" | \
+ awk '{print $2}')
if ((ratio == 0)); then
return
fi
- typeset -i endcyl=$($PRTVTOC -h /dev/rdsk/${disk}s2 |
- $NAWK -v token="$slice" '{if ($1==token) print $6}')
+ typeset -i endcyl=$(prtvtoc -h /dev/rdsk/${disk}s2 |
+ nawk -v token="$slice" '{if ($1==token) print $6}')
((endcyl = (endcyl + 1) / ratio))
fi
-
+
echo $endcyl
}
#
# This function continues to write to a filenum number of files into dirnum
-# number of directories until either $FILE_WRITE returns an error or the
+# number of directories until either file_write returns an error or the
# maximum number of files per directory have been written.
#
# Usage:
typeset -i fn=0
typeset -i retval=0
- log_must $MKDIR -p $destdir/$idirnum
+ log_must mkdir -p $destdir/$idirnum
while (($odirnum > 0)); do
if ((dirnum >= 0 && idirnum >= dirnum)); then
odirnum=0
break
fi
- $FILE_WRITE -o create -f $destdir/$idirnum/$TESTFILE.$fn \
+ file_write -o create -f $destdir/$idirnum/$TESTFILE.$fn \
-b $bytes -c $num_writes -d $data
retval=$?
if (($retval != 0)); then
if (($fn >= $filenum)); then
fn=0
((idirnum = idirnum + 1))
- log_must $MKDIR -p $destdir/$idirnum
+ log_must mkdir -p $destdir/$idirnum
else
((fn = fn + 1))
fi
typeset prop=$1
typeset dataset=$2
- prop_val=$($ZFS get -pH -o value $prop $dataset 2>/dev/null)
+ prop_val=$(zfs get -pH -o value $prop $dataset 2>/dev/null)
if [[ $? -ne 0 ]]; then
log_note "Unable to get $prop property for dataset " \
"$dataset"
return 1
fi
- $ECHO "$prop_val"
+ echo "$prop_val"
return 0
}
typeset pool=$2
if poolexists $pool ; then
- prop_val=$($ZPOOL get -pH $prop $pool 2>/dev/null | $TAIL -1 | \
- $AWK '{print $3}')
+ prop_val=$(zpool get -pH $prop $pool 2>/dev/null | tail -1 | \
+ awk '{print $3}')
if [[ $? -ne 0 ]]; then
log_note "Unable to get $prop property for pool " \
"$pool"
return 1
fi
- $ECHO "$prop_val"
+ echo "$prop_val"
return 0
}
return 1
fi
- $ZPOOL get name "$pool" > /dev/null 2>&1
+ zpool get name "$pool" > /dev/null 2>&1
return $?
}
fi
while (($# > 0)); do
- $ZFS get name $1 > /dev/null 2>&1 || \
+ zfs get name $1 > /dev/null 2>&1 || \
return $?
shift
done
fi
while (($# > 0)); do
- $ZFS list -H -t filesystem,snapshot,volume $1 > /dev/null 2>&1 \
+ zfs list -H -t filesystem,snapshot,volume $1 > /dev/null 2>&1 \
&& return 1
shift
done
fi
if is_linux; then
- for mtpt in `$SHARE | $AWK '{print $1}'` ; do
+ for mtpt in `share | awk '{print $1}'` ; do
if [[ $mtpt == $fs ]] ; then
return 0
fi
return 1
fi
- for mtpt in `$SHARE | $AWK '{print $2}'` ; do
+ for mtpt in `share | awk '{print $2}'` ; do
if [[ $mtpt == $fs ]] ; then
return 0
fi
done
- typeset stat=$($SVCS -H -o STA nfs/server:default)
+ typeset stat=$(svcs -H -o STA nfs/server:default)
if [[ $stat != "ON" ]]; then
log_note "Current nfs/server status: $stat"
fi
fi
if is_linux; then
- for mtpt in `$NET usershare list | $AWK '{print $1}'` ; do
+ for mtpt in `net usershare list | awk '{print $1}'` ; do
if [[ $mtpt == $fs ]] ; then
return 0
fi
is_shared $fs || is_shared_smb $fs
if (($? == 0)); then
- log_must $ZFS unshare $fs
+ log_must zfs unshare $fs
fi
return 0
if is_linux; then
is_shared $fs
if (($? != 0)); then
- log_must $SHARE "*:$fs"
+ log_must share "*:$fs"
fi
else
is_shared $fs
if (($? != 0)); then
- log_must $SHARE -F nfs $fs
+ log_must share -F nfs $fs
fi
fi
if is_linux; then
is_shared $fs
if (($? == 0)); then
- log_must $UNSHARE -u "*:$fs"
+ log_must unshare -u "*:$fs"
fi
else
is_shared $fs
if (($? == 0)); then
- log_must $UNSHARE -F nfs $fs
+ log_must unshare -F nfs $fs
fi
fi
function showshares_nfs
{
if is_linux; then
- $SHARE -v
+ share -v
else
- $SHARE -F nfs
+ share -F nfs
fi
return 0
function showshares_smb
{
if is_linux; then
- $NET usershare list
+ net usershare list
else
- $SHARE -F smb
+ share -F smb
fi
return 0
fi
typeset nfs_fmri="svc:/network/nfs/server:default"
- if [[ $($SVCS -Ho STA $nfs_fmri) != "ON" ]]; then
+ if [[ $(svcs -Ho STA $nfs_fmri) != "ON" ]]; then
#
# Only really sharing operation can enable NFS server
# to online permanently.
typeset dummy=/tmp/dummy
if [[ -d $dummy ]]; then
- log_must $RM -rf $dummy
+ log_must rm -rf $dummy
fi
- log_must $MKDIR $dummy
- log_must $SHARE $dummy
+ log_must mkdir $dummy
+ log_must share $dummy
#
# Waiting for fmri's status to be the final status.
#
# Waiting for 1's at least.
#
- log_must $SLEEP 1
+ log_must sleep 1
timeout=10
- while [[ timeout -ne 0 && $($SVCS -Ho STA $nfs_fmri) == *'*' ]]
+ while [[ timeout -ne 0 && $(svcs -Ho STA $nfs_fmri) == *'*' ]]
do
- log_must $SLEEP 1
+ log_must sleep 1
((timeout -= 1))
done
- log_must $UNSHARE $dummy
- log_must $RM -rf $dummy
+ log_must unshare $dummy
+ log_must rm -rf $dummy
fi
- log_note "Current NFS status: '$($SVCS -Ho STA,FMRI $nfs_fmri)'"
+ log_note "Current NFS status: '$(svcs -Ho STA,FMRI $nfs_fmri)'"
}
#
#
function is_global_zone
{
- typeset cur_zone=$($ZONENAME 2>/dev/null)
- if [[ $cur_zone != "global" ]]; then
- return 1
+ if is_linux; then
+ return 0
+ else
+ typeset cur_zone=$(zonename 2>/dev/null)
+ if [[ $cur_zone != "global" ]]; then
+ return 1
+ fi
+ return 0
fi
- return 0
}
#
fi
if is_global_zone ; then
- [[ -d /$pool ]] && $RM -rf /$pool
- log_must $ZPOOL create -f $pool $@
+ [[ -d /$pool ]] && rm -rf /$pool
+ log_must zpool create -f $pool $@
fi
return 0
typeset -i wait_time=10 ret=1 count=0
must=""
while [[ $ret -ne 0 ]]; do
- $must $ZPOOL destroy -f $pool
+ $must zpool destroy -f $pool
ret=$?
[[ $ret -eq 0 ]] && break
log_note "zpool destroy failed with $ret"
[[ count++ -ge 7 ]] && must=log_must
- $SLEEP $wait_time
+ sleep $wait_time
done
[[ -d $mtpt ]] && \
- log_must $RM -rf $mtpt
+ log_must rm -rf $mtpt
else
log_note "Pool does not exist. ($pool)"
return 1
# Create pool and 5 container within it
#
- [[ -d /$pool_name ]] && $RM -rf /$pool_name
- log_must $ZPOOL create -f $pool_name $DISKS
+ [[ -d /$pool_name ]] && rm -rf /$pool_name
+ log_must zpool create -f $pool_name $DISKS
while ((i < cntctr)); do
- log_must $ZFS create $pool_name/$prefix_ctr$i
+ log_must zfs create $pool_name/$prefix_ctr$i
((i += 1))
done
# create a zvol
- log_must $ZFS create -V 1g $pool_name/zone_zvol
+ log_must zfs create -V 1g $pool_name/zone_zvol
block_device_wait
#
#
if verify_slog_support ; then
typeset sdevs="/var/tmp/sdev1 /var/tmp/sdev2"
- log_must $MKFILE $MINVDEVSIZE $sdevs
- log_must $ZPOOL add $pool_name log mirror $sdevs
+ log_must mkfile $MINVDEVSIZE $sdevs
+ log_must zpool add $pool_name log mirror $sdevs
fi
# this isn't supported just yet.
# Create a filesystem. In order to add this to
# the zone, it must have it's mountpoint set to 'legacy'
- # log_must $ZFS create $pool_name/zfs_filesystem
- # log_must $ZFS set mountpoint=legacy $pool_name/zfs_filesystem
+ # log_must zfs create $pool_name/zfs_filesystem
+ # log_must zfs set mountpoint=legacy $pool_name/zfs_filesystem
[[ -d $zone_root ]] && \
- log_must $RM -rf $zone_root/$zone_name
+ log_must rm -rf $zone_root/$zone_name
[[ ! -d $zone_root ]] && \
- log_must $MKDIR -p -m 0700 $zone_root/$zone_name
+ log_must mkdir -p -m 0700 $zone_root/$zone_name
# Create zone configure file and configure the zone
#
typeset zone_conf=/tmp/zone_conf.$$
- $ECHO "create" > $zone_conf
- $ECHO "set zonepath=$zone_root/$zone_name" >> $zone_conf
- $ECHO "set autoboot=true" >> $zone_conf
+ echo "create" > $zone_conf
+ echo "set zonepath=$zone_root/$zone_name" >> $zone_conf
+ echo "set autoboot=true" >> $zone_conf
i=0
while ((i < cntctr)); do
- $ECHO "add dataset" >> $zone_conf
- $ECHO "set name=$pool_name/$prefix_ctr$i" >> \
+ echo "add dataset" >> $zone_conf
+ echo "set name=$pool_name/$prefix_ctr$i" >> \
$zone_conf
- $ECHO "end" >> $zone_conf
+ echo "end" >> $zone_conf
((i += 1))
done
# add our zvol to the zone
- $ECHO "add device" >> $zone_conf
- $ECHO "set match=$ZVOL_DEVDIR/$pool_name/zone_zvol" >> $zone_conf
- $ECHO "end" >> $zone_conf
+ echo "add device" >> $zone_conf
+ echo "set match=/dev/zvol/dsk/$pool_name/zone_zvol" >> $zone_conf
+ echo "end" >> $zone_conf
# add a corresponding zvol rdsk to the zone
- $ECHO "add device" >> $zone_conf
- $ECHO "set match=$ZVOL_RDEVDIR/$pool_name/zone_zvol" >> $zone_conf
- $ECHO "end" >> $zone_conf
+ echo "add device" >> $zone_conf
+ echo "set match=$ZVOL_RDEVDIR/$pool_name/zone_zvol" >> $zone_conf
+ echo "end" >> $zone_conf
# once it's supported, we'll add our filesystem to the zone
- # $ECHO "add fs" >> $zone_conf
- # $ECHO "set type=zfs" >> $zone_conf
- # $ECHO "set special=$pool_name/zfs_filesystem" >> $zone_conf
- # $ECHO "set dir=/export/zfs_filesystem" >> $zone_conf
- # $ECHO "end" >> $zone_conf
+ # echo "add fs" >> $zone_conf
+ # echo "set type=zfs" >> $zone_conf
+ # echo "set special=$pool_name/zfs_filesystem" >> $zone_conf
+ # echo "set dir=/export/zfs_filesystem" >> $zone_conf
+ # echo "end" >> $zone_conf
- $ECHO "verify" >> $zone_conf
- $ECHO "commit" >> $zone_conf
- log_must $ZONECFG -z $zone_name -f $zone_conf
- log_must $RM -f $zone_conf
+ echo "verify" >> $zone_conf
+ echo "commit" >> $zone_conf
+ log_must zonecfg -z $zone_name -f $zone_conf
+ log_must rm -f $zone_conf
# Install the zone
- $ZONEADM -z $zone_name install
+ zoneadm -z $zone_name install
if (($? == 0)); then
- log_note "SUCCESS: $ZONEADM -z $zone_name install"
+ log_note "SUCCESS: zoneadm -z $zone_name install"
else
- log_fail "FAIL: $ZONEADM -z $zone_name install"
+ log_fail "FAIL: zoneadm -z $zone_name install"
fi
# Install sysidcfg file
#
typeset sysidcfg=$zone_root/$zone_name/root/etc/sysidcfg
- $ECHO "system_locale=C" > $sysidcfg
- $ECHO "terminal=dtterm" >> $sysidcfg
- $ECHO "network_interface=primary {" >> $sysidcfg
- $ECHO "hostname=$zone_name" >> $sysidcfg
- $ECHO "}" >> $sysidcfg
- $ECHO "name_service=NONE" >> $sysidcfg
- $ECHO "root_password=mo791xfZ/SFiw" >> $sysidcfg
- $ECHO "security_policy=NONE" >> $sysidcfg
- $ECHO "timezone=US/Eastern" >> $sysidcfg
+ echo "system_locale=C" > $sysidcfg
+ echo "terminal=dtterm" >> $sysidcfg
+ echo "network_interface=primary {" >> $sysidcfg
+ echo "hostname=$zone_name" >> $sysidcfg
+ echo "}" >> $sysidcfg
+ echo "name_service=NONE" >> $sysidcfg
+ echo "root_password=mo791xfZ/SFiw" >> $sysidcfg
+ echo "security_policy=NONE" >> $sysidcfg
+ echo "timezone=US/Eastern" >> $sysidcfg
# Boot this zone
- log_must $ZONEADM -z $zone_name boot
+ log_must zoneadm -z $zone_name boot
}
#
if ((i == 0)); then
TESTPOOL=$ZONE_POOL/$ZONE_CTR$i
if ! ismounted $TESTPOOL; then
- log_must $ZFS mount $TESTPOOL
+ log_must zfs mount $TESTPOOL
fi
else
eval TESTPOOL$i=$ZONE_POOL/$ZONE_CTR$i
if eval ! ismounted \$TESTPOOL$i; then
- log_must eval $ZFS mount \$TESTPOOL$i
+ log_must eval zfs mount \$TESTPOOL$i
fi
fi
((i += 1))
if [[ -z $disk ]]; then
#check pool state only
- $ZPOOL get -H -o value health $pool \
+ zpool get -H -o value health $pool \
| grep -i "$state" > /dev/null 2>&1
else
- $ZPOOL status -v $pool | grep "$disk" \
+ zpool status -v $pool | grep "$disk" \
| grep -i "$state" > /dev/null 2>&1
fi
if is_linux; then
if [[ -z $hostnum ]]; then
for host in /sys/class/scsi_host/host*; do
- log_must eval "$ECHO '- - -' > $host/scan"
+ log_must eval "echo '- - -' > $host/scan"
done
else
log_must eval \
- "$ECHO /sys/class/scsi_host/host$hostnum/scan" \
+ "echo /sys/class/scsi_host/host$hostnum/scan" \
> /dev/null
log_must eval \
- "$ECHO '- - -' > /sys/class/scsi_host/host$hostnum/scan"
+ "echo '- - -' > /sys/class/scsi_host/host$hostnum/scan"
fi
fi
}
function block_device_wait
{
if is_linux; then
- $UDEVADM trigger
- $UDEVADM settle
+ udevadm trigger
+ udevadm settle
fi
}
if is_linux; then
if [[ $state == "offline" ]] && ( is_mpath_device $disk ); then
- dm_name="$($READLINK $DEV_DSKDIR/$disk \
- | $NAWK -F / '{print $2}')"
- slave="$($LS /sys/block/${dm_name}/slaves \
- | $NAWK '{print $1}')"
+ dm_name="$(readlink $DEV_DSKDIR/$disk \
+ | nawk -F / '{print $2}')"
+ slave="$(ls /sys/block/${dm_name}/slaves \
+ | nawk '{print $1}')"
while [[ -n $slave ]]; do
#check if disk is online
- $LSSCSI | $EGREP $slave > /dev/null
+ lsscsi | egrep $slave > /dev/null
if (($? == 0)); then
slave_dir="/sys/block/${dm_name}"
slave_dir+="/slaves/${slave}/device"
ss="${slave_dir}/state"
sd="${slave_dir}/delete"
- log_must eval "$ECHO 'offline' > ${ss}"
- log_must eval "$ECHO '1' > ${sd}"
- $LSSCSI | $EGREP $slave > /dev/null
+ log_must eval "echo 'offline' > ${ss}"
+ log_must eval "echo '1' > ${sd}"
+ lsscsi | egrep $slave > /dev/null
if (($? == 0)); then
log_fail "Offlining" \
"$disk failed"
fi
fi
- slave="$($LS /sys/block/$dm_name/slaves \
- 2>/dev/null | $NAWK '{print $1}')"
+ slave="$(ls /sys/block/$dm_name/slaves \
+ 2>/dev/null | nawk '{print $1}')"
done
elif [[ $state == "offline" ]] && ( is_real_device $disk ); then
#check if disk is online
- $LSSCSI | $EGREP $disk > /dev/null
+ lsscsi | egrep $disk > /dev/null
if (($? == 0)); then
dev_state="/sys/block/$disk/device/state"
dev_delete="/sys/block/$disk/device/delete"
- log_must eval "$ECHO 'offline' > ${dev_state}"
- log_must eval "$ECHO '1' > ${dev_delete}"
- $LSSCSI | $EGREP $disk > /dev/null
+ log_must eval "echo 'offline' > ${dev_state}"
+ log_must eval "echo '1' > ${dev_delete}"
+ lsscsi | egrep $disk > /dev/null
if (($? == 0)); then
log_fail "Offlining $disk" \
"failed"
scan_scsi_hosts $host
block_device_wait
if is_mpath_device $disk; then
- dm_name="$($READLINK $DEV_DSKDIR/$disk \
- | $NAWK -F / '{print $2}')"
- slave="$($LS /sys/block/$dm_name/slaves \
- | $NAWK '{print $1}')"
- $LSSCSI | $EGREP $slave > /dev/null
+ dm_name="$(readlink $DEV_DSKDIR/$disk \
+ | nawk -F / '{print $2}')"
+ slave="$(ls /sys/block/$dm_name/slaves \
+ | nawk '{print $1}')"
+ lsscsi | egrep $slave > /dev/null
if (($? != 0)); then
log_fail "Onlining $disk failed"
fi
elif is_real_device $disk; then
- $LSSCSI | $EGREP $disk > /dev/null
+ lsscsi | egrep $disk > /dev/null
if (($? != 0)); then
log_fail "Onlining $disk failed"
fi
log_fail "Error name of snapshot '$dataset'."
fi
- $ECHO $(get_prop mountpoint $fs)/.zfs/snapshot/$snap
+ echo $(get_prop mountpoint $fs)/.zfs/snapshot/$snap
}
#
typeset dirs=$@
typeset search_path=""
- log_note "Calling $ZDB to verify filesystem '$filesys'"
- $ZFS unmount -a > /dev/null 2>&1
- log_must $ZPOOL export $pool
+ log_note "Calling zdb to verify filesystem '$filesys'"
+ zfs unmount -a > /dev/null 2>&1
+ log_must zpool export $pool
if [[ -n $dirs ]] ; then
for dir in $dirs ; do
done
fi
- log_must $ZPOOL import $search_path $pool
+ log_must zpool import $search_path $pool
- $ZDB -cudi $filesys > $zdbout 2>&1
+ zdb -cudi $filesys > $zdbout 2>&1
if [[ $? != 0 ]]; then
- log_note "Output: $ZDB -cudi $filesys"
- $CAT $zdbout
- log_fail "$ZDB detected errors with: '$filesys'"
+ log_note "Output: zdb -cudi $filesys"
+ cat $zdbout
+ log_fail "zdb detected errors with: '$filesys'"
fi
- log_must $ZFS mount -a
- log_must $RM -rf $zdbout
+ log_must zfs mount -a
+ log_must rm -rf $zdbout
}
#
{
typeset disklist=""
- disklist=$($ZPOOL iostat -v $1 | $NAWK '(NR >4) {print $1}' | \
- $GREP -v "\-\-\-\-\-" | \
- $EGREP -v -e "^(mirror|raidz1|raidz2|spare|log|cache)$")
+ disklist=$(zpool iostat -v $1 | nawk '(NR >4) {print $1}' | \
+ grep -v "\-\-\-\-\-" | \
+ egrep -v -e "^(mirror|raidz1|raidz2|spare|log|cache)$")
- $ECHO $disklist
+ echo $disklist
}
#
log_note "Waiting for child processes($cpids). " \
"It could last dozens of minutes, please be patient ..."
- log_must $SLEEP $TIMEOUT
+ log_must sleep $TIMEOUT
log_note "Killing child processes after ${TIMEOUT} stress timeout."
typeset pid
for pid in $cpids; do
- $PS -p $pid > /dev/null 2>&1
+ ps -p $pid > /dev/null 2>&1
if (($? == 0)); then
- log_must $KILL -USR1 $pid
+ log_must kill -USR1 $pid
fi
done
}
typeset token=$2
typeset keyword=$3
- $ZPOOL status -v "$pool" 2>/dev/null | $NAWK -v token="$token:" '
+ zpool status -v "$pool" 2>/dev/null | nawk -v token="$token:" '
($1==token) {print $0}' \
- | $GREP -i "$keyword" > /dev/null 2>&1
+ | grep -i "$keyword" > /dev/null 2>&1
return $?
}
{
typeset rhost=$1
typeset username=$2
- typeset rsh_cmd="$RSH -n"
+ typeset rsh_cmd="rsh -n"
typeset cur_user=
- $GETENT hosts $rhost >/dev/null 2>&1
+ getent hosts $rhost >/dev/null 2>&1
if (($? != 0)); then
log_note "$rhost cannot be found from" \
"administrative database."
return 1
fi
- $PING $rhost 3 >/dev/null 2>&1
+ ping $rhost 3 >/dev/null 2>&1
if (($? != 0)); then
log_note "$rhost is not reachable."
return 1
rsh_cmd="$rsh_cmd -l $username"
cur_user="given user \"$username\""
else
- cur_user="current user \"`$LOGNAME`\""
+ cur_user="current user \"`logname`\""
fi
- if ! $rsh_cmd $rhost $TRUE; then
- log_note "$RSH to $rhost is not accessible" \
+ if ! $rsh_cmd $rhost true; then
+ log_note "rsh to $rhost is not accessible" \
"with $cur_user."
return 1
fi
err_file=/tmp/${rhost}.$$.err
if ((${#ruser} == 0)); then
- rsh_str="$RSH -n"
+ rsh_str="rsh -n"
else
- rsh_str="$RSH -n -l $ruser"
+ rsh_str="rsh -n -l $ruser"
fi
$rsh_str $rhost /bin/ksh -c "'$cmd_str; \
>/dev/null 2>$err_file
ret=$?
if (($ret != 0)); then
- $CAT $err_file
- $RM -f $std_file $err_file
- log_fail "$RSH itself failed with exit code $ret..."
+ cat $err_file
+ rm -f $std_file $err_file
+ log_fail "rsh itself failed with exit code $ret..."
fi
- ret=$($GREP -v 'print -u 2' $err_file | $GREP 'status=' | \
- $CUT -d= -f2)
- (($ret != 0)) && $CAT $err_file >&2
+ ret=$(grep -v 'print -u 2' $err_file | grep 'status=' | \
+ cut -d= -f2)
+ (($ret != 0)) && cat $err_file >&2
- $RM -f $err_file >/dev/null 2>&1
+ rm -f $err_file >/dev/null 2>&1
return $ret
}
typeset rhost=$1
typeset pkgpath=""
- pkgpath=$($RSH -n $rhost "$PKGINFO -l SUNWstc-fs-zfs | $GREP BASEDIR: |\
- $CUT -d: -f2")
+ pkgpath=$(rsh -n $rhost "pkginfo -l SUNWstc-fs-zfs | grep BASEDIR: |\
+ cut -d: -f2")
- $ECHO $pkgpath
+ echo $pkgpath
}
#/**
{
# Trust provided list, no attempt is made to locate unused devices.
if is_linux; then
- $ECHO "$@"
+ echo "$@"
return
fi
dmpi=/tmp/dumpdev.$$
max_finddisksnum=${MAX_FINDDISKSNUM:-6}
- $SWAP -l > $sfi
- $DUMPADM > $dmpi 2>/dev/null
+ swap -l > $sfi
+ dumpadm > $dmpi 2>/dev/null
# write an awk script that can process the output of format
# to produce a list of disks we know about. Note that we have
# to escape "$2" so that the shell doesn't interpret it while
# we're creating the awk script.
# -------------------
- $CAT > /tmp/find_disks.awk <<EOF
+ cat > /tmp/find_disks.awk <<EOF
#!/bin/nawk -f
BEGIN { FS="."; }
EOF
#---------------------
- $CHMOD 755 /tmp/find_disks.awk
- disks=${@:-$($ECHO "" | $FORMAT -e 2>/dev/null | /tmp/find_disks.awk)}
- $RM /tmp/find_disks.awk
+ chmod 755 /tmp/find_disks.awk
+ disks=${@:-$(echo "" | format -e 2>/dev/null | /tmp/find_disks.awk)}
+ rm /tmp/find_disks.awk
unused=""
for disk in $disks; do
# Check for mounted
- $GREP "${disk}[sp]" /etc/mnttab >/dev/null
+ grep "${disk}[sp]" /etc/mnttab >/dev/null
(($? == 0)) && continue
# Check for swap
- $GREP "${disk}[sp]" $sfi >/dev/null
+ grep "${disk}[sp]" $sfi >/dev/null
(($? == 0)) && continue
# check for dump device
- $GREP "${disk}[sp]" $dmpi >/dev/null
+ grep "${disk}[sp]" $dmpi >/dev/null
(($? == 0)) && continue
# check to see if this disk hasn't been explicitly excluded
# by a user-set environment variable
- $ECHO "${ZFS_HOST_DEVICES_IGNORE}" | $GREP "${disk}" > /dev/null
+ echo "${ZFS_HOST_DEVICES_IGNORE}" | grep "${disk}" > /dev/null
(($? == 0)) && continue
unused_candidates="$unused_candidates $disk"
done
- $RM $sfi
- $RM $dmpi
+ rm $sfi
+ rm $dmpi
# now just check to see if those disks do actually exist
# by looking for a device pointing to the first slice in
done
# finally, return our disk list
- $ECHO $unused
+ echo $unused
}
#
log_fail "group name or user name are not defined."
fi
- log_must $USERADD -g $gname -d $basedir/$uname -m $uname
+ log_must useradd -g $gname -d $basedir/$uname -m $uname
+ echo "export PATH=\"$STF_PATH\"" >>$basedir/$uname/.profile
+ echo "export PATH=\"$STF_PATH\"" >>$basedir/$uname/.bash_profile
+ echo "export PATH=\"$STF_PATH\"" >>$basedir/$uname/.login
# Add new users to the same group and the command line utils.
# This allows them to be run out of the original users home
# directory as long as it permissioned to be group readable.
if is_linux; then
- cmd_group=$(stat --format="%G" $ZFS)
- log_must $USERMOD -a -G $cmd_group $uname
+ cmd_group=$(stat --format="%G" $(which zfs))
+ log_must usermod -a -G $cmd_group $uname
fi
return 0
log_fail "login name is necessary."
fi
- if $ID $user > /dev/null 2>&1; then
- log_must $USERDEL $user
+ if id $user > /dev/null 2>&1; then
+ log_must userdel $user
fi
- [[ -d $basedir/$user ]] && $RM -fr $basedir/$user
+ [[ -d $basedir/$user ]] && rm -fr $basedir/$user
return 0
}
# Linux because for many distributions 1000 and under are reserved.
if is_linux; then
while true; do
- $GROUPADD $group > /dev/null 2>&1
+ groupadd $group > /dev/null 2>&1
typeset -i ret=$?
case $ret in
0) return 0 ;;
done
else
typeset -i gid=100
-
while true; do
- $GROUPADD -g $gid $group > /dev/null 2>&1
+ groupadd -g $gid $group > /dev/null 2>&1
typeset -i ret=$?
case $ret in
0) return 0 ;;
fi
if is_linux; then
- $GETENT group $grp > /dev/null 2>&1
+ getent group $grp > /dev/null 2>&1
typeset -i ret=$?
case $ret in
# Group does not exist.
2) return 0 ;;
# Name already exists as a group name
- 0) log_must $GROUPDEL $grp ;;
+ 0) log_must groupdel $grp ;;
*) return 1 ;;
esac
else
- $GROUPMOD -n $grp $grp > /dev/null 2>&1
+ groupmod -n $grp $grp > /dev/null 2>&1
typeset -i ret=$?
case $ret in
# Group does not exist.
6) return 0 ;;
# Name already exists as a group name
- 9) log_must $GROUPDEL $grp ;;
+ 9) log_must groupdel $grp ;;
*) return 1 ;;
esac
fi
# by looking at all other pools, ensuring that they
# aren't built from files or zvols contained in this pool.
- for pool in $($ZPOOL list -H -o name)
+ for pool in $(zpool list -H -o name)
do
ALTMOUNTPOOL=""
# this is a list of the top-level directories in each of the
# files that make up the path to the files the pool is based on
- FILEPOOL=$($ZPOOL status -v $pool | $GREP /$1/ | \
- $AWK '{print $1}')
+ FILEPOOL=$(zpool status -v $pool | grep /$1/ | \
+ awk '{print $1}')
# this is a list of the zvols that make up the pool
- ZVOLPOOL=$($ZPOOL status -v $pool | $GREP "$ZVOL_DEVDIR/$1$" \
- | $AWK '{print $1}')
+ ZVOLPOOL=$(zpool status -v $pool | grep "$ZVOL_DEVDIR/$1$" \
+ | awk '{print $1}')
# also want to determine if it's a file-based pool using an
# alternate mountpoint...
- POOL_FILE_DIRS=$($ZPOOL status -v $pool | \
- $GREP / | $AWK '{print $1}' | \
- $AWK -F/ '{print $2}' | $GREP -v "dev")
+ POOL_FILE_DIRS=$(zpool status -v $pool | \
+ grep / | awk '{print $1}' | \
+ awk -F/ '{print $2}' | grep -v "dev")
for pooldir in $POOL_FILE_DIRS
do
- OUTPUT=$($ZFS list -H -r -o mountpoint $1 | \
- $GREP "${pooldir}$" | $AWK '{print $1}')
+ OUTPUT=$(zfs list -H -r -o mountpoint $1 | \
+ grep "${pooldir}$" | awk '{print $1}')
ALTMOUNTPOOL="${ALTMOUNTPOOL}${OUTPUT}"
done
COMPRESS_OPTS="on off lzjb"
fi
typeset valid_opts="$COMPRESS_OPTS"
- $ZFS get 2>&1 | $GREP gzip >/dev/null 2>&1
+ zfs get 2>&1 | grep gzip >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
valid_opts="$valid_opts $GZIP_OPTS"
fi
- $ECHO "$valid_opts"
+ echo "$valid_opts"
}
#
# make sure the upper level filesystem does not exist
if datasetexists ${newdataset%/*} ; then
- log_must $ZFS destroy -rRf ${newdataset%/*}
+ log_must zfs destroy -rRf ${newdataset%/*}
fi
# without -p option, operation will fail
- log_mustnot $ZFS $ops $dataset $newdataset
+ log_mustnot zfs $ops $dataset $newdataset
log_mustnot datasetexists $newdataset ${newdataset%/*}
# with -p option, operation should succeed
- log_must $ZFS $ops -p $dataset $newdataset
+ log_must zfs $ops -p $dataset $newdataset
block_device_wait
if ! datasetexists $newdataset ; then
# when $ops is create or clone, redo the operation still return zero
if [[ $ops != "rename" ]]; then
- log_must $ZFS $ops -p $dataset $newdataset
+ log_must zfs $ops -p $dataset $newdataset
fi
return 0
if ! poolexists "$pool" ; then
return 1
fi
- alt_root=$($ZPOOL list -H $pool | $AWK '{print $NF}')
+ alt_root=$(zpool list -H $pool | awk '{print $NF}')
if [[ $alt_root == "-" ]]; then
- value=$($ZDB -C $pool | $GREP "$config:" | $AWK -F: \
+ value=$(zdb -C $pool | grep "$config:" | awk -F: \
'{print $2}')
else
- value=$($ZDB -e $pool | $GREP "$config:" | $AWK -F: \
+ value=$(zdb -e $pool | grep "$config:" | awk -F: \
'{print $2}')
fi
if [[ -n $value ]] ; then
typeset -i ind
((ind = RANDOM % cnt + 1))
- typeset ret=$($ECHO "$str" | $CUT -f $ind -d ' ')
- $ECHO $ret
+ typeset ret=$(echo "$str" | cut -f $ind -d ' ')
+ echo $ret
}
#
typeset vdev=$dir/a
typeset sdev=$dir/b
- $MKDIR -p $dir
- $MKFILE $MINVDEVSIZE $vdev $sdev
+ mkdir -p $dir
+ mkfile $MINVDEVSIZE $vdev $sdev
typeset -i ret=0
- if ! $ZPOOL create -n $pool $vdev log $sdev > /dev/null 2>&1; then
+ if ! zpool create -n $pool $vdev log $sdev > /dev/null 2>&1; then
ret=1
fi
- $RM -r $dir
+ rm -r $dir
return $ret
}
((iter -= 1))
done
- $ECHO $l_name
+ echo $l_name
}
#
function datasetcksum
{
typeset cksum
- $SYNC
- cksum=$($ZDB -vvv $1 | $GREP "^Dataset $1 \[" | $GREP "cksum" \
- | $AWK -F= '{print $7}')
- $ECHO $cksum
+ sync
+ cksum=$(zdb -vvv $1 | grep "^Dataset $1 \[" | grep "cksum" \
+ | awk -F= '{print $7}')
+ echo $cksum
}
#
function checksum
{
typeset cksum
- cksum=$($CKSUM $1 | $AWK '{print $1}')
- $ECHO $cksum
+ cksum=$(cksum $1 | awk '{print $1}')
+ echo $cksum
}
#
typeset disk=${2#$DEV_DSKDIR/}
typeset field=${3:-$pool}
- state=$($ZPOOL status -v "$pool" 2>/dev/null | \
- $NAWK -v device=$disk -v pool=$pool -v field=$field \
+ state=$(zpool status -v "$pool" 2>/dev/null | \
+ nawk -v device=$disk -v pool=$pool -v field=$field \
'BEGIN {startconfig=0; startfield=0; }
/config:/ {startconfig=1}
(startconfig==1) && ($1==field) {startfield=1; next;}
# $ df -n /
# / : ufs
#
- $DF -n $dir | $AWK '{print $3}'
+ df -n $dir | awk '{print $3}'
}
#
log_fail "The disk name is unspecified."
fi
typeset label_file=/var/tmp/labelvtoc.$$
- typeset arch=$($UNAME -p)
+ typeset arch=$(uname -p)
if is_linux; then
log_note "Currently unsupported by the test framework"
fi
if [[ $arch == "i386" ]]; then
- $ECHO "label" > $label_file
- $ECHO "0" >> $label_file
- $ECHO "" >> $label_file
- $ECHO "q" >> $label_file
- $ECHO "q" >> $label_file
+ echo "label" > $label_file
+ echo "0" >> $label_file
+ echo "" >> $label_file
+ echo "q" >> $label_file
+ echo "q" >> $label_file
- $FDISK -B $disk >/dev/null 2>&1
+ fdisk -B $disk >/dev/null 2>&1
# wait a while for fdisk finishes
- $SLEEP 60
+ sleep 60
elif [[ $arch == "sparc" ]]; then
- $ECHO "label" > $label_file
- $ECHO "0" >> $label_file
- $ECHO "" >> $label_file
- $ECHO "" >> $label_file
- $ECHO "" >> $label_file
- $ECHO "q" >> $label_file
+ echo "label" > $label_file
+ echo "0" >> $label_file
+ echo "" >> $label_file
+ echo "" >> $label_file
+ echo "" >> $label_file
+ echo "q" >> $label_file
else
log_fail "unknown arch type"
fi
- $FORMAT -e -s -d $disk -f $label_file
+ format -e -s -d $disk -f $label_file
typeset -i ret_val=$?
- $RM -f $label_file
+ rm -f $label_file
#
# wait the format to finish
#
- $SLEEP 60
+ sleep 60
if ((ret_val != 0)); then
log_fail "unable to label $disk as VTOC."
fi
#
function is_zfsroot
{
- $DF -n / | $GREP zfs > /dev/null 2>&1
+ df -n / | grep zfs > /dev/null 2>&1
return $?
}
function get_rootfs
{
typeset rootfs=""
- rootfs=$($AWK '{if ($2 == "/" && $3 == "zfs") print $1}' \
+ rootfs=$(awk '{if ($2 == "/" && $3 == "zfs") print $1}' \
/etc/mnttab)
if [[ -z "$rootfs" ]]; then
log_fail "Can not get rootfs"
fi
- $ZFS list $rootfs > /dev/null 2>&1
+ zfs list $rootfs > /dev/null 2>&1
if (($? == 0)); then
- $ECHO $rootfs
+ echo $rootfs
else
log_fail "This is not a zfsroot system."
fi
{
typeset rootfs=""
typeset rootpool=""
- rootfs=$($AWK '{if ($2 == "/" && $3 =="zfs") print $1}' \
+ rootfs=$(awk '{if ($2 == "/" && $3 =="zfs") print $1}' \
/etc/mnttab)
if [[ -z "$rootfs" ]]; then
log_fail "Can not get rootpool"
fi
- $ZFS list $rootfs > /dev/null 2>&1
+ zfs list $rootfs > /dev/null 2>&1
if (($? == 0)); then
- rootpool=`$ECHO $rootfs | awk -F\/ '{print $1}'`
- $ECHO $rootpool
+ rootpool=`echo $rootfs | awk -F\/ '{print $1}'`
+ echo $rootpool
else
log_fail "This is not a zfsroot system."
fi
[[ -f /sys/module/loop/parameters/max_part ]]
return $?
else
- $ECHO $device | $EGREP "^c[0-F]+([td][0-F]+)+$" > /dev/null 2>&1
+ echo $device | egrep "^c[0-F]+([td][0-F]+)+$" > /dev/null 2>&1
return $?
fi
}
[[ -z $disk ]] && log_fail "No argument for disk given."
if is_linux; then
- ($LSBLK $DEV_RDSKDIR/$disk -o TYPE | $EGREP disk > /dev/null) \
- 2>/dev/null
+ lsblk $DEV_RDSKDIR/$disk -o TYPE 2>/dev/null | \
+ egrep disk >/dev/null
return $?
fi
}
[[ -z $disk ]] && log_fail "No argument for disk given."
if is_linux; then
- ($LSBLK $DEV_RDSKDIR/$disk -o TYPE | $EGREP loop > /dev/null) \
- 2>/dev/null
+ lsblk $DEV_RDSKDIR/$disk -o TYPE 2>/dev/null | \
+ egrep loop >/dev/null
return $?
fi
}
[[ -z $disk ]] && log_fail "No argument for disk given."
if is_linux; then
- ($LSBLK $DEV_MPATHDIR/$disk -o TYPE | $EGREP mpath >/dev/null) \
- 2>/dev/null
+ lsblk $DEV_MPATHDIR/$disk -o TYPE 2>/dev/null | \
+ egrep mpath >/dev/null
if (($? == 0)); then
- $READLINK $DEV_MPATHDIR/$disk > /dev/null 2>&1
+ readlink $DEV_MPATHDIR/$disk > /dev/null 2>&1
return $?
else
return $?
if is_linux; then
while (( i < $DISK_ARRAY_NUM )); do
- disk="$($ECHO $DISKS | $NAWK '{print $(i + 1)}')"
- if ( is_mpath_device $disk ) && [[ -z $($ECHO $disk \
- | awk 'substr($1,18,1) ~ /^[[:digit:]]+$/') ]] || \
- ( is_real_device $disk ); then
+ disk="$(echo $DISKS | nawk '{print $(i + 1)}')"
+ if ( is_mpath_device $disk ) && [[ -z $(echo $disk | awk 'substr($1,18,1)\
+ ~ /^[[:digit:]]+$/') ]] || ( is_real_device $disk ); then
export SLICE_PREFIX=""
return 0
elif ( is_mpath_device $disk || is_loop_device \
if is_linux; then
while (( i < $DISK_ARRAY_NUM )); do
- disk="$($ECHO $DISKS | $NAWK '{print $(i + 1)}')"
+ disk="$(echo $DISKS | nawk '{print $(i + 1)}')"
if is_mpath_device $disk; then
export DEV_DSKDIR=$DEV_MPATHDIR
return 0
if [[ -b "$DEV_DSKDIR/$device" ]]; then
device="$DEV_DSKDIR"
fi
- $ECHO $device
+ echo $device
else
- $ECHO "$DEV_DSKDIR"
+ echo "$DEV_DSKDIR"
fi
}
if is_linux; then
if is_real_device $device; then
- dev_id="$($UDEVADM info -q all -n $DEV_DSKDIR/$device \
- | $EGREP disk/by-id | $NAWK '{print $2; exit}' \
- | $NAWK -F / '{print $3}')"
- $ECHO $dev_id
+ dev_id="$(udevadm info -q all -n $DEV_DSKDIR/$device \
+ | egrep disk/by-id | nawk '{print $2; exit}' \
+ | nawk -F / '{print $3}')"
+ echo $dev_id
elif is_mpath_device $device; then
- dev_id="$($UDEVADM info -q all -n $DEV_DSKDIR/$device \
- | $EGREP disk/by-id/dm-uuid \
- | $NAWK '{print $2; exit}' \
- | $NAWK -F / '{print $3}')"
- $ECHO $dev_id
+ dev_id="$(udevadm info -q all -n $DEV_DSKDIR/$device \
+ | egrep disk/by-id/dm-uuid \
+ | nawk '{print $2; exit}' \
+ | nawk -F / '{print $3}')"
+ echo $dev_id
else
- $ECHO $device
+ echo $device
fi
else
- $ECHO $device
+ echo $device
fi
}
[[ -z $luns ]] && log_fail "Arguments invalid or missing"
if is_linux; then
- $MODLOAD -n scsi_debug
+ modprobe -n scsi_debug
if (($? != 0)); then
log_unsupported "Platform does not have scsi_debug"
"module"
fi
- $LSMOD | $EGREP scsi_debug > /dev/zero
+ lsmod | egrep scsi_debug > /dev/null
if (($? == 0)); then
log_fail "scsi_debug module already installed"
else
- log_must $MODLOAD scsi_debug dev_size_mb=$devsize \
+ log_must modprobe scsi_debug dev_size_mb=$devsize \
add_host=$hosts num_tgts=$tgts max_luns=$luns
block_device_wait
- $LSSCSI | $EGREP scsi_debug > /dev/null
+ lsscsi | egrep scsi_debug > /dev/null
if (($? == 1)); then
log_fail "scsi_debug module install failed"
fi
#
function get_word_count
{
- $ECHO $1 | $WC -w
+ echo $1 | wc -w
}
#
#
function is_te_enabled
{
- $SVCS -H -o state labeld 2>/dev/null | $GREP "enabled"
+ svcs -H -o state labeld 2>/dev/null | grep "enabled"
if (($? != 0)); then
return 1
else
function is_mp
{
if is_linux; then
- (($($NPROC) > 1))
+ (($(nproc) > 1))
else
- (($($PSRINFO | $WC -l) > 1))
+ (($(psrinfo | wc -l) > 1))
fi
return $?
function get_cpu_freq
{
if is_linux; then
- lscpu | $AWK '/CPU MHz/ { print $3 }'
+ lscpu | awk '/CPU MHz/ { print $3 }'
else
- $PSRINFO -v 0 | $AWK '/processor operates at/ {print $6}'
+ psrinfo -v 0 | awk '/processor operates at/ {print $6}'
fi
}
shift
log_note "user:$user $@"
- eval \$SU \$user -c \"$@\" > /tmp/out 2>/tmp/err
+ eval su - \$user -c \"$@\" > /tmp/out 2>/tmp/err
return $?
}
shift
- typeset tmpfile=$($MKTEMP)
- $ZPOOL list -Hv "$pool" >$tmpfile
+ typeset tmpfile=$(mktemp)
+ zpool list -Hv "$pool" >$tmpfile
for vdev in $@; do
- $GREP -w ${vdev##*/} $tmpfile >/dev/null 2>&1
+ grep -w ${vdev##*/} $tmpfile >/dev/null 2>&1
[[ $? -ne 0 ]] && return 1
done
- $RM -f $tmpfile
+ rm -f $tmpfile
return 0;
}
typeset pool=${1:-$TESTPOOL}
log_must $SYNC
- log_must $SLEEP 2
+ log_must sleep 2
# Flush all the pool data.
typeset -i ret
- $ZPOOL scrub $pool >/dev/null 2>&1
+ zpool scrub $pool >/dev/null 2>&1
ret=$?
(( $ret != 0 )) && \
- log_fail "$ZPOOL scrub $pool failed."
+ log_fail "zpool scrub $pool failed."
while ! is_pool_scrubbed $pool; do
if is_pool_resilvered $pool ; then
log_fail "$pool should not be resilver completed."
fi
- log_must $SLEEP 2
+ log_must sleep 2
done
}
{
typeset pool=${1:-$TESTPOOL}
while true; do
- [[ "0" == "$($ZPOOL list -Ho freeing $pool)" ]] && break
- log_must $SLEEP 1
+ [[ "0" == "$(zpool list -Ho freeing $pool)" ]] && break
+ log_must sleep 1
done
}
if is_linux; then
# ZEDLET_DIR=/var/tmp/zed
if [[ ! -d $ZEDLET_DIR ]]; then
- log_must $MKDIR $ZEDLET_DIR
+ log_must mkdir $ZEDLET_DIR
fi
# Verify the ZED is not already running.
- $PGREP -x zed > /dev/null
+ pgrep -x zed > /dev/null
if (($? == 0)); then
log_fail "ZED already running"
fi
- log_must $CP ${ZEDLETDIR}/all-syslog.sh $ZEDLET_DIR
+ # ZEDLETDIR=</etc/zfs/zed.d | ${SRCDIR}/cmd/zed/zed.d>
+ log_must cp ${ZEDLETDIR}/all-syslog.sh $ZEDLET_DIR
log_note "Starting ZED"
# run ZED in the background and redirect foreground logging
# output to zedlog
- log_must eval "$ZED -vF -d $ZEDLET_DIR -p $ZEDLET_DIR/zed.pid" \
+ log_must eval "zed -vF -d $ZEDLET_DIR -p $ZEDLET_DIR/zed.pid" \
"-s $ZEDLET_DIR/state 2>${ZEDLET_DIR}/zedlog &"
fi
}
{
if is_linux; then
if [[ -f ${ZEDLET_DIR}/zed.pid ]]; then
- zedpid=$($CAT ${ZEDLET_DIR}/zed.pid)
- log_must $KILL $zedpid
+ zedpid=$(cat ${ZEDLET_DIR}/zed.pid)
+ log_must kill $zedpid
fi
- log_must $RM -f ${ZEDLET_DIR}/all-syslog.sh
- log_must $RM -f ${ZEDLET_DIR}/zed.pid
- log_must $RM -f ${ZEDLET_DIR}/zedlog
- log_must $RM -f ${ZEDLET_DIR}/state
- log_must $RMDIR $ZEDLET_DIR
-
+ log_must rm -f ${ZEDLET_DIR}/all-syslog.sh
+ log_must rm -f ${ZEDLET_DIR}/zed.pid
+ log_must rm -f ${ZEDLET_DIR}/zedlog
+ log_must rm -f ${ZEDLET_DIR}/state
+ log_must rmdir $ZEDLET_DIR
fi
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
#
typeset percent=$3
# Set $a or $b to $2 such that a >= b
- [[ '1' = $($ECHO "if ($2 > $a) 1" | $BC) ]] && a=$2 || b=$2
+ [[ '1' = $(echo "if ($2 > $a) 1" | bc) ]] && a=$2 || b=$2
# Prevent division by 0
[[ $a =~ [1-9] ]] || return 1
- typeset p=$($ECHO "scale=2; $b * 100 / $a" | $BC)
+ typeset p=$(echo "scale=2; $b * 100 / $a" | bc)
log_note "Comparing $a and $b given $percent% (calculated: $p%)"
- [[ '1' = $($ECHO "scale=2; if ($p >= $percent) 1" | $BC) ]] && return 0
+ [[ '1' = $(echo "scale=2; if ($p >= $percent) 1" | bc) ]] && return 0
return 1
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
typeset -a compress_props=('on' 'off' 'lzjb' 'gzip' 'gzip-1' 'gzip-2' 'gzip-3'
typeset prop_max=$((${#prop_array[@]} - 1))
typeset -i i
- for i in $($SHUF -i $start-$prop_max -n $num_props); do
+ for i in $(shuf -i $start-$prop_max -n $num_props); do
retstr="${prop_array[$i]} $retstr"
done
echo $retstr
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/acl/acl.cfg
. $STF_SUITE/include/libtest.shlib
return 1
fi
- $LS -ld $obj | $AWK '{print $1}'
+ ls -ld $obj | awk '{print $1}'
}
#
return 1
fi
- $LS -vd $obj | $NAWK '(NR != 1) {print $0}'
+ ls -vd $obj | nawk '(NR != 1) {print $0}'
}
#
return 1
fi
- $LS -Vd $obj | $NAWK '(NR != 1) {print $0}'
+ ls -Vd $obj | nawk '(NR != 1) {print $0}'
}
#
get_acl $src > $tmpsrc
get_acl $tgt > $tmptgt
typeset -i ret=0
- $DIFF $tmpsrc $tmptgt > /dev/null 2>&1
+ diff $tmpsrc $tmptgt > /dev/null 2>&1
ret=$?
- $RM -f $tmpsrc $tmptgt
+ rm -f $tmpsrc $tmptgt
if (( ret != 0 )); then
return $ret
get_compact_acl $src > $tmpsrc
get_compact_acl $tgt > $tmptgt
- $DIFF $tmpsrc $tmptgt > /dev/null 2>&1
+ diff $tmpsrc $tmptgt > /dev/null 2>&1
ret=$?
- $RM -f $tmpsrc $tmptgt
+ rm -f $tmpsrc $tmptgt
return $ret
}
get_xattr $src > $tmpsrc
get_xattr $tgt > $tmptgt
typeset -i ret=0
- $DIFF $tmpsrc $tmptgt > /dev/null 2>&1
+ diff $tmpsrc $tmptgt > /dev/null 2>&1
ret=$?
- $RM -f $tmpsrc $tmptgt
+ rm -f $tmpsrc $tmptgt
return $ret
}
return 1
fi
- $LS -ld $obj | $AWK '{print $1}' | $GREP "+\>" > /dev/null
+ ls -ld $obj | awk '{print $1}' | grep "+\>" > /dev/null
return $?
}
return 1
fi
- $LS -vd $obj | $NAWK '(NR == 1) {print $1}' | $GREP "+\>" > /dev/null
+ ls -vd $obj | nawk '(NR == 1) {print $1}' | grep "+\>" > /dev/null
return $?
}
#
function chgusr_exec #<login_name> <commands> [...]
{
- $CHG_USR_EXEC $@
+ chg_usr_exec $@
return $?
}
#
function usr_exec #<commands> [...]
{
- $CHG_USR_EXEC "$ZFS_ACL_CUR_USER" $@
+ chg_usr_exec "$ZFS_ACL_CUR_USER" $@
return $?
}
return 1
fi
- $LS -vd $1 | $NAWK 'BEGIN {count=0}
+ ls -vd $1 | nawk 'BEGIN {count=0}
(NR != 1)&&(/[0-9]:/) {count++}
END {print count}'
;;
esac
- $LS $args $file > $tmpfile
- (( $? != 0 )) && log_fail "FAIL: $LS $args $file > $tmpfile"
+ ls $args $file > $tmpfile
+ (( $? != 0 )) && log_fail "FAIL: ls $args $file > $tmpfile"
while read line; do
[[ -z $line ]] && continue
if [[ $args == -vd ]]; then
fi
done < $tmpfile
- $RM -f $tmpfile
- (( $? != 0 )) && log_fail "FAIL: $RM -f $tmpfile"
+ rm -f $tmpfile
+ (( $? != 0 )) && log_fail "FAIL: rm -f $tmpfile"
}
#
{
if [[ -d $TESTDIR ]]; then
cd $TESTDIR
- $RM -rf $TESTDIR/*
+ rm -rf $TESTDIR/*
fi
}
if [[ -d $node ]]; then
case $acl_spec in
*:read_data:*|read_data)
- chgusr_exec $user $LS -l $node > /dev/null 2>&1
+ chgusr_exec $user ls -l $node > /dev/null 2>&1
return $? ;;
*:write_data:*|write_data)
if [[ -f ${node}/tmpfile ]]; then
- log_must $RM -f ${node}/tmpfile
+ log_must rm -f ${node}/tmpfile
fi
- chgusr_exec $user $TOUCH ${node}/tmpfile > \
+ chgusr_exec $user touch ${node}/tmpfile > \
/dev/null 2>&1
return $? ;;
*"execute:"*|execute)
- chgusr_exec $user $FIND $node > /dev/null 2>&1
+ chgusr_exec $user find $node > /dev/null 2>&1
return $? ;;
esac
else
case $acl_spec in
*:read_data:*|read_data)
- chgusr_exec $user $CAT $node > /dev/null 2>&1
+ chgusr_exec $user cat $node > /dev/null 2>&1
return $? ;;
*:write_data:*|write_data)
- chgusr_exec $user $DD if=/usr/bin/ls of=$node > \
+ chgusr_exec $user dd if=/usr/bin/ls of=$node > \
/dev/null 2>&1
return $? ;;
*"execute:"*|execute)
return 1
fi
- for xattr in `$RUNAT $obj $LS | \
+ for xattr in `runat $obj ls | \
/usr/xpg4/bin/egrep -v -e SUNWattr_ro -e SUNWattr_rw` ; do
- $RUNAT $obj $SUM $xattr
+ runat $obj sum $xattr
done
}
fi
if [[ -d $node ]]; then
- value=$($LS -dl $node | $AWK '{print $3}')
+ value=$(ls -dl $node | awk '{print $3}')
elif [[ -e $node ]]; then
- value=$($LS -l $node | $AWK '{print $3}')
+ value=$(ls -l $node | awk '{print $3}')
fi
- $ECHO $value
+ echo $value
}
#
fi
if [[ -d $node ]]; then
- value=$($LS -dl $node | $AWK '{print $4}')
+ value=$(ls -dl $node | awk '{print $4}')
elif [[ -e $node ]]; then
- value=$($LS -l $node | $AWK '{print $4}')
+ value=$(ls -l $node | awk '{print $4}')
fi
- $ECHO $value
+ echo $value
}
if [[ $? -eq 0 ]]; then
value=${value##*\(}
value=${value%%\)*}
- $ECHO $value
+ echo $value
else
log_fail "Invalid UID (uid)."
fi
[[ ! -d $dir ]] && return
typeset oldpwd=$PWD
cd $dir
- typeset files=$($LS file*)
+ typeset files=$(ls file*)
typeset -i i=0
typeset -i n=0
while (( i < NUM_FILE )); do
typeset f=$(getitem $i $files)
- eval $farr_name[$i]=\$\(\$CKSUM $f\)
+ eval $farr_name[$i]=\$\(\cksum $f\)
typeset -i j=0
while (( j < NUM_ATTR )); do
- eval $aarr_name[$n]=\$\(\$RUNAT \$f \$CKSUM \
+ eval $aarr_name[$n]=\$\(\runat \$f \cksum \
attribute.$j\)
(( j += 1 ))
typeset dir=$1
typeset outfile=$2
- [[ ! -d ${outfile%/*} ]] && usr_exec $MKDIR -p ${outfile%/*}
+ [[ ! -d ${outfile%/*} ]] && usr_exec mkdir -p ${outfile%/*}
- usr_exec cd $dir ; $FIND . -depth -type f -exec cksum {} \\\; | \
- $SORT > $outfile
- usr_exec cd $dir ; $FIND . -depth -type f -xattr -exec runat {} \
- cksum attribute* \\\; | $SORT >> $outfile
+ usr_exec cd $dir ; find . -depth -type f -exec cksum {} \\\; | \
+ sort > $outfile
+ usr_exec cd $dir ; find . -depth -type f -xattr -exec runat {} \
+ cksum attribute* \\\; | sort >> $outfile
}
#
{
typeset basedir=$1
- [[ ! -d $basedir ]] && usr_exec $MKDIR -m 777 $basedir
- [[ ! -d $RES_DIR ]] && usr_exec $MKDIR -m 777 $RES_DIR
- [[ ! -d $INI_DIR ]] && usr_exec $MKDIR -m 777 $INI_DIR
- [[ ! -d $TST_DIR ]] && usr_exec $MKDIR -m 777 $TST_DIR
- [[ ! -d $TMP_DIR ]] && usr_exec $MKDIR -m 777 $TMP_DIR
+ [[ ! -d $basedir ]] && usr_exec mkdir -m 777 $basedir
+ [[ ! -d $RES_DIR ]] && usr_exec mkdir -m 777 $RES_DIR
+ [[ ! -d $INI_DIR ]] && usr_exec mkdir -m 777 $INI_DIR
+ [[ ! -d $TST_DIR ]] && usr_exec mkdir -m 777 $TST_DIR
+ [[ ! -d $TMP_DIR ]] && usr_exec mkdir -m 777 $TMP_DIR
#
# Create the original file and its attribute files.
#
[[ ! -a $RES_DIR/file ]] && \
- usr_exec $FILE_WRITE -o create -f $RES_DIR/file \
+ usr_exec file_write -o create -f $RES_DIR/file \
-b 1024 -d 0 -c 1
[[ ! -a $RES_DIR/attribute ]] && \
- usr_exec $CP $RES_DIR/file $RES_DIR/attribute
+ usr_exec cp $RES_DIR/file $RES_DIR/attribute
typeset oldpwd=$PWD
cd $INI_DIR
typeset -i i=0
while (( i < NUM_FILE )); do
typeset dstfile=$INI_DIR/file.$$.$i
- usr_exec $CP $RES_DIR/file $dstfile
+ usr_exec cp $RES_DIR/file $dstfile
typeset -i j=0
while (( j < NUM_ATTR )); do
- usr_exec $RUNAT $dstfile \
- $CP $RES_DIR/attribute ./attribute.$j
+ usr_exec runat $dstfile \
+ cp $RES_DIR/attribute ./attribute.$j
(( j += 1 ))
done
# Test access to FILE
log_note "Testing access to FILE"
-log_must $TOUCH $TESTDIR/file.0
-log_must $SETFACL -m g:zfsgrp:rw $TESTDIR/file.0
-$GETFACL $TESTDIR/file.0 2> /dev/null | $EGREP -q "^group:zfsgrp:rw-$"
+log_must touch $TESTDIR/file.0
+log_must setfacl -m g:zfsgrp:rw $TESTDIR/file.0
+getfacl $TESTDIR/file.0 2> /dev/null | egrep -q "^group:zfsgrp:rw-$"
if [ "$?" -eq "0" ]; then
# Should be able to write to file
- log_must $SU staff1 -c "$ECHO \"$ECHO test > /dev/null\" > $TESTDIR/file.0"
+ log_must su staff1 -c "echo \"echo test > /dev/null\" > $TESTDIR/file.0"
# Should NOT be able to create new file
- log_mustnot $SU staff1 -c "$TOUCH $TESTDIR/file.1"
+ log_mustnot su staff1 -c "touch $TESTDIR/file.1"
# Root should be able to run file, but not user
chmod +x $TESTDIR/file.0
log_must $TESTDIR/file.0
- log_mustnot $SU staff1 -c $TESTDIR/file.0
+ log_mustnot su staff1 -c $TESTDIR/file.0
log_pass "POSIX ACL mode works on files"
else
# Test access to DIRECTORY
log_note "Testing access to DIRECTORY"
-log_must $MKDIR $TESTDIR/dir.0
-log_must $SETFACL -m g:zfsgrp:wx $TESTDIR/dir.0
-$GETFACL $TESTDIR/dir.0 2> /dev/null | $EGREP -q "^group:zfsgrp:-wx$"
+log_must mkdir $TESTDIR/dir.0
+log_must setfacl -m g:zfsgrp:wx $TESTDIR/dir.0
+getfacl $TESTDIR/dir.0 2> /dev/null | egrep -q "^group:zfsgrp:-wx$"
if [ "$?" -eq "0" ]; then
# Should be able to create file in directory
- log_must $SU staff1 -c "$TOUCH $TESTDIR/dir.0/file.0"
+ log_must su staff1 -c "touch $TESTDIR/dir.0/file.0"
# Should NOT be able to list files in directory
- log_mustnot $SU staff1 -c "$LS -l $TESTDIR/dir.0"
+ log_mustnot su staff1 -c "ls -l $TESTDIR/dir.0"
log_pass "POSIX ACL mode works on directories"
else
typeset ACLDIR="${TESTDIR}/dir.1"
log_note "Testing access to DIRECTORY"
-log_must $MKDIR $ACLDIR
-log_must $SETFACL -m g:${ZFS_ACL_STAFF_GROUP}:wx $ACLDIR
-log_must $SETFACL -d -m g:${ZFS_ACL_STAFF_GROUP}:wx $ACLDIR
-$GETFACL $ACLDIR 2> /dev/null | $EGREP -q "${acl_str1}"
+log_must mkdir $ACLDIR
+log_must setfacl -m g:${ZFS_ACL_STAFF_GROUP}:wx $ACLDIR
+log_must setfacl -d -m g:${ZFS_ACL_STAFF_GROUP}:wx $ACLDIR
+getfacl $ACLDIR 2> /dev/null | egrep -q "${acl_str1}"
if [ "$?" -eq "0" ]; then
- $GETFACL $ACLDIR 2> /dev/null | $EGREP -q "${acl_str2}"
+ getfacl $ACLDIR 2> /dev/null | egrep -q "${acl_str2}"
fi
if [ "$?" -eq "0" ]; then
- log_must $ZFS unmount $TESTPOOL/$TESTFS
- log_must $ZFS mount $TESTPOOL/$TESTFS
- log_must eval '$GETFACL $ACLDIR 2> /dev/null | $EGREP -q "${acl_str1}"'
- log_must eval '$GETFACL $ACLDIR 2> /dev/null | $EGREP -q "${acl_str2}"'
+ log_must zfs unmount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
+ log_must eval 'getfacl $ACLDIR 2> /dev/null | egrep -q "${acl_str1}"'
+ log_must eval 'getfacl $ACLDIR 2> /dev/null | egrep -q "${acl_str2}"'
log_pass "POSIX ACLs survive remount"
else
log_fail "Group '${ZFS_ACL_STAFF_GROUP}' does not have 'rwx'"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/acl/acl_common.kshlib
-log_must $GETFACL --version
-log_must $SETFACL --version
+log_must getfacl --version
+log_must setfacl --version
cleanup_user_group
DISK=${DISKS%% *}
default_setup_noexit $DISK
-log_must $CHMOD 777 $TESTDIR
+log_must chmod 777 $TESTDIR
# Use POSIX ACLs on filesystem
-log_must $ZFS set acltype=posixacl $TESTPOOL/$TESTFS
-log_must $ZFS set xattr=sa $TESTPOOL/$TESTFS
+log_must zfs set acltype=posixacl $TESTPOOL/$TESTFS
+log_must zfs set xattr=sa $TESTPOOL/$TESTFS
log_pass
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/atime/atime_common.kshlib
#
mtpt=$(snapshot_mountpoint $dst)
log_mustnot check_atime_updated $mtpt/$TESTFILE
else
- log_must $ZFS set atime=on $dst
- log_must $ZFS set relatime=off $dst
+ if is_linux; then
+ log_must zfs set relatime=off $dst
+ fi
+
+ log_must zfs set atime=on $dst
log_must check_atime_updated $mtpt/$TESTFILE
log_must check_atime_updated $mtpt/$TESTFILE
fi
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/atime/atime_common.kshlib
#
if [[ $dst == $TESTPOOL/$TESTFS@$TESTSNAP ]]; then
mtpt=$(snapshot_mountpoint $dst)
else
- log_must $ZFS set atime=off $dst
+ log_must zfs set atime=off $dst
fi
log_mustnot check_atime_updated $mtpt/$TESTFILE
mtpt=$(snapshot_mountpoint $dst)
log_mustnot check_atime_updated $mtpt/$TESTFILE
else
- log_must $ZFS set atime=on $dst
- log_must $ZFS set relatime=on $dst
+ log_must zfs set atime=on $dst
+ log_must zfs set relatime=on $dst
log_must check_atime_updated $mtpt/$TESTFILE
log_mustnot check_atime_updated $mtpt/$TESTFILE
fi
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/atime/atime.cfg
. $STF_SUITE/include/libtest.shlib
typeset before=$(stat -c %X $filename)
sleep 2
else
- typeset before=$($LS -Eu $filename | $AWK '{print $7}')
+ typeset before=$(ls -Eu $filename | awk '{print $7}')
fi
- log_must $CAT $filename
+ log_must cat $filename
if is_linux; then
typeset after=$(stat -c %X $filename)
else
- typeset after=$($LS -Eu $filename | $AWK '{print $7}')
+ typeset after=$(ls -Eu $filename | awk '{print $7}')
fi
if [[ $before != $after ]]; then
function setup_snap_clone
{
# Create two file to verify snapshot.
- log_must $TOUCH $TESTDIR/$TESTFILE
+ log_must touch $TESTDIR/$TESTFILE
create_snapshot $TESTPOOL/$TESTFS $TESTSNAP
create_clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
if poolexists $TESTPOOL ; then
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
fi
if [[ -f $VDEV ]]; then
- log_must $RM -f $VDEV
+ log_must rm -f $VDEV
fi
}
-$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
+zpool set 2>&1 | grep bootfs > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "bootfs pool property not supported on this release."
typeset VDEV=$TESTDIR/bootfs_001_pos_a.$$.dat
-log_must $MKFILE $MINVDEVSIZE $VDEV
+log_must mkfile $MINVDEVSIZE $VDEV
create_pool "$TESTPOOL" "$VDEV"
-log_must $ZFS create $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTFS
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap
-log_must $ZFS clone $TESTPOOL/$TESTFS@snap $TESTPOOL/clone
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap
+log_must zfs clone $TESTPOOL/$TESTFS@snap $TESTPOOL/clone
-log_must $ZPOOL set bootfs=$TESTPOOL/$TESTFS $TESTPOOL
-log_must $ZPOOL set bootfs=$TESTPOOL/$TESTFS@snap $TESTPOOL
-log_must $ZPOOL set bootfs=$TESTPOOL/clone $TESTPOOL
+log_must zpool set bootfs=$TESTPOOL/$TESTFS $TESTPOOL
+log_must zpool set bootfs=$TESTPOOL/$TESTFS@snap $TESTPOOL
+log_must zpool set bootfs=$TESTPOOL/clone $TESTPOOL
-log_must $ZFS promote $TESTPOOL/clone
-log_must $ZPOOL set bootfs=$TESTPOOL/clone $TESTPOOL
+log_must zfs promote $TESTPOOL/clone
+log_must zpool set bootfs=$TESTPOOL/clone $TESTPOOL
log_pass "Valid datasets are accepted as bootfs property values"
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
if datasetexists $TESTPOOL/vol
then
- log_must $ZFS destroy $TESTPOOL/vol
+ log_must zfs destroy $TESTPOOL/vol
fi
if poolexists $TESTPOOL
then
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
fi
if [[ -f $VDEV ]]; then
- log_must $RM -f $VDEV
+ log_must rm -f $VDEV
fi
}
-$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
+zpool set 2>&1 | grep bootfs > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "bootfs pool property not supported on this release."
typeset VDEV=$TESTDIR/bootfs_002_neg_a.$$.dat
-log_must $MKFILE 400m $VDEV
+log_must mkfile 400m $VDEV
create_pool "$TESTPOOL" "$VDEV"
-log_must $ZFS create -V 10m $TESTPOOL/vol
+log_must zfs create -V 10m $TESTPOOL/vol
block_device_wait
-log_mustnot $ZPOOL set bootfs=$TESTPOOL/vol $TESTPOOL
+log_mustnot zpool set bootfs=$TESTPOOL/vol $TESTPOOL
log_pass "Invalid datasets are rejected as boot property values"
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
if poolexists $POOL ; then
- log_must $ZPOOL destroy $POOL
+ log_must zpool destroy $POOL
fi
- $RM /bootfs_003.$$.dat
+ rm /bootfs_003.$$.dat
}
-$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
+zpool set 2>&1 | grep bootfs > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "bootfs pool property not supported on this release."
log_onexit cleanup
log_assert "Valid pool names are accepted by zpool set bootfs"
-$MKFILE $MINVDEVSIZE $TESTDIR/bootfs_003.$$.dat
+mkfile $MINVDEVSIZE $TESTDIR/bootfs_003.$$.dat
typeset -i i=0;
while [ $i -lt "${#pools[@]}" ]
do
POOL=${pools[$i]}
- log_must $ZPOOL create $POOL $TESTDIR/bootfs_003.$$.dat
- log_must $ZFS create $POOL/$TESTFS
+ log_must zpool create $POOL $TESTDIR/bootfs_003.$$.dat
+ log_must zfs create $POOL/$TESTFS
- log_must $ZPOOL set bootfs=$POOL/$TESTFS $POOL
- RES=$($ZPOOL get bootfs $POOL | $TAIL -1 | $AWK '{print $3}' )
+ log_must zpool set bootfs=$POOL/$TESTFS $POOL
+ RES=$(zpool get bootfs $POOL | tail -1 | awk '{print $3}' )
if [ $RES != "$POOL/$TESTFS" ]
then
log_fail "Expected $RES == $POOL/$TESTFS"
fi
- log_must $ZPOOL destroy $POOL
+ log_must zpool destroy $POOL
i=$(( $i + 1 ))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
if poolexists $POOL; then
- log_must $ZPOOL destroy $POOL
+ log_must zpool destroy $POOL
fi
- $RM /bootfs_004.$$.dat
+ rm /bootfs_004.$$.dat
}
-$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
+zpool set 2>&1 | grep bootfs > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "bootfs pool property not supported on this release."
-$MKFILE $MINVDEVSIZE $TESTDIR/bootfs_004.$$.dat
+mkfile $MINVDEVSIZE $TESTDIR/bootfs_004.$$.dat
typeset -i i=0;
while [ $i -lt "${#pools[@]}" ]
do
POOL=${pools[$i]}/$TESTFS
- log_mustnot $ZPOOL create $POOL $TESTDIR/bootfs_004.$$.dat
- log_mustnot $ZFS create $POOL/$TESTFS
- log_mustnot $ZPOOL set bootfs=$POOL/$TESTFS $POOL
+ log_mustnot zpool create $POOL $TESTDIR/bootfs_004.$$.dat
+ log_mustnot zfs create $POOL/$TESTFS
+ log_mustnot zpool set bootfs=$POOL/$TESTFS $POOL
i=$(( $i + 1 ))
done
#
typeset pool_name
for config in $CONFIGS; do
- pool_name=$(eval $ECHO \$ZPOOL_VERSION_${config}_NAME)
+ pool_name=$(eval echo \$ZPOOL_VERSION_${config}_NAME)
destroy_pool $pool_name
done
CONFIGS="1 2 3"
log_onexit cleanup
-log_must $ZPOOL create -f $TESTPOOL $DISKS
+log_must zpool create -f $TESTPOOL $DISKS
for config in $CONFIGS
do
create_old_pool $config
- POOL_NAME=$(eval $ECHO \$ZPOOL_VERSION_${config}_NAME)
- log_must $ZFS create $POOL_NAME/$TESTFS
- log_mustnot $ZPOOL set bootfs=$POOL_NAME/$TESTFS $POOL_NAME
+ POOL_NAME=$(eval echo \$ZPOOL_VERSION_${config}_NAME)
+ log_must zfs create $POOL_NAME/$TESTFS
+ log_mustnot zpool set bootfs=$POOL_NAME/$TESTFS $POOL_NAME
log_must destroy_upgraded_pool $config
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
+zpool set 2>&1 | grep bootfs > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "bootfs pool property not supported on this release."
function verify_bootfs { # $POOL
POOL=$1
- log_must $ZFS create $POOL/$TESTFS
+ log_must zfs create $POOL/$TESTFS
- log_must $ZPOOL set bootfs=$POOL/$TESTFS $POOL
- VAL=$($ZPOOL get bootfs $POOL | $TAIL -1 | $AWK '{print $3}' )
+ log_must zpool set bootfs=$POOL/$TESTFS $POOL
+ VAL=$(zpool get bootfs $POOL | tail -1 | awk '{print $3}' )
if [ $VAL != "$POOL/$TESTFS" ]
then
- log_must $ZPOOL status -v $POOL
+ log_must zpool status -v $POOL
log_fail \
"set/get failed on $POOL - expected $VAL == $POOL/$TESTFS"
fi
- log_must $ZPOOL destroy $POOL
+ log_must zpool destroy $POOL
}
function verify_no_bootfs { # $POOL
POOL=$1
- log_must $ZFS create $POOL/$TESTFS
- log_mustnot $ZPOOL set bootfs=$POOL/$TESTFS $POOL
- VAL=$($ZPOOL get bootfs $POOL | $TAIL -1 | $AWK '{print $3}' )
+ log_must zfs create $POOL/$TESTFS
+ log_mustnot zpool set bootfs=$POOL/$TESTFS $POOL
+ VAL=$(zpool get bootfs $POOL | tail -1 | awk '{print $3}' )
if [ $VAL == "$POOL/$TESTFS" ]
then
- log_must $ZPOOL status -v $POOL
+ log_must zpool status -v $POOL
log_fail "set/get unexpectedly failed $VAL != $POOL/$TESTFS"
fi
- log_must $ZPOOL destroy $POOL
+ log_must zpool destroy $POOL
}
function cleanup {
if poolexists $TESTPOOL
then
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
fi
- log_must $RM $VDEV1 $VDEV2 $VDEV3 $VDEV4
+ log_must rm $VDEV1 $VDEV2 $VDEV3 $VDEV4
}
log_assert "Pools of correct vdev types accept boot property"
log_onexit cleanup
-log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4
+log_must mkfile $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4
## the following configurations are supported bootable pools
# normal
-log_must $ZPOOL create $TESTPOOL $VDEV1
+log_must zpool create $TESTPOOL $VDEV1
verify_bootfs $TESTPOOL
# normal + hotspare
-log_must $ZPOOL create $TESTPOOL $VDEV1 spare $VDEV2
+log_must zpool create $TESTPOOL $VDEV1 spare $VDEV2
verify_bootfs $TESTPOOL
# mirror
-log_must $ZPOOL create $TESTPOOL mirror $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL mirror $VDEV1 $VDEV2
verify_bootfs $TESTPOOL
# mirror + hotspare
-log_must $ZPOOL create $TESTPOOL mirror $VDEV1 $VDEV2 spare $VDEV3
+log_must zpool create $TESTPOOL mirror $VDEV1 $VDEV2 spare $VDEV3
verify_bootfs $TESTPOOL
## the following configurations are not supported as bootable pools
# stripe
-log_must $ZPOOL create $TESTPOOL $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL $VDEV1 $VDEV2
verify_no_bootfs $TESTPOOL
# stripe + hotspare
-log_must $ZPOOL create $TESTPOOL $VDEV1 $VDEV2 spare $VDEV3
+log_must zpool create $TESTPOOL $VDEV1 $VDEV2 spare $VDEV3
verify_no_bootfs $TESTPOOL
# raidz
-log_must $ZPOOL create $TESTPOOL raidz $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL raidz $VDEV1 $VDEV2
verify_no_bootfs $TESTPOOL
# raidz + hotspare
-log_must $ZPOOL create $TESTPOOL raidz $VDEV1 $VDEV2 spare $VDEV3
+log_must zpool create $TESTPOOL raidz $VDEV1 $VDEV2 spare $VDEV3
verify_no_bootfs $TESTPOOL
# raidz2
-log_must $ZPOOL create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3
+log_must zpool create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3
verify_no_bootfs $TESTPOOL
# raidz2 + hotspare
-log_must $ZPOOL create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3 spare $VDEV4
+log_must zpool create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3 spare $VDEV4
verify_no_bootfs $TESTPOOL
log_pass "Pools of correct vdev types accept boot property"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
log_assert $assert_mesg
create_pool "$TESTPOOL" "$DISK"
-log_must $ZFS create $EFI_BOOTFS
+log_must zfs create $EFI_BOOTFS
if is_linux; then
- log_must $ZPOOL set bootfs=$EFI_BOOTFS $TESTPOOL
+ log_must zpool set bootfs=$EFI_BOOTFS $TESTPOOL
else
- log_mustnot $ZPOOL set bootfs=$EFI_BOOTFS $TESTPOOL
+ log_mustnot zpool set bootfs=$EFI_BOOTFS $TESTPOOL
fi
log_pass $assert_mesg
# Copyright 2015 Nexenta Systems, Inc.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
log_assert $assert_mesg
create_pool "$TESTPOOL" "$DISK"
-log_must $ZFS create $EFI_BOOTFS
+log_must zfs create $EFI_BOOTFS
-log_must $ZPOOL set bootfs=$EFI_BOOTFS $TESTPOOL
+log_must zpool set bootfs=$EFI_BOOTFS $TESTPOOL
log_pass $assert_mesg
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
if [[ -f $VDEV ]]; then
- log_must $RM -f $VDEV
+ log_must rm -f $VDEV
fi
}
log_onexit cleanup
log_assert $assert_msg
-log_must $MKFILE $MINVDEVSIZE $VDEV
-log_must $ZPOOL create $TESTPOOL $VDEV
-log_must $ZFS create $COMP_FS
+log_must mkfile $MINVDEVSIZE $VDEV
+log_must zpool create $TESTPOOL $VDEV
+log_must zfs create $COMP_FS
typeset -i i=0
set -A gtype "gzip" "gzip-1" "gzip-2" "gzip-3" "gzip-4" "gzip-5" \
"gzip-6" "gzip-7" "gzip-8" "gzip-9"
while (( i < ${#gtype[@]} )); do
- log_must $ZFS set compression=${gtype[i]} $COMP_FS
- log_mustnot $ZPOOL set bootfs=$COMP_FS $TESTPOOL
- log_must $ZFS set compression=off $COMP_FS
+ log_must zfs set compression=${gtype[i]} $COMP_FS
+ log_mustnot zpool set bootfs=$COMP_FS $TESTPOOL
+ log_must zfs set compression=off $COMP_FS
(( i += 1 ))
done
verify_runnable "global"
-[[ -e $TESTDIR ]] && $RM -rf $TESTDIR
+[[ -e $TESTDIR ]] && rm -rf $TESTDIR
log_pass
verify_runnable "global"
-log_must $MKDIR $TESTDIR
+log_must mkdir $TESTDIR
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
if datasetexists $TESTPOOL2 ; then
- log_must $ZPOOL destroy -f $TESTPOOL2
+ log_must zpool destroy -f $TESTPOOL2
fi
}
typeset pool=$1
typeset -i ret=0
- $ZPOOL status -xv $pool > /dev/null 2>&1
+ zpool status -xv $pool > /dev/null 2>&1
ret=$?
- $ZPOOL iostat > /dev/null 2>&1
+ zpool iostat > /dev/null 2>&1
((ret |= $?))
typeset mntpnt=$(get_prop mountpoint $pool)
- $DD if=/dev/random of=$mntpnt/testfile.$$ &
+ dd if=/dev/random of=$mntpnt/testfile.$$ &
typeset pid=$!
- $ZPOOL iostat -v 1 3 > /dev/null
+ zpool iostat -v 1 3 > /dev/null
((ret |= $?))
kill -9 $pid
#
# mirror:/disks/d ONLINE mirror:/disks/e ONLINE stripe:/disks/f ONLINE
#
- set -A dev_stat_tab $($ZPOOL status -v $pool | $NAWK 'BEGIN {start=0} \
+ set -A dev_stat_tab $(zpool status -v $pool | nawk 'BEGIN {start=0} \
/\tcache/ {start=1}
/\tmirror/ || /\tspares/ || /^$/ {start=0}
(start==1) && /\t (\/|[a-zA-Z])/ \
function verify_cache_support
{
- $ZPOOL upgrade -v | $GREP "Cache devices" > /dev/null 2>&1
+ zpool upgrade -v | grep "Cache devices" > /dev/null 2>&1
return $?
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV)
log_must verify_cache_device $TESTPOOL $ldev 'ONLINE'
- log_must $ZPOOL remove $TESTPOOL $ldev
+ log_must zpool remove $TESTPOOL $ldev
log_must check_vdev_state $TESTPOOL $ldev ""
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Creating a pool with a cache device succeeds."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV
- log_must $ZPOOL add $TESTPOOL cache $LDEV
+ log_must zpool create $TESTPOOL $type $VDEV
+ log_must zpool add $TESTPOOL cache $LDEV
log_must display_status $TESTPOOL
typeset ldev=$(random_get $LDEV)
log_must verify_cache_device $TESTPOOL $ldev 'ONLINE'
- log_must $ZPOOL remove $TESTPOOL $ldev
+ log_must zpool remove $TESTPOOL $ldev
log_must check_vdev_state $TESTPOOL $ldev ""
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Adding a cache device to normal pool works."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV
- log_must $ZPOOL add $TESTPOOL \
+ log_must zpool add $TESTPOOL \
cache $LDEV2
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV2)
log_must verify_cache_device $TESTPOOL $ldev 'ONLINE'
- log_must $ZPOOL remove $TESTPOOL $ldev
+ log_must zpool remove $TESTPOOL $ldev
log_must check_vdev_state $TESTPOOL $ldev ""
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Adding an extra cache device works."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV
ldev=$(random_get $LDEV)
typeset ldev2=$(random_get $LDEV2)
- log_mustnot $ZPOOL attach $TESTPOOL $ldev $ldev2
+ log_mustnot zpool attach $TESTPOOL $ldev $ldev2
log_must check_vdev_state $TESTPOOL $ldev2 ""
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Attaching a cache device fails for an existing cache device."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV
sdev=$(random_get $LDEV)
tdev=$(random_get $LDEV2)
- log_mustnot $ZPOOL replace $TESTPOOL $sdev $tdev
+ log_mustnot zpool replace $TESTPOOL $sdev $tdev
log_must verify_cache_device $TESTPOOL $sdev 'ONLINE'
log_must check_vdev_state $TESTPOOL $tdev ""
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Replacing a cache device fails."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV $LDEV2
ldev=$(random_get $LDEV $LDEV2)
log_must verify_cache_device \
#
# Nomal export/import operating
#
- log_must $ZPOOL export $TESTPOOL
- log_must $ZPOOL import -d $VDIR $TESTPOOL
+ log_must zpool export $TESTPOOL
+ log_must zpool import -d $VDIR $TESTPOOL
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV $LDEV2)
log_must verify_cache_device \
#
# Destroy the pool and import again
#
- log_must $ZPOOL destroy $TESTPOOL
- log_must $ZPOOL import -Df -d $VDIR $TESTPOOL
+ log_must zpool destroy $TESTPOOL
+ log_must zpool import -Df -d $VDIR $TESTPOOL
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV $LDEV2)
log_must verify_cache_device \
$TESTPOOL $ldev 'ONLINE'
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Exporting and importing pool with cache devices passes."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
do
for cachetype in "mirror" "raidz" "raidz1" "raidz2"
do
- log_mustnot $ZPOOL create $TESTPOOL $type $VDEV \
+ log_mustnot zpool create $TESTPOOL $type $VDEV \
cache $cachetype $LDEV $LDEV2
ldev=$(random_get $LDEV $LDEV2)
log_mustnot verify_cache_device \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
do
for cachetype in "mirror" "raidz" "raidz1" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV
- log_mustnot $ZPOOL add $TESTPOOL cache $cachetype $LDEV2
+ log_mustnot zpool add $TESTPOOL cache $cachetype $LDEV2
ldev=$(random_get $LDEV2)
log_mustnot verify_cache_device \
$TESTPOOL $ldev 'ONLINE' $cachetype
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV $LDEV2
ldev=$(random_get $LDEV $LDEV2)
- log_must $ZPOOL offline $TESTPOOL $ldev
+ log_must zpool offline $TESTPOOL $ldev
log_must display_status $TESTPOOL
log_must verify_cache_device $TESTPOOL $ldev 'OFFLINE' ''
- log_must $ZPOOL online $TESTPOOL $ldev
+ log_must zpool online $TESTPOOL $ldev
log_must display_status $TESTPOOL
log_must verify_cache_device $TESTPOOL $ldev 'ONLINE' ''
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Offline and online a cache device succeed."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
{
cleanup
if [[ -n $lofidev ]]; then
- log_must $LOFIADM -d $lofidev
+ log_must lofiadm -d $lofidev
fi
}
TESTVOL=testvol1$$
dsk1=${DISKS%% *}
-log_must $ZPOOL create $TESTPOOL ${DISKS#$dsk1}
+log_must zpool create $TESTPOOL ${DISKS#$dsk1}
if is_linux; then
SLICE="p1"
fi
# Add nomal ${DEV_RDSKDIR} device
-log_mustnot $ZPOOL add $TESTPOOL cache ${DEV_RDSKDIR}/${dsk1}${SLICE}
+log_mustnot zpool add $TESTPOOL cache ${DEV_RDSKDIR}/${dsk1}${SLICE}
#log_must verify_cache_device $TESTPOOL $dsk1 'ONLINE'
# Add nomal file
-log_mustnot $ZPOOL add $TESTPOOL cache $VDEV2
+log_mustnot zpool add $TESTPOOL cache $VDEV2
# Add /dev/rlofi device
lofidev=${VDEV2%% *}
-log_must $LOFIADM -a $lofidev
-lofidev=$($LOFIADM $lofidev)
-log_mustnot $ZPOOL add $TESTPOOL cache "/dev/rlofi/${lofidev#/dev/lofi/}"
+log_must lofiadm -a $lofidev
+lofidev=$(lofiadm $lofidev)
+log_mustnot zpool add $TESTPOOL cache "/dev/rlofi/${lofidev#/dev/lofi/}"
if [[ -n $lofidev ]]; then
- log_must $LOFIADM -d $lofidev
+ log_must lofiadm -d $lofidev
lofidev=""
fi
# Add ${ZVOL_RDEVDIR} device
-log_must $ZPOOL create $TESTPOOL2 $VDEV2
-log_must $ZFS create -V $SIZE $TESTPOOL2/$TESTVOL
-log_mustnot $ZPOOL add $TESTPOOL cache ${ZVOL_RDEVDIR}/$TESTPOOL2/$TESTVOL
+log_must zpool create $TESTPOOL2 $VDEV2
+log_must zfs create -V $SIZE $TESTPOOL2/$TESTVOL
+log_mustnot zpool add $TESTPOOL cache ${ZVOL_RDEVDIR}/$TESTPOOL2/$TESTVOL
log_pass "Cache device can only be block devices."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
function cleanup {
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
}
for type in "" "mirror" "raidz" "raidz2"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
cache $LDEV spare $LDEV2
- log_must $ZPOOL remove $TESTPOOL $LDEV
+ log_must zpool remove $TESTPOOL $LDEV
log_must display_status $TESTPOOL
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
log_pass "Remove cache device from pool with spare device should succeed"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
verify_runnable "global"
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
if datasetexists $TESTPOOL2 ; then
- log_must $ZPOOL destroy -f $TESTPOOL2
+ log_must zpool destroy -f $TESTPOOL2
fi
-log_must $RM -rf $VDIR $VDIR2
+log_must rm -rf $VDIR $VDIR2
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cache/cache.cfg
log_unsupported "Only physical disk could be cache device"
fi
-log_must $RM -rf $VDIR $VDIR2
-log_must $MKDIR -p $VDIR $VDIR2
-log_must $MKFILE $SIZE $VDEV $VDEV2
+log_must rm -rf $VDIR $VDIR2
+log_must mkdir -p $VDIR $VDIR2
+log_must mkfile $SIZE $VDEV $VDEV2
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
#
# the given cachefile, default is /etc/zfs/zpool.cache
typeset cachefile=${2:-$CPATH}
- RESULT=$($STRINGS $cachefile | $GREP -w $1)
+ RESULT=$(strings $cachefile | grep -w $1)
if [ -z "$RESULT" ]
then
return 1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
for file in $CPATH1 $CPATH2 ; do
if [[ -f $file ]] ; then
- log_must $RM $file
+ log_must rm $file
fi
done
}
typeset -i i=0
while (( i < ${#opts[*]} )); do
- log_must $ZPOOL create -o cachefile=${opts[i]} $TESTPOOL $DISKS
+ log_must zpool create -o cachefile=${opts[i]} $TESTPOOL $DISKS
case ${opts[((i+1))]} in
false) log_mustnot pool_in_cache $TESTPOOL
;;
log_fail "cachefile property not set as expected. " \
"Expect: ${opts[((i+2))]}, Current: $PROP"
fi
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
(( i = i + 3 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Importing a pool with \"cachefile\" set doesn't update zpool.cache"
log_onexit cleanup
-log_must $ZPOOL create -o cachefile=none $TESTPOOL $DISKS
+log_must zpool create -o cachefile=none $TESTPOOL $DISKS
typeset DEVICEDIR=$(get_device_dir $DISKS)
log_mustnot pool_in_cache $TESTPOOL
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import -d $DEVICEDIR $TESTPOOL
+log_must zpool export $TESTPOOL
+log_must zpool import -d $DEVICEDIR $TESTPOOL
log_must pool_in_cache $TESTPOOL
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import -o cachefile=none -d $DEVICEDIR $TESTPOOL
+log_must zpool export $TESTPOOL
+log_must zpool import -o cachefile=none -d $DEVICEDIR $TESTPOOL
log_mustnot pool_in_cache $TESTPOOL
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import -o cachefile=$CPATH -d $DEVICEDIR $TESTPOOL
+log_must zpool export $TESTPOOL
+log_must zpool import -o cachefile=$CPATH -d $DEVICEDIR $TESTPOOL
log_must pool_in_cache $TESTPOOL
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool destroy $TESTPOOL
log_pass "Importing a pool with \"cachefile\" set doesn't update zpool.cache"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for file in $CPATH1 $CPATH2 ; do
if [[ -f $file ]] ; then
- log_must $RM $file
+ log_must rm $file
fi
done
if [ -d $TESTDIR ]
then
- $RMDIR $TESTDIR
+ rmdir $TESTDIR
fi
}
while (( i < ${#opts[*]} )); do
- log_must $ZPOOL create -o altroot=$TESTDIR -o cachefile=${opts[i]} \
+ log_must zpool create -o altroot=$TESTDIR -o cachefile=${opts[i]} \
$TESTPOOL $DISKS
if [[ ${opts[i]} != none ]]; then
log_must pool_in_cache $TESTPOOL ${opts[i]}
log_fail "cachefile property not set as expected. " \
"Expect: ${opts[((i+1))]}, Current: $PROP"
fi
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
(( i = i + 2 ))
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while ((i < 2)); do
if [[ -e $mntpnt/vdev$i ]]; then
- log_must $RM -f $mntpnt/vdev$i
+ log_must rm -f $mntpnt/vdev$i
fi
((i += 1))
done
for file in $CPATH1 $CPATH2 ; do
if [[ -f $file ]] ; then
- log_must $RM $file
+ log_must rm $file
fi
done
}
log_assert "Verify set, export and destroy when cachefile is set on pool."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL $DISKS
+log_must zpool create $TESTPOOL $DISKS
mntpnt=$(get_prop mountpoint $TESTPOOL)
typeset -i i=0
while ((i < 2)); do
- log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i
+ log_must mkfile $MINVDEVSIZE $mntpnt/vdev$i
eval vdev$i=$mntpnt/vdev$i
((i += 1))
done
-log_must $ZPOOL create -o cachefile=$CPATH1 $TESTPOOL1 $vdev0
+log_must zpool create -o cachefile=$CPATH1 $TESTPOOL1 $vdev0
log_must pool_in_cache $TESTPOOL1 $CPATH1
-log_must $ZPOOL create -o cachefile=$CPATH1 $TESTPOOL2 $vdev1
+log_must zpool create -o cachefile=$CPATH1 $TESTPOOL2 $vdev1
log_must pool_in_cache $TESTPOOL2 $CPATH1
-log_must $ZPOOL set cachefile=$CPATH2 $TESTPOOL1
+log_must zpool set cachefile=$CPATH2 $TESTPOOL1
log_must pool_in_cache $TESTPOOL1 $CPATH2
-log_must $ZPOOL set cachefile=$CPATH2 $TESTPOOL2
+log_must zpool set cachefile=$CPATH2 $TESTPOOL2
log_must pool_in_cache $TESTPOOL2 $CPATH2
if [[ -f $CPATH1 ]]; then
log_fail "Verify set when cachefile is set on pool."
fi
-log_must $ZPOOL export $TESTPOOL1
-log_must $ZPOOL export $TESTPOOL2
+log_must zpool export $TESTPOOL1
+log_must zpool export $TESTPOOL2
if [[ -f $CPATH2 ]]; then
log_fail "Verify export when cachefile is set on pool."
fi
-log_must $ZPOOL import -d $mntpnt $TESTPOOL1
-log_must $ZPOOL set cachefile=$CPATH2 $TESTPOOL1
+log_must zpool import -d $mntpnt $TESTPOOL1
+log_must zpool set cachefile=$CPATH2 $TESTPOOL1
log_must pool_in_cache $TESTPOOL1 $CPATH2
-log_must $ZPOOL import -d $mntpnt $TESTPOOL2
-log_must $ZPOOL set cachefile=$CPATH2 $TESTPOOL2
+log_must zpool import -d $mntpnt $TESTPOOL2
+log_must zpool set cachefile=$CPATH2 $TESTPOOL2
log_must pool_in_cache $TESTPOOL2 $CPATH2
-log_must $ZPOOL destroy $TESTPOOL1
-log_must $ZPOOL destroy $TESTPOOL2
+log_must zpool destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL2
if [[ -f $CPATH2 ]]; then
log_fail "Verify destroy when cachefile is set on pool."
fi
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
-NAME_C_ORIG=$($ECHO 'F\0303\0257L\0303\0253N\0303\0204m\0303\0253')
-NAME_C_UPPER=$($ECHO 'F\0303\0217L\0303\0213N\0303\0204M\0303\0213')
-NAME_C_LOWER=$($ECHO 'f\0303\0257l\0303\0253n\0303\0244m\0303\0253')
-NAME_D_ORIG=$($ECHO 'Fi\0314\0210Le\0314\0210NA\0314\0210me\0314\0210')
-NAME_D_UPPER=$($ECHO 'FI\0314\0210LE\0314\0210NA\0314\0210ME\0314\0210')
-NAME_D_LOWER=$($ECHO 'fi\0314\0210le\0314\0210na\0314\0210me\0314\0210')
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
+NAME_C_ORIG=$(echo 'F\0303\0257L\0303\0253N\0303\0204m\0303\0253')
+NAME_C_UPPER=$(echo 'F\0303\0217L\0303\0213N\0303\0204M\0303\0213')
+NAME_C_LOWER=$(echo 'f\0303\0257l\0303\0253n\0303\0244m\0303\0253')
+NAME_D_ORIG=$(echo 'Fi\0314\0210Le\0314\0210NA\0314\0210me\0314\0210')
+NAME_D_UPPER=$(echo 'FI\0314\0210LE\0314\0210NA\0314\0210ME\0314\0210')
+NAME_D_LOWER=$(echo 'fi\0314\0210le\0314\0210na\0314\0210me\0314\0210')
NAMES_ORIG="$NAME_C_ORIG $NAME_D_ORIG"
NAMES_UPPER="$NAME_C_UPPER $NAME_D_UPPER"
NAMES_LOWER="$NAME_C_LOWER $NAME_D_LOWER"
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/casenorm/casenorm.cfg
{
typeset opts=$1
- $RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
- $MKDIR -p $TESTDIR || log_unresolved Could not create $TESTDIR
+ rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+ mkdir -p $TESTDIR || log_unresolved Could not create $TESTDIR
- log_must $ZFS create $opts $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $opts $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
function destroy_testfs
{
if datasetexists $TESTPOOL/$TESTFS ; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS
- $RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+ log_must zfs destroy -f $TESTPOOL/$TESTFS
+ rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
fi
}
{
typeset name=$TESTDIR/$1
- $ECHO $name > $name
+ echo $name > $name
}
function delete_file
{
typeset name=$TESTDIR/$1
- $RM $name >/dev/null 2>&1
+ rm $name >/dev/null 2>&1
if [[ $? -ne 0 ]] ; then
return 1
{
typeset name=$1
- $ZLOOK -l $TESTDIR $name >/dev/null 2>&1
+ zlook -l $TESTDIR $name >/dev/null 2>&1
}
function lookup_file_ci
{
typeset name=$1
- $ZLOOK -il $TESTDIR $name >/dev/null 2>&1
+ zlook -il $TESTDIR $name >/dev/null 2>&1
}
function lookup_any
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/casenorm/casenorm.kshlib
# DESCRIPTION:
for form in none formC formD formKC formKD; do
create_testfs "-o normalization=$form"
if [[ $form != "none" ]] ; then
- utf8only=$($ZFS get -H -o value utf8only $TESTPOOL/$TESTFS)
+ utf8only=$(zfs get -H -o value utf8only $TESTPOOL/$TESTFS)
if [[ $utf8only != "on" ]]; then
log_fail "Turning on normalization didn't set " \
"utf8only to on"
done
for form in formC formD formKC formKD; do
- log_mustnot $ZFS create -o utf8only=off -o normalization=$form \
+ log_mustnot zfs create -o utf8only=off -o normalization=$form \
$TESTPOOL/$TESTFS
destroy_testfs
done
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
DISK=${DISKS%% *}
-log_must $ZPOOL create $TESTPOOL $DISK
+log_must zpool create $TESTPOOL $DISK
log_pass
log_must chattr -ia $TESTDIR/$i
log_must rm -f $TESTDIR/$i
done
- log_must $CHMOD 0755 $TESTDIR
+ log_must chmod 0755 $TESTDIR
}
log_onexit cleanup
log_assert "Check whether unprivileged user can chattr"
-log_must $CHMOD 0777 $TESTDIR
+log_must chmod 0777 $TESTDIR
log_must user_run $QUSER1 touch $TESTDIR/writable
log_must user_run $QUSER1 touch $TESTDIR/immutable
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-$DF -F zfs -h | $GREP "$TESTFS " >/dev/null
-[[ $? == 0 ]] && log_must $ZFS umount -f $TESTDIR
+df -F zfs -h | grep "$TESTFS " >/dev/null
+[[ $? == 0 ]] && log_must zfs umount -f $TESTDIR
destroy_pool $TESTPOOL
# recreate and destroy a zpool over the disks to restore the partitions to
function cleanup
{
- $ECHO cleanup
+ echo cleanup
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Create and read back files with using different checksum algorithms"
log_onexit cleanup
-FSSIZE=$($ZPOOL list -Hp -o size $TESTPOOL)
+FSSIZE=$(zpool list -Hp -o size $TESTPOOL)
WRITESZ=1048576
WRITECNT=$((($FSSIZE) / $WRITESZ ))
# Skip the first and last 4MB
# errors.
for ((count = 0; count < ${#checksum_props[*]} ; count++)); do
i=${checksum_props[$count]}
- $ZFS set checksum=$i $TESTPOOL
- $FILE_WRITE -o overwrite -f $TESTDIR/test_$i -b $WRITESZ -c 5 -d R
+ zfs set checksum=$i $TESTPOOL
+ file_write -o overwrite -f $TESTDIR/test_$i -b $WRITESZ -c 5 -d R
done
-$ZPOOL export $TESTPOOL
-$ZPOOL import $TESTPOOL
-$ZPOOL scrub $TESTPOOL
+zpool export $TESTPOOL
+zpool import $TESTPOOL
+zpool scrub $TESTPOOL
while is_pool_scrubbing $TESTPOOL; do
- $SLEEP 1
+ sleep 1
done
-$ZPOOL status -P -v $TESTPOOL | grep $firstvdev | read -r name state rd wr cksum
+zpool status -P -v $TESTPOOL | grep $firstvdev | read -r name state rd wr cksum
log_assert "Normal file write test saw $cksum checksum errors"
log_must [ $cksum -eq 0 ]
log_assert "Test scrambling the disk and seeing checksum errors"
for ((count = 0; count < ${#checksum_props[*]} ; count++)); do
i=${checksum_props[$count]}
- $ZFS set checksum=$i $TESTPOOL
- $FILE_WRITE -o overwrite -f $TESTDIR/test_$i -b $WRITESZ -c 5 -d R
+ zfs set checksum=$i $TESTPOOL
+ file_write -o overwrite -f $TESTDIR/test_$i -b $WRITESZ -c 5 -d R
- $ZPOOL export $TESTPOOL
+ zpool export $TESTPOOL
# Scramble the data on the first vdev in our pool.
# Skip the first and last 16MB of data, then scramble the rest after that
#
- $FILE_WRITE -o overwrite -f $firstvdev -s $SKIP -c $WRITECNT -b $WRITESZ -d R
+ file_write -o overwrite -f $firstvdev -s $SKIP -c $WRITECNT -b $WRITESZ -d R
- $ZPOOL import $TESTPOOL
+ zpool import $TESTPOOL
i=${checksum_props[$count]}
- $ZPOOL scrub $TESTPOOL
+ zpool scrub $TESTPOOL
while is_pool_scrubbing $TESTPOOL; do
- $SLEEP 1
+ sleep 1
done
- $ZPOOL status -P -v $TESTPOOL | grep $firstvdev | read -r name state rd wr cksum
+ zpool status -P -v $TESTPOOL | grep $firstvdev | read -r name state rd wr cksum
log_assert "Checksum '$i' caught $cksum checksum errors"
log_must [ $cksum -ne 0 ]
rm -f $TESTDIR/test_$i
- $ZPOOL clear $TESTPOOL
+ zpool clear $TESTPOOL
done
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/clean_mirror/default.cfg
{
typeset pool=$1
- log_must $SYNC
- log_must $SLEEP 2
+ log_must sync
+ log_must sleep 2
# Flush all the pool data.
typeset -i ret
- $ZPOOL scrub $pool >/dev/null 2>&1
+ zpool scrub $pool >/dev/null 2>&1
ret=$?
(( $ret != 0 )) && \
- log_fail "$ZPOOL scrub $pool failed."
+ log_fail "zpool scrub $pool failed."
while ! is_pool_scrubbed $pool; do
if is_pool_resilvered $pool ; then
log_fail "$pool should not be resilver completed."
fi
- log_must $SLEEP 2
+ log_must sleep 2
done
}
while (( atfile < FILE_COUNT )); do
files[$atfile]=$TESTDIR/file.$atfile
- log_must $FILE_WRITE -o create -f $TESTDIR/file.$atfile \
+ log_must file_write -o create -f $TESTDIR/file.$atfile \
-b $FILE_SIZE -c 1
- cksums[$atfile]=$($CKSUM ${files[$atfile]})
+ cksums[$atfile]=$(cksum ${files[$atfile]})
(( atfile = atfile + 1 ))
done
# dd the primary side of the mirror
- log_must $DD if=$OVERWRITING_DEVICE of=$AFFECTED_DEVICE \
+ log_must dd if=$OVERWRITING_DEVICE of=$AFFECTED_DEVICE \
seek=8 bs=$DD_BLOCK count=$(( DD_COUNT - 128 )) conv=notrunc
atfile=0
#
# Flush out the cache so that we ensure we're reading from disk.
#
- log_must $ZPOOL export $TESTPOOL
- log_must $ZPOOL import $TESTPOOL
+ log_must zpool export $TESTPOOL
+ log_must zpool import $TESTPOOL
typeset -i failedcount=0
while (( atfile < FILE_COUNT )); do
files[$atfile]=$TESTDIR/file.$atfile
- newcksum=$($CKSUM ${files[$atfile]})
+ newcksum=$(cksum ${files[$atfile]})
if [[ $newcksum != ${cksums[$atfile]} ]]; then
(( failedcount = failedcount + 1 ))
fi
- $RM -f ${files[$atfile]}
+ rm -f ${files[$atfile]}
(( atfile = atfile + 1 ))
done
verify_runnable "global"
-$DF -F zfs -h | $GREP "$TESTFS " >/dev/null
-[[ $? == 0 ]] && log_must $ZFS umount -f $TESTDIR
+df -F zfs -h | grep "$TESTFS " >/dev/null
+[[ $? == 0 ]] && log_must zfs umount -f $TESTDIR
destroy_pool $TESTPOOL
if is_mpath_device $MIRROR_PRIMARY; then
- $FORMAT $DEV_DSKDIR/$MIRROR_PRIMARY -s rm 1
+ parted $DEV_DSKDIR/$MIRROR_PRIMARY -s rm 1
fi
if is_mpath_device $MIRROR_SECONDARY; then
- $FORMAT $DEV_DSKDIR/$MIRROR_SECONDARY -s rm 1
+ parted $DEV_DSKDIR/$MIRROR_SECONDARY -s rm 1
fi
# recreate and destroy a zpool over the disks to restore the partitions to
# normal
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $SINGLE_DISK ) && [[ -z $($ECHO $SINGLE_DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $SINGLE_DISK ) && [[ -z $(echo $SINGLE_DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $SINGLE_DISK ); then
SIDE_PRIMARY=${SINGLE_DISK}1
SIDE_SECONDARY=${SINGLE_DISK}2
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $MIRROR_PRIMARY ) && [[ -z $($ECHO $MIRROR_PRIMARY | awk 'substr($1,18,1)\
+ if ( is_mpath_device $MIRROR_PRIMARY ) && [[ -z $(echo $MIRROR_PRIMARY | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $MIRROR_PRIMARY ); then
SIDE_PRIMARY=${MIRROR_PRIMARY}1
elif ( is_mpath_device $MIRROR_PRIMARY || is_loop_device $MIRROR_PRIMARY ); then
else
log_fail "$MIRROR_PRIMARY not supported for partitioning."
fi
- if ( is_mpath_device $MIRROR_SECONDARY ) && [[ -z $($ECHO $MIRROR_SECONDARY | awk 'substr($1,18,1)\
+ if ( is_mpath_device $MIRROR_SECONDARY ) && [[ -z $(echo $MIRROR_SECONDARY | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $MIRROR_SECONDARY ); then
SIDE_SECONDARY=${MIRROR_SECONDARY}1
elif ( is_mpath_device $MIRROR_SECONDARY || is_loop_device $MIRROR_SECONDARY ); then
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
#
function get_cksum # <file path>
{
- return $($CKSUM $1 | $AWK '{print $1 $2}')
+ return $(cksum $1 | awk '{print $1 $2}')
}
#
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZDB ${args[i]}
+ log_mustnot zdb ${args[i]}
((i = i + 1))
done
for opt in '' -d; do
log_must zpool create -f $opt $TESTPOOL ${DISKS%% *}
- log_must eval "$ZDB $TESTPOOL >$tmpfile"
+ log_must eval "zdb $TESTPOOL >$tmpfile"
grep -q "$errstr" $tmpfile && \
log_fail "Found feature refcount mismatches in zdb output."
destroy_pool $TESTPOOL
set -A DISK $DISKS
default_mirror_setup_noexit $DISKS
-log_must $DD if=/dev/${DISK[0]} of=/dev/${DISK[1]} bs=1K count=256 conv=notrunc
+log_must dd if=/dev/${DISK[0]} of=/dev/${DISK[1]} bs=1K count=256 conv=notrunc
for x in 0 1 ; do
- config_count=$($ZDB -l $DEV_RDSKDIR/${DISK[$x]} | $GREP -c features_for_read)
+ config_count=$(zdb -l $DEV_RDSKDIR/${DISK[$x]} | grep -c features_for_read)
(( $? != 0)) && log_fail "failed to get config_count from DISK[$x]"
log_note "vdev $x: message_count $config_count"
[ $config_count -ne ${config_count[$x]} ] && \
{
datasetexists $TESTPOOL && destroy_pool $TESTPOOL
for DISK in $DISKS; do
- $ZPOOL labelclear -f $DEV_RDSKDIR/$DISK
+ zpool labelclear -f $DEV_RDSKDIR/$DISK
done
}
set -A DISK $DISKS
default_mirror_setup_noexit $DISKS
-log_must $ZPOOL offline $TESTPOOL ${DISK[0]}
-log_must $DD if=/dev/urandom of=$TESTDIR/testfile bs=1K count=2
-log_must $ZPOOL export $TESTPOOL
-log_must $DD if=$DEV_RDSKDIR/${DISK[0]} of=$DEV_RDSKDIR/${DISK[1]} bs=1K count=256 conv=notrunc
+log_must zpool offline $TESTPOOL ${DISK[0]}
+log_must dd if=/dev/urandom of=$TESTDIR/testfile bs=1K count=2
+log_must zpool export $TESTPOOL
+log_must dd if=$DEV_RDSKDIR/${DISK[0]} of=$DEV_RDSKDIR/${DISK[1]} bs=1K count=256 conv=notrunc
-ubs=$($ZDB -lu $DEV_RDSKDIR/${DISK[1]} | $GREP -e LABEL -e Uberblock -e 'labels = ')
+ubs=$(zdb -lu $DEV_RDSKDIR/${DISK[1]} | grep -e LABEL -e Uberblock -e 'labels = ')
log_note "vdev 1: ubs $ubs"
-ub_dump_counts=$($ZDB -lu $DEV_RDSKDIR/${DISK[1]} | \
- $AWK ' /LABEL/ {label=$NF; blocks[label]=0};
+ub_dump_counts=$(zdb -lu $DEV_RDSKDIR/${DISK[1]} | \
+ awk ' /LABEL/ {label=$NF; blocks[label]=0};
/Uberblock/ {blocks[label]++};
END {print blocks[0],blocks[1],blocks[2],blocks[3]}')
(( $? != 0)) && log_fail "failed to get ub_dump_counts from DISK[1]"
set -A DISK $DISKS
default_mirror_setup_noexit $DISKS
-log_must $DD if=/dev/zero of=$DEV_RDSKDIR/${DISK[1]} bs=1K count=256 conv=notrunc
-log_must $TRUNCATE -s 0 $TEMPFILE
+log_must dd if=/dev/zero of=$DEV_RDSKDIR/${DISK[1]} bs=1K count=256 conv=notrunc
+log_must truncate -s 0 $TEMPFILE
-$ZDB -l $DEV_RDSKDIR/${DISK[0]}
+zdb -l $DEV_RDSKDIR/${DISK[0]}
[[ $? -ne 0 ]] &&
log_fail "zdb -l exit codes are incorrect."
-$ZDB -l $DEV_RDSKDIR/${DISK[1]}
+zdb -l $DEV_RDSKDIR/${DISK[1]}
[[ $? -ne 1 ]] &&
log_fail "zdb -l exit codes are incorrect."
-$ZDB -l $TEMPFILE
+zdb -l $TEMPFILE
[[ $? -ne 2 ]] &&
log_fail "zdb -l exit codes are incorrect."
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
unset ZFS_ABORT
if [[ -d $corepath ]]; then
- $RM -rf $corepath
+ rm -rf $corepath
fi
for ds in $fs1 $fs $ctr; do
if datasetexists $ds; then
- log_must $ZFS destroy -rRf $ds
+ log_must zfs destroy -rRf $ds
fi
done
}
#preparation work for testing
corepath=$TESTDIR/core
if [[ -d $corepath ]]; then
- $RM -rf $corepath
+ rm -rf $corepath
fi
-log_must $MKDIR $corepath
+log_must mkdir $corepath
ctr=$TESTPOOL/$TESTCTR
-log_must $ZFS create $ctr
+log_must zfs create $ctr
fs=$ctr/$TESTFS
fs1=$ctr/$TESTFS1
echo "$corepath/core.zfs" >/proc/sys/kernel/core_pattern
echo 0 >/proc/sys/kernel/core_uses_pid
else
- log_must $COREADM -p ${corepath}/core.%f
+ log_must coreadm -p ${corepath}/core.%f
fi
log_must export ZFS_ABORT=yes
for subcmd in "${cmds[@]}" "${badparams[@]}"; do
- $ZFS $subcmd >/dev/null 2>&1 && log_fail "$subcmd passed incorrectly."
+ zfs $subcmd >/dev/null 2>&1 && log_fail "$subcmd passed incorrectly."
corefile=${corepath}/core.zfs
if [[ ! -e $corefile ]]; then
- log_fail "$ZFS $subcmd cannot generate core file with " \
+ log_fail "zfs $subcmd cannot generate core file with " \
"ZFS_ABORT set."
fi
- log_must $RM -f $corefile
+ log_must rm -f $corefile
done
log_pass "With ZFS_ABORT set, zfs command can abort and generate core file " \
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
for file in $ZFS_DEV $MNTTAB; do
if [[ -e $file ]]; then
- $MV $file ${file}.bak
+ mv $file ${file}.bak
fi
for cmd in "" "list" "get all" "mount"; do
- log_mustnot eval "$ZFS $cmd >/dev/null 2>&1"
+ log_mustnot eval "zfs $cmd >/dev/null 2>&1"
done
- $MV ${file}.bak $file
+ mv ${file}.bak $file
done
log_pass "zfs fails with unexpected scenario as expected."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for snap in $SNAPFS $SNAPFS1 ; do
if ! snapexists $snap ; then
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
fi
done
function cleanup_all
{
for fs in $targets; do
- datasetexists $fs && log_must $ZFS destroy -f $fs
+ datasetexists $fs && log_must zfs destroy -f $fs
done
for snap in $SNAPFS $SNAPFS1 ; do
- snapexists $snap && log_must $ZFS destroy -Rf $snap
+ snapexists $snap && log_must zfs destroy -Rf $snap
done
return 0
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS clone ${args[i]}
+ log_mustnot zfs clone ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for snap in $SNAPFS $SNAPFS1 ; do
if ! snapexists $snap ; then
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
fi
done
{
if datasetexists $TESTPOOL/notexist ; then
- log_must $ZFS destroy -rRf $TESTPOOL/notexist
+ log_must zfs destroy -rRf $TESTPOOL/notexist
fi
for snap in $SNAPFS $SNAPFS1 ; do
if snapexists $snap ; then
- log_must $ZFS destroy -Rf $snap
+ log_must zfs destroy -Rf $snap
fi
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $SNAPFS ; then
- log_must $ZFS destroy -Rf $SNAPFS
+ log_must zfs destroy -Rf $SNAPFS
fi
}
log_assert "'zfs clone -o property=value filesystem' can successfully create" \
"a ZFS clone filesystem with correct property set."
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
typeset -i i=0
while (( $i < ${#RW_FS_PROP[*]} )); do
- log_must $ZFS clone -o ${RW_FS_PROP[$i]} $SNAPFS $TESTPOOL/$TESTCLONE
+ log_must zfs clone -o ${RW_FS_PROP[$i]} $SNAPFS $TESTPOOL/$TESTCLONE
datasetexists $TESTPOOL/$TESTCLONE || \
log_fail "zfs clone $TESTPOOL/$TESTCLONE fail."
propertycheck $TESTPOOL/$TESTCLONE ${RW_FS_PROP[i]} || \
log_fail "${RW_FS_PROP[i]} is failed to set."
- log_must $ZFS destroy -f $TESTPOOL/$TESTCLONE
+ log_must zfs destroy -f $TESTPOOL/$TESTCLONE
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $SNAPFS ; then
- log_must $ZFS destroy -Rf $SNAPFS
+ log_must zfs destroy -Rf $SNAPFS
fi
}
typeset -i i=0
typeset opts=""
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
while (( $i < ${#RW_FS_PROP[*]} )); do
if [[ ${RW_FS_PROP[$i]} != *"checksum"* ]]; then
(( i = i + 1 ))
done
-log_must $ZFS clone $opts $SNAPFS $TESTPOOL/$TESTCLONE
+log_must zfs clone $opts $SNAPFS $TESTPOOL/$TESTCLONE
datasetexists $TESTPOOL/$TESTCLONE || \
log_fail "zfs create $TESTPOOL/$TESTCLONE fail."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $SNAPFS1 ; then
- log_must $ZFS destroy -Rf $SNAPFS1
+ log_must zfs destroy -Rf $SNAPFS1
fi
}
log_assert "'zfs clone -o property=value -V size volume' can successfully" \
"create a ZFS clone volume with correct property set."
-log_must $ZFS snapshot $SNAPFS1
+log_must zfs snapshot $SNAPFS1
typeset -i i=0
while (( $i < ${#RW_VOL_CLONE_PROP[*]} )); do
- log_must $ZFS clone -o ${RW_VOL_CLONE_PROP[$i]} $SNAPFS1 $TESTPOOL/$TESTCLONE
+ log_must zfs clone -o ${RW_VOL_CLONE_PROP[$i]} $SNAPFS1 $TESTPOOL/$TESTCLONE
datasetexists $TESTPOOL/$TESTCLONE || \
log_fail "zfs clone $TESTPOOL/$TESTCLONE fail."
propertycheck $TESTPOOL/$TESTCLONE ${RW_VOL_CLONE_PROP[i]} || \
log_fail "${RW_VOL_CLONE_PROP[i]} is failed to set."
- log_must $ZFS destroy -f $TESTPOOL/$TESTCLONE
+ log_must zfs destroy -f $TESTPOOL/$TESTCLONE
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
function cleanup
{
if snapexists $SNAPFS1 ; then
- log_must $ZFS destroy -Rf $SNAPFS1
+ log_must zfs destroy -Rf $SNAPFS1
fi
}
typeset -i i=0
typeset opts=""
-log_must $ZFS snapshot $SNAPFS1
+log_must zfs snapshot $SNAPFS1
while (( $i < ${#RW_VOL_CLONE_PROP[*]} )); do
if [[ ${RW_VOL_CLONE_PROP[$i]} != *"checksum"* ]]; then
(( i = i + 1 ))
done
-log_must $ZFS clone $opts $SNAPFS1 $TESTPOOL/$TESTCLONE
+log_must zfs clone $opts $SNAPFS1 $TESTPOOL/$TESTCLONE
i=0
while (( $i < ${#RW_VOL_CLONE_PROP[*]} )); do
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# 2. Verify it succeed while upgrade, but fails while the version downgraded.
#
-ZFS_VERSION=$($ZFS upgrade | $HEAD -1 | $AWK '{print $NF}' \
- | $SED -e 's/\.//g')
+ZFS_VERSION=$(zfs upgrade | head -1 | awk '{print $NF}' \
+ | sed -e 's/\.//g')
verify_runnable "both"
function cleanup
{
if snapexists $SNAPFS ; then
- log_must $ZFS destroy -Rf $SNAPFS
+ log_must zfs destroy -Rf $SNAPFS
fi
}
log_assert "'zfs clone -o version=' could upgrade version," \
"but downgrade is denied."
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
typeset -i ver
(( ver = ZFS_TEST_VERSION ))
while (( ver <= ZFS_VERSION )); do
- log_must $ZFS clone -o version=$ver $SNAPFS $TESTPOOL/$TESTCLONE
+ log_must zfs clone -o version=$ver $SNAPFS $TESTPOOL/$TESTCLONE
cleanup
(( ver = ver + 1 ))
done
(( ver = 0 ))
while (( ver < ZFS_TEST_VERSION )); do
- log_mustnot $ZFS clone -o version=$ver \
+ log_mustnot zfs clone -o version=$ver \
$SNAPFS $TESTPOOL/$TESTCLONE
log_mustnot datasetexists $TESTPOOL/$TESTCLONE
cleanup
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $SNAPFS ; then
- log_must $ZFS destroy -Rf $SNAPFS
+ log_must zfs destroy -Rf $SNAPFS
fi
}
log_assert "Verify 'zfs clone -o <filesystem>' fails with bad <filesystem> argument."
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
typeset -i i=0
while (( $i < ${#RW_FS_PROP[*]} )); do
- log_mustnot $ZFS clone -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
+ log_mustnot zfs clone -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
$SNAPFS $TESTPOOL/$TESTCLONE
- log_mustnot $ZFS clone -p -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
+ log_mustnot zfs clone -p -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
$SNAPFS $TESTPOOL/$TESTCLONE
((i = i + 1))
done
i=0
while (( $i < ${#VOL_ONLY_PROP[*]} )); do
- log_mustnot $ZFS clone -o ${VOL_ONLY_PROP[i]} \
+ log_mustnot zfs clone -o ${VOL_ONLY_PROP[i]} \
$SNAPFS $TESTPOOL/$TESTCLONE
- log_mustnot $ZFS clone -p -o ${VOL_ONLY_PROP[i]} \
+ log_mustnot zfs clone -p -o ${VOL_ONLY_PROP[i]} \
$SNAPFS $TESTPOOL/$TESTCLONE
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $SNAPFS1 ; then
- log_must $ZFS destroy -Rf $SNAPFS1
+ log_must zfs destroy -Rf $SNAPFS1
fi
}
log_assert "Verify 'zfs clone -o <volume>' fails with bad <volume> argument."
-log_must $ZFS snapshot $SNAPFS1
+log_must zfs snapshot $SNAPFS1
typeset -i i=0
while (( $i < ${#RW_VOL_PROP[*]} )); do
- log_mustnot $ZFS clone -o ${RW_VOL_PROP[i]} -o ${RW_VOL_PROP[i]} \
+ log_mustnot zfs clone -o ${RW_VOL_PROP[i]} -o ${RW_VOL_PROP[i]} \
$SNAPFS1 $TESTPOOL/$TESTCLONE
- log_mustnot $ZFS clone -p -o ${RW_VOL_PROP[i]} -o ${RW_VOL_PROP[i]} \
+ log_mustnot zfs clone -p -o ${RW_VOL_PROP[i]} -o ${RW_VOL_PROP[i]} \
$SNAPFS1 $TESTPOOL/$TESTCLONE
((i = i + 1))
done
i=0
while (( $i < ${#FS_ONLY_PROP[*]} )); do
- log_mustnot $ZFS clone -o ${FS_ONLY_PROP[i]} \
+ log_mustnot zfs clone -o ${FS_ONLY_PROP[i]} \
$SNAPFS1 $TESTPOOL/$TESTCLONE
- log_mustnot $ZFS clone -p -o ${FS_ONLY_PROP[i]} \
+ log_mustnot zfs clone -p -o ${FS_ONLY_PROP[i]} \
$SNAPFS1 $TESTPOOL/$TESTCLONE
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=1
for ds in $datasets; do
datasetexists $ds/$TESTCLONE.$i && \
- log_must $ZFS destroy -rf $ds/$TESTCLONE.$i
- datasetexists $ds && log_must $ZFS destroy -Rf $ds
+ log_must zfs destroy -rf $ds/$TESTCLONE.$i
+ datasetexists $ds && log_must zfs destroy -Rf $ds
((i=i+1))
done
}
{
typeset -i i=1
# create nested datasets
- log_must $ZFS create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
+ log_must zfs create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
# verify dataset creation
for ds in $datasets; do
done
# create recursive nested snapshot
- log_must $ZFS snapshot -r $TESTPOOL/$TESTFS1@snap
+ log_must zfs snapshot -r $TESTPOOL/$TESTFS1@snap
for ds in $datasets; do
datasetexists $ds@snap || \
log_fail "Create $ds@snap snapshot fail."
done
for ds in $datasets; do
for fs in $datasets; do
- log_must $ZFS clone $ds@snap $fs/$TESTCLONE.$i
+ log_must zfs clone $ds@snap $fs/$TESTCLONE.$i
done
((i=i+1))
done
if [[ -n $clone_snap ]]; then
clone_snap=/$TESTCLONE.$i
fi
- snapshot=$($ECHO "$names" | $GREP $ds$clone_snap@snap)
- actual_clone=$($ZFS list -t all -o clones $snapshot | $TAIL -1)
+ snapshot=$(echo "$names" | grep $ds$clone_snap@snap)
+ actual_clone=$(zfs list -t all -o clones $snapshot | tail -1)
save=$IFS
IFS=','
typeset -a clones=()
log_must setup_ds
log_note "Verify zfs clone property for multiple clones"
-names=$($ZFS list -rt all -o name $TESTPOOL)
+names=$(zfs list -rt all -o name $TESTPOOL)
log_must verify_clones 3 0
log_note "verfify clone property for clone deletion"
i=1
for ds in $datasets; do
- log_must $ZFS destroy $ds/$TESTCLONE.$i
+ log_must zfs destroy $ds/$TESTCLONE.$i
((i=i+1))
done
-names=$($ZFS list -rt all -o name $TESTPOOL)
+names=$(zfs list -rt all -o name $TESTPOOL)
i=1
log_must verify_clones 2 1
log_note "verify zfs deferred destroy on clones property"
i=1
-names=$($ZFS list -rt all -o name $TESTPOOL)
+names=$(zfs list -rt all -o name $TESTPOOL)
for ds in $datasets; do
- log_must $ZFS destroy -d $ds@snap
+ log_must zfs destroy -d $ds@snap
deferred_snaps=( "${deferred_snaps[@]}" "$ds@snap" )
((i=i+1))
done
i=1
for ds in $datasets; do
for fs in $datasets; do
- log_must $ZFS destroy $fs/$TESTCLONE.$i
+ log_must zfs destroy $fs/$TESTCLONE.$i
d_clones=( "${d_clones[@]}" "$fs/$TESTCLONE.$i" )
done
((i=i+1))
done
-names=$($ZFS list -rtall -o name $TESTPOOL)
+names=$(zfs list -rtall -o name $TESTPOOL)
for snap in ${deferred_snaps[@]}; do
- status=$($ECHO "$names" | $GREP $snap)
+ status=$(echo "$names" | grep $snap)
[[ -z $status ]] || \
log_fail "$snap exist after deferred destroy"
done
for dclone in ${d_clones[@]}; do
log_note "D CLONE = $dclone"
- status=$($ECHO "$names" | $GREP $dclone)
+ status=$(echo "$names" | grep $dclone)
[[ -z $status ]] || \
log_fail "$dclone exist after deferred destroy"
done
log_note "verify clone property for zfs promote"
i=1
for ds in $datasets; do
- log_must $ZFS promote $ds/$TESTCLONE.$i
+ log_must zfs promote $ds/$TESTCLONE.$i
((i=i+1))
done
-names=$($ZFS list -rt all -o name,clones $TESTPOOL)
+names=$(zfs list -rt all -o name,clones $TESTPOOL)
log_must verify_clones 3 1 $TESTCLONE
i=1
for ds in $datasets; do
- log_must $ZFS promote $ds
+ log_must zfs promote $ds
((i=i+1))
done
log_must local_cleanup
else
ZFS_MAXPROPLEN=1024
fi
-log_must $ZFS create $fs
-log_must $ZFS snapshot $fs@snap
-while((i <= $(( $ZFS_MAXPROPLEN/200+1 )))); do
- log_must $ZFS clone $fs@snap $fs/$TESTCLONE$(python -c 'print "x" * 200').$i
+log_must zfs create $fs
+log_must zfs snapshot $fs@snap
+while((i <= $(( ZFS_MAXPROPLEN/200+1 )))); do
+ log_must zfs clone $fs@snap $fs/$TESTCLONE$(python -c 'print "x" * 200').$i
((i=i+1))
((j=j+200))
done
-clone_list=$($ZFS list -o clones $fs@snap)
-char_count=$($ECHO "$clone_list" | $TAIL -1 | wc | $AWK '{print $3}')
-[[ $char_count -eq $ZFS_MAXPROPLEN ]] || \
+clone_list=$(zfs list -o clones $fs@snap)
+char_count=$(echo "$clone_list" | tail -1 | wc | awk '{print $3}')
+[[ $char_count -eq ZFS_MAXPROPLEN ]] || \
log_fail "Clone list not truncated correctly. Unexpected character count" \
"$char_count"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
#
if ismounted $FS_MNTPOINT $NEWFS_DEFAULT_FS ; then
- log_must $UMOUNT -f $FS_MNTPOINT
- $RM -fr $FS_MNTPOINT
+ log_must umount -f $FS_MNTPOINT
+ rm -fr $FS_MNTPOINT
fi
default_cleanup
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset ds=$1
typeset used
- used=`$ZFS list -H -o used $ds`
+ used=`zfs list -H -o used $ds`
used=${used%[m|M]}
if [[ $used == *K ]]; then
used=0
fi
- $ECHO $used
+ echo $used
}
#
vol_b_path=$ZVOL_DEVDIR/$TESTPOOL/$TESTVOL1
vol_r_path=$ZVOL_RDEVDIR/$TESTPOOL/$TESTVOL1
- log_must $ZFS create -V $VOLSIZE -o copies=$copy $vol
- log_must $ZFS set refreservation=none $vol
+ log_must zfs create -V $VOLSIZE -o copies=$copy $vol
+ log_must zfs set refreservation=none $vol
block_device_wait
if [[ $type == "ufs" ]]; then
- log_must $ECHO y | $NEWFS $vol_r_path >/dev/null 2>&1
- log_must $MOUNT -F ufs -o rw $vol_b_path $mntp
+ log_must echo y | newfs $vol_r_path >/dev/null 2>&1
+ log_must mount -F ufs -o rw $vol_b_path $mntp
elif [[ $type == "ext2" ]]; then
- log_must $ECHO y | $NEWFS $vol_r_path >/dev/null 2>&1
- log_must $MOUNT -o rw $vol_b_path $mntp
+ log_must echo y | newfs $vol_r_path >/dev/null 2>&1
+ log_must mount -o rw $vol_b_path $mntp
else
- log_must $ZPOOL create $TESTPOOL1 $vol_b_path
- log_must $ZFS create $TESTPOOL1/$TESTFS1
+ log_must zpool create $TESTPOOL1 $vol_b_path
+ log_must zfs create $TESTPOOL1/$TESTFS1
fi
((nfilesize = copy * ${FILESIZE%m}))
((target_size = pre_used + nfilesize))
if [[ $type == "ufs" ]]; then
- log_must $MKFILE $FILESIZE $mntp/$FILE
+ log_must mkfile $FILESIZE $mntp/$FILE
elif [[ $type == "ext2" ]]; then
- log_must $MKFILE $FILESIZE $mntp/$FILE
+ log_must mkfile $FILESIZE $mntp/$FILE
else
- log_must $MKFILE $FILESIZE /$TESTPOOL1/$TESTFS1/$FILE
+ log_must mkfile $FILESIZE /$TESTPOOL1/$TESTFS1/$FILE
fi
post_used=$(get_used_prop $vol)
fi
if [[ $type == "ufs" ]]; then
- $UMOUNT $mntp
+ umount $mntp
elif [[ $type == "ext2" ]]; then
- $UMOUNT $mntp
+ umount $mntp
else
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
fi
- log_must $ZFS destroy $vol
+ log_must zfs destroy $vol
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
for ds in $fs1 $fs2 $vol1 $vol2; do
if datasetexists $ds; then
- log_must $ZFS destroy $ds
+ log_must zfs destroy $ds
fi
done
}
done
for val in 1 2 3; do
- log_must $ZFS create -o copies=$val $fs1
+ log_must zfs create -o copies=$val $fs1
if is_global_zone; then
- log_must $ZFS create -V $VOLSIZE -o copies=$val $vol1
+ log_must zfs create -V $VOLSIZE -o copies=$val $vol1
block_device_wait
else
- log_must $ZFS create -o copies=$val $vol1
+ log_must zfs create -o copies=$val $vol1
fi
for ds in $fs1 $vol1; do
cmp_prop $ds $val
done
for val2 in 3 2 1; do
- log_must $ZFS create -o copies=$val2 $fs2
+ log_must zfs create -o copies=$val2 $fs2
if is_global_zone; then
- log_must $ZFS create -V $VOLSIZE -o copies=$val2 $vol2
+ log_must zfs create -V $VOLSIZE -o copies=$val2 $vol2
block_device_wait
else
- log_must $ZFS create -o copies=$val2 $vol2
+ log_must zfs create -o copies=$val2 $vol2
fi
for ds in $fs2 $vol2; do
cmp_prop $ds $val2
- log_must $ZFS destroy $ds
+ log_must zfs destroy $ds
block_device_wait
done
done
for ds in $fs1 $vol1; do
- log_must $ZFS destroy $ds
+ log_must zfs destroy $ds
block_device_wait
done
for val in 3 2 1; do
for ds in $fs $vol; do
- log_must $ZFS set copies=$val $ds
+ log_must zfs set copies=$val $ds
cmp_prop $ds $val
done
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
for val in 1 2 3; do
if datasetexists $TESTPOOL/fs_$val; then
- log_must $ZFS destroy $TESTPOOL/fs_$val
+ log_must zfs destroy $TESTPOOL/fs_$val
fi
done
}
log_onexit cleanup
for val in 1 2 3; do
- log_must $ZFS create -o copies=$val $TESTPOOL/fs_$val
+ log_must zfs create -o copies=$val $TESTPOOL/fs_$val
- log_must $MKFILE $FILESIZE /$TESTPOOL/fs_$val/$FILE
+ log_must mkfile $FILESIZE /$TESTPOOL/fs_$val/$FILE
done
#
# Sync up the filesystem
#
-$SYNC
+sync
#
# Verify 'zfs list' can correctly list the space charged
blksize=512
fi
for val in 1 2 3; do
- blks=`$LS -ls /$TESTPOOL/fs_$val/$FILE | $AWK '{print $1}'`
+ blks=`ls -ls /$TESTPOOL/fs_$val/$FILE | awk '{print $1}'`
(( used = blks * $blksize / (1024 * 1024) ))
check_used $used $val
done
log_note "Verify df(1M) can corectly display the space charged."
for val in 1 2 3; do
- used=`$DF -F zfs -h /$TESTPOOL/fs_$val/$FILE | $GREP $TESTPOOL/fs_$val \
- | $AWK '{print $3}'`
+ used=`df -F zfs -h /$TESTPOOL/fs_$val/$FILE | grep $TESTPOOL/fs_$val \
+ | awk '{print $3}'`
check_used $used $val
done
log_note "Verify du(1) can correctly display the space charged."
for val in 1 2 3; do
- used=`$DU -h /$TESTPOOL/fs_$val/$FILE | $AWK '{print $1}'`
+ used=`du -h /$TESTPOOL/fs_$val/$FILE | awk '{print $1}'`
check_used $used $val
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
#
fi
if datasetexists $vol; then
- log_must $ZFS destroy $vol
+ log_must zfs destroy $vol
fi
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
set -A badval 0 01 02 03 0 -1 -2 -3 10 20 30 4 5 6 blah
for val in ${badval[@]}; do
- log_mustnot $ZFS create -o copies=$val $TESTPOOL/$TESTFS1
- log_mustnot $ZFS create -V $VOLSIZE -o copies=$val $TESTPOOL/$TESTVOL1
- log_mustnot $ZFS set copies=$val $TESTPOOL/$TESTFS
- log_mustnot $ZFS set copies=$val $TESTPOOL/$TESTVOL
+ log_mustnot zfs create -o copies=$val $TESTPOOL/$TESTFS1
+ log_mustnot zfs create -V $VOLSIZE -o copies=$val $TESTPOOL/$TESTVOL1
+ log_mustnot zfs set copies=$val $TESTPOOL/$TESTFS
+ log_mustnot zfs set copies=$val $TESTPOOL/$TESTVOL
block_device_wait
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
log_assert "Verify that copies cannot be set with pool version 1"
log_onexit cleanup
-$CP $STF_SUITE/tests/functional/cli_root/zpool_upgrade/blockfiles/$ZPOOL_VERSION_1_FILES $TESTDIR
-$BUNZIP2 $TESTDIR/$ZPOOL_VERSION_1_FILES
-log_must $ZPOOL import -d $TESTDIR $ZPOOL_VERSION_1_NAME
-log_must $ZFS create $ZPOOL_VERSION_1_NAME/$TESTFS
-log_must $ZFS create -V 1m $ZPOOL_VERSION_1_NAME/$TESTVOL
+cp $STF_SUITE/tests/functional/cli_root/zpool_upgrade/blockfiles/$ZPOOL_VERSION_1_FILES $TESTDIR
+bunzip2 $TESTDIR/$ZPOOL_VERSION_1_FILES
+log_must zpool import -d $TESTDIR $ZPOOL_VERSION_1_NAME
+log_must zfs create $ZPOOL_VERSION_1_NAME/$TESTFS
+log_must zfs create -V 1m $ZPOOL_VERSION_1_NAME/$TESTVOL
for val in 3 2 1; do
for ds in $ZPOOL_VERSION_1_NAME/$TESTFS $ZPOOL_VERSION_1_NAME/$TESTVOL; do
- log_mustnot $ZFS set copies=$val $ds
+ log_mustnot zfs set copies=$val $ds
done
for ds in $ZPOOL_VERSION_1_NAME/$TESTFS1 $ZPOOL_VERSION_1_NAME/$TESTVOL1; do
- log_mustnot $ZFS create -o copies=$val $ds
+ log_mustnot zfs create -o copies=$val $ds
done
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib
#
function cleanup
{
if ismounted $mntp $NEWFS_DEFAULT_FS ; then
- log_must $UMOUNT $mntp
+ log_must umount $mntp
fi
if datasetexists $vol; then
- log_must $ZFS destroy $vol
+ log_must zfs destroy $vol
fi
if [[ -d $mntp ]]; then
- $RM -rf $mntp
+ rm -rf $mntp
fi
}
vol=$TESTPOOL/$TESTVOL1
if [[ ! -d $mntp ]]; then
- $MKDIR -p $mntp
+ mkdir -p $mntp
fi
for val in 1 2 3; do
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while (( $i < ${#datasets[*]} )); do
datasetexists ${datasets[$i]} && \
- log_must $ZFS destroy -f ${datasets[$i]}
+ log_must zfs destroy -f ${datasets[$i]}
((i = i + 1))
done
}
typeset -i i=0
while (( $i < ${#datasets[*]} )); do
- log_must $ZFS create ${datasets[$i]}
+ log_must zfs create ${datasets[$i]}
datasetexists ${datasets[$i]} || \
log_fail "zfs create ${datasets[$i]} fail."
((i = i + 1))
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/zfs_create.cfg
typeset -i j=0
while [[ $j -lt ${#size[*]} ]]; do
if datasetexists $TESTPOOL/${TESTVOL}${size[j]}; then
- log_must $ZFS destroy $TESTPOOL/${TESTVOL}${size[j]}
+ log_must zfs destroy $TESTPOOL/${TESTVOL}${size[j]}
fi
((j = j + 1))
done
typeset -i j=0
while (( $j < ${#size[*]} )); do
- typeset cmdline="$ZFS create -s -V ${size[j]} \
+ typeset cmdline="zfs create -s -V ${size[j]} \
$TESTPOOL/${TESTVOL}${size[j]}"
str=$(eval $cmdline 2>&1)
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $vol && \
- log_must $ZFS destroy -f $vol
+ log_must zfs destroy -f $vol
}
log_assert "Verify creating volume with specified blocksize works."
typeset -i i=0
while (( i < ${#options[*]} )); do
- log_must $ZFS create ${options[i]} -V $VOLSIZE $vol
+ log_must zfs create ${options[i]} -V $VOLSIZE $vol
datasetexists $vol || \
log_fail "zfs create ${options[i]} -V $VOLSIZE $vol fail."
- log_must_busy $ZFS destroy -f $vol
+ log_must_busy zfs destroy -f $vol
((i = i + 1))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/zfs_create_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/properties.kshlib
function cleanup
{
datasetexists $TESTPOOL/$TESTFS1 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
}
log_onexit cleanup
typeset -i i=0
while (( $i < ${#RW_FS_PROP[*]} )); do
- log_must $ZFS create -o ${RW_FS_PROP[$i]} $TESTPOOL/$TESTFS1
+ log_must zfs create -o ${RW_FS_PROP[$i]} $TESTPOOL/$TESTFS1
datasetexists $TESTPOOL/$TESTFS1 || \
log_fail "zfs create $TESTPOOL/$TESTFS1 fail."
propertycheck $TESTPOOL/$TESTFS1 ${RW_FS_PROP[i]} || \
log_fail "${RW_FS_PROP[i]} is failed to set."
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
(( i = i + 1 ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/zfs_create_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/properties.kshlib
function cleanup
{
datasetexists $TESTPOOL/$TESTFS1 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
}
log_onexit cleanup
(( i = i + 1 ))
done
-log_must $ZFS create $opts $TESTPOOL/$TESTFS1
+log_must zfs create $opts $TESTPOOL/$TESTFS1
datasetexists $TESTPOOL/$TESTFS1 || \
log_fail "zfs create $TESTPOOL/$TESTFS1 fail."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTVOL1 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTVOL1
+ log_must zfs destroy -f $TESTPOOL/$TESTVOL1
}
log_onexit cleanup
typeset -i i=0
while (( $i < ${#RW_VOL_PROP[*]} )); do
- log_must $ZFS create -o ${RW_VOL_PROP[$i]} -V $VOLSIZE \
+ log_must zfs create -o ${RW_VOL_PROP[$i]} -V $VOLSIZE \
$TESTPOOL/$TESTVOL1
datasetexists $TESTPOOL/$TESTVOL1 || \
log_fail "zfs create -V size $TESTPOOL/$TESTVOL1 fail."
propertycheck $TESTPOOL/$TESTVOL1 ${RW_VOL_PROP[i]} || \
log_fail "${RW_VOL_PROP[i]} is failed to set."
- log_must_busy $ZFS destroy -f $TESTPOOL/$TESTVOL1
+ log_must_busy zfs destroy -f $TESTPOOL/$TESTVOL1
- log_must $ZFS create -s -o ${RW_VOL_PROP[$i]} -V $VOLSIZE \
+ log_must zfs create -s -o ${RW_VOL_PROP[$i]} -V $VOLSIZE \
$TESTPOOL/$TESTVOL1
datasetexists $TESTPOOL/$TESTVOL1 || \
log_fail "zfs create -s -V $TESTPOOL/$TESTVOL1 fail."
propertycheck $TESTPOOL/$TESTVOL1 ${RW_VOL_PROP[i]} || \
log_fail "${RW_VOL_PROP[i]} is failed to set."
- log_must_busy $ZFS destroy -f $TESTPOOL/$TESTVOL1
+ log_must_busy zfs destroy -f $TESTPOOL/$TESTVOL1
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTVOL && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTVOL
+ log_must zfs destroy -f $TESTPOOL/$TESTVOL
datasetexists $TESTPOOL/$TESTVOL1 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTVOL1
+ log_must zfs destroy -f $TESTPOOL/$TESTVOL1
}
log_onexit cleanup
(( i = i + 1 ))
done
-log_must $ZFS create $opts -V $VOLSIZE $TESTPOOL/$TESTVOL
+log_must zfs create $opts -V $VOLSIZE $TESTPOOL/$TESTVOL
datasetexists $TESTPOOL/$TESTVOL || \
log_fail "zfs create $TESTPOOL/$TESTVOL fail."
-log_must $ZFS create -s $opts -V $VOLSIZE $TESTPOOL/$TESTVOL1
+log_must zfs create -s $opts -V $VOLSIZE $TESTPOOL/$TESTVOL1
datasetexists $TESTPOOL/$TESTVOL1 || \
log_fail "zfs create $TESTPOOL/$TESTVOL1 fail."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $TESTPOOL/$TESTFS1 ; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
fi
}
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZFS create ${args[i]} $TESTPOOL/$TESTFS1
- log_mustnot $ZFS create -p ${args[i]} $TESTPOOL/$TESTFS1
+ log_mustnot zfs create ${args[i]} $TESTPOOL/$TESTFS1
+ log_mustnot zfs create -p ${args[i]} $TESTPOOL/$TESTFS1
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# check to see if there is any new fs created during the test
# if so destroy it.
#
- for dset in $($ZFS list -H | \
- $AWK '{print $1}' | $GREP / ); do
+ for dset in $(zfs list -H | \
+ awk '{print $1}' | grep / ); do
found=false
i=0
while (( $i < ${#existed_fs[*]} )); do
#
# new fs created during the test, cleanup it
#
- if [[ $found == "true" ]]; then
- log_must $ZFS destroy -f $dset
+ if [[ $found == "false" ]]; then
+ log_must zfs destroy -f $dset
fi
done
}
log_assert "Verify 'zfs create <filesystem>' fails with bad <filesystem> argument."
datasetexists $TESTPOOL/$TESTFS || \
- log_must $ZFS create $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
-set -A existed_fs $($ZFS list -H | $AWK '{print $1}' | $GREP / )
+set -A existed_fs $(zfs list -H | awk '{print $1}' | grep / )
-log_mustnot $ZFS create $TESTPOOL
-log_mustnot $ZFS create $TESTPOOL/$TESTFS
+log_mustnot zfs create $TESTPOOL
+log_mustnot zfs create $TESTPOOL/$TESTFS
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZFS create ${args[$i]}
- log_mustnot $ZFS create -p ${args[$i]}
+ log_mustnot zfs create ${args[$i]}
+ log_mustnot zfs create -p ${args[$i]}
((i = i + 1))
done
i=0
while (( $i < ${#RW_FS_PROP[*]} )); do
- log_mustnot $ZFS create -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
+ log_mustnot zfs create -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
$TESTPOOL/$TESTFS1
- log_mustnot $ZFS create -p -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
+ log_mustnot zfs create -p -o ${RW_FS_PROP[i]} -o ${RW_FS_PROP[i]} \
$TESTPOOL/$TESTFS1
((i = i + 1))
done
i=0
while (( $i < ${#VOL_ONLY_PROP[*]} )); do
- log_mustnot $ZFS create -o ${VOL_ONLY_PROP[i]} $TESTPOOL/$TESTFS1
- log_mustnot $ZFS create -p -o ${VOL_ONLY_PROP[i]} $TESTPOOL/$TESTFS1
+ log_mustnot zfs create -o ${VOL_ONLY_PROP[i]} $TESTPOOL/$TESTFS1
+ log_mustnot zfs create -p -o ${VOL_ONLY_PROP[i]} $TESTPOOL/$TESTFS1
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# check to see if there is any new fs created during the test
# if so destroy it.
#
- for dset in $($ZFS list -H | \
- $AWK '{print $1}' | $GREP / ); do
+ for dset in $(zfs list -H | \
+ awk '{print $1}' | grep / ); do
found=false
i=0
while (( $i < ${#existed_fs[*]} )); do
#
# new fs created during the test, cleanup it
#
- if [[ $found == "true" ]]; then
- log_must $ZFS destroy -f $dset
+ if [[ $found == "false" ]]; then
+ log_must zfs destroy -f $dset
fi
done
}
set -A options "" "-s"
datasetexists $TESTPOOL/$TESTVOL || \
- log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+ log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
-set -A existed_fs $($ZFS list -H | $AWK '{print $1}' | $GREP / )
+set -A existed_fs $(zfs list -H | awk '{print $1}' | grep / )
-log_mustnot $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
-log_mustnot $ZFS create -s -V $VOLSIZE $TESTPOOL/$TESTVOL
+log_mustnot zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
+log_mustnot zfs create -s -V $VOLSIZE $TESTPOOL/$TESTVOL
typeset -i i=0
typeset -i j=0
j=0
while (( j < ${#args[*]} )); do
- log_mustnot $ZFS create ${options[$i]} -V ${args[$j]}
- log_mustnot $ZFS create -p ${options[$i]} -V ${args[$j]}
+ log_mustnot zfs create ${options[$i]} -V ${args[$j]}
+ log_mustnot zfs create -p ${options[$i]} -V ${args[$j]}
((j = j + 1))
done
j=0
while (( $j < ${#RW_VOL_PROP[*]} )); do
- log_mustnot $ZFS create ${options[$i]} -o ${RW_VOL_PROP[j]} \
+ log_mustnot zfs create ${options[$i]} -o ${RW_VOL_PROP[j]} \
-o ${RW_VOL_PROP[j]} -V $VOLSIZE $TESTPOOL/$TESTVOL1
- log_mustnot $ZFS create -p ${options[$i]} -o ${RW_VOL_PROP[j]} \
+ log_mustnot zfs create -p ${options[$i]} -o ${RW_VOL_PROP[j]} \
-o ${RW_VOL_PROP[j]} -V $VOLSIZE $TESTPOOL/$TESTVOL1
((j = j + 1))
done
j=0
while (( $j < ${#FS_ONLY_PROP[*]} )); do
- log_mustnot $ZFS create ${options[$i]} -o ${FS_ONLY_PROP[j]} \
+ log_mustnot zfs create ${options[$i]} -o ${FS_ONLY_PROP[j]} \
-V $VOLSIZE $TESTPOOL/$TESTVOL1
- log_mustnot $ZFS create -p ${options[$i]} -o ${FS_ONLY_PROP[j]} \
+ log_mustnot zfs create -p ${options[$i]} -o ${FS_ONLY_PROP[j]} \
-V $VOLSIZE $TESTPOOL/$TESTVOL1
((j = j + 1))
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $TESTPOOL/$TESTFS1 ; then
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS1
fi
}
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
# 2. Verify only the leaf filesystem to be version=1, others use the current version
#
-ZFS_VERSION=$($ZFS upgrade | $HEAD -1 | $AWK '{print $NF}' \
- | $SED -e 's/\.//g')
+ZFS_VERSION=$(zfs upgrade | head -1 | awk '{print $NF}' \
+ | sed -e 's/\.//g')
verify_runnable "both"
function cleanup
{
if datasetexists $TESTPOOL/$TESTFS1 ; then
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS1
fi
}
log_assert "'zfs create -p -o version=1' only cause the leaf filesystem to be version=1."
-log_must $ZFS create -p -o version=1 $newdataset1
+log_must zfs create -p -o version=1 $newdataset1
log_must datasetexists $newdataset1
log_must check_fs_version $TESTPOOL/$TESTFS1/$TESTFS/$TESTFS1 1
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_create/zfs_create.cfg
typeset -i j=0
while [[ $j -lt ${#size[*]} ]]; do
datasetexists $TESTPOOL/${LONGFSNAME}${size[j]} && \
- log_must $ZFS destroy $TESTPOOL/${LONGFSNAME}${size[j]}
+ log_must zfs destroy $TESTPOOL/${LONGFSNAME}${size[j]}
((j = j + 1))
done
}
typeset -i j=0
while (( $j < ${#size[*]} )); do
- typeset cmdline="$ZFS create -s -V ${size[j]} \
+ typeset cmdline="zfs create -s -V ${size[j]} \
$TESTPOOL/${LONGFSNAME}${size[j]}"
str=$(eval $cmdline 2>&1)
function cleanup
{
datasetexists $TESTPOOL/$TESTFS1 &&
- log_must $ZFS destroy $TESTPOOL/$TESTFS1
+ log_must zfs destroy $TESTPOOL/$TESTFS1
}
log_onexit cleanup
log_assert "'zfs create <filesystem>' can create a ZFS filesystem with name length 255."
-log_must $ZFS create $TESTPOOL/$TESTFS1
-log_mustnot $ZFS create $TESTPOOL/$TESTFS2
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import $TESTPOOL
+log_must zfs create $TESTPOOL/$TESTFS1
+log_mustnot zfs create $TESTPOOL/$TESTFS2
+log_must zpool export $TESTPOOL
+log_must zpool import $TESTPOOL
log_pass "'zfs create <filesystem>' works as expected."
# CDDL HEADER END
#
-#!/bin/ksh -p
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset dtst=$1
typeset propstr=$2
- typeset prop=$($ECHO $propstr | $AWK -F= '{print $1}')
- typeset expect_value=$($ECHO $propstr | $AWK -F= '{print $2}')
- typeset value=$($ZFS get -H -o value $prop $dtst)
+ typeset prop=$(echo $propstr | awk -F= '{print $1}')
+ typeset expect_value=$(echo $propstr | awk -F= '{print $2}')
+ typeset value=$(zfs get -H -o value $prop $dtst)
if [[ "$expect_value" == "$value" ]]; then
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Clean the test environment and make it clear.
if datasetexists $CTR; then
- log_must $ZFS destroy -Rf $CTR
+ log_must zfs destroy -Rf $CTR
fi
# According to option create test compatible environment.
$CTR|$FS)
if [[ $opt == *f* ]]; then
mpt_dir=$(get_prop mountpoint $FS)
- pidlist="$pidlist $($MKBUSY \
+ pidlist="$pidlist $(mkbusy \
$mpt_dir/$TESTFILE0)"
- log_note "$MKBUSY $mpt_dir/$TESTFILE0 " \
+ log_note "mkbusy $mpt_dir/$TESTFILE0 " \
"(pidlist: $pidlist)"
[[ -z $pidlist ]] && \
- log_fail "Failure from $MKBUSY"
- log_mustnot $ZFS destroy -rR $dtst
+ log_fail "Failure from mkbusy"
+ log_mustnot zfs destroy -rR $dtst
fi
;;
$VOL)
if [[ $opt == *f* ]]; then
- pidlist="$pidlist $($MKBUSY \
+ pidlist="$pidlist $(mkbusy \
$TESTDIR1/$TESTFILE0)"
- log_note "$MKBUSY $TESTDIR1/$TESTFILE0 " \
+ log_note "mkbusy $TESTDIR1/$TESTFILE0 " \
"(pidlist: $pidlist)"
[[ -z $pidlist ]] && \
- log_fail "Failure from $MKBUSY"
- log_mustnot $ZFS destroy -rR $dtst
+ log_fail "Failure from mkbusy"
+ log_mustnot zfs destroy -rR $dtst
fi
;;
$VOLSNAP)
if [[ $opt == *f* ]]; then
- pidlist="$pidlist $($MKBUSY \
+ pidlist="$pidlist $(mkbusy \
$TESTDIR1/$TESTFILE0)"
- log_note "$MKBUSY $TESTDIR1/$TESTFILE0 " \
+ log_note "mkbusy $TESTDIR1/$TESTFILE0 " \
"(pidlist: $pidlist)"
[[ -z $pidlist ]] && \
- log_fail "Failure from $MKBUSY"
- log_must_busy $ZFS destroy -rR $dtst
- log_must $ZFS snapshot $dtst
+ log_fail "Failure from mkbusy"
+ log_must_busy zfs destroy -rR $dtst
+ log_must zfs snapshot $dtst
fi
;;
$FSSNAP)
if [[ $opt == *f* ]]; then
mpt_dir=$(snapshot_mountpoint $dtst)
- pidlist="$pidlist $($MKBUSY $mpt_dir)"
- log_note "$MKBUSY $mpt_dir (pidlist: $pidlist)"
+ pidlist="$pidlist $(mkbusy $mpt_dir)"
+ log_note "mkbusy $mpt_dir (pidlist: $pidlist)"
[[ -z $pidlist ]] && \
- log_fail "Failure from $MKBUSY"
+ log_fail "Failure from mkbusy"
if is_linux ; then
- log_mustnot $ZFS destroy -rR $dtst
+ log_mustnot zfs destroy -rR $dtst
else
- log_must $ZFS destroy -rR $dtst
- log_must $ZFS snapshot $dtst
+ log_must zfs destroy -rR $dtst
+ log_must zfs snapshot $dtst
fi
fi
;;
# Kill any lingering instances of mkbusy, and clear the list.
if is_linux ; then
- [[ -z $pidlist ]] || log_must $KILL -TERM $pidlist
+ [[ -z $pidlist ]] || log_must kill -TERM $pidlist
pidlist=""
- log_mustnot $PGREP -fl $MKBUSY
+ log_mustnot pgrep -fl mkbusy
fi
# Firstly, umount ufs filesystem which was created by zfs volume.
if is_global_zone; then
- log_must $UMOUNT -f $TESTDIR1
+ log_must umount -f $TESTDIR1
fi
# Invoke 'zfs destroy [-rRf] <dataset>'
- log_must $ZFS destroy $opt $dtst
+ log_must zfs destroy $opt $dtst
# Kill any lingering instances of mkbusy, and clear the list.
if ! is_linux ; then
- [[ -z $pidlist ]] || log_must $KILL -TERM $pidlist
+ [[ -z $pidlist ]] || log_must kill -TERM $pidlist
pidlist=""
- log_mustnot $PGREP -fl $MKBUSY
+ log_mustnot pgrep -fl mkbusy
fi
case $dtst in
;;
esac
- log_note "'$ZFS destroy $opt $dtst' passed."
+ log_note "'zfs destroy $opt $dtst' passed."
}
log_assert "'zfs destroy -r|-R|-f|-rf|-Rf <fs|ctr|vol|snap>' should " \
typeset pidlist=""
for dtst in $CTR $FS $VOL $FSSNAP $VOLSNAP; do
for opt in "-r" "-R" "-f" "-rf" "-Rf"; do
- log_note "Starting test: $ZFS destroy $opt $dtst"
+ log_note "Starting test: zfs destroy $opt $dtst"
test_n_check $opt $dtst
done
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( $i < ${#data_objs[*]} )); do
datasetexists "${data_objs[i]}" && \
- $ZFS destroy -rf ${data_objs[i]}
+ zfs destroy -rf ${data_objs[i]}
((i = i + 1))
done
}
set -A data_objs "$TESTPOOL/$TESTFS@$TESTSNAP" "$TESTPOOL/$TESTFS1"
fi
-log_must $ZFS create $TESTPOOL/$TESTFS1
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs create $TESTPOOL/$TESTFS1
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
if is_global_zone ; then
- log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+ log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
# Max volume size is 1TB on 32-bit systems
[[ is_32bit ]] && \
BIGVOLSIZE=1Tb
- log_must $ZFS create -sV $BIGVOLSIZE $TESTPOOL/$TESTVOL1
+ log_must zfs create -sV $BIGVOLSIZE $TESTPOOL/$TESTVOL1
fi
typeset -i i=0
i=0
while (( $i < ${#data_objs[*]} )); do
- log_must $ZFS destroy ${data_objs[i]}
+ log_must zfs destroy ${data_objs[i]}
datasetexists ${data_objs[i]} && \
log_fail "'zfs destroy <filesystem>|<volume>|<snapshot>' fail."
((i = i + 1))
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
for obj in $ctr2 $ctr1 $ctr; do
datasetexists $obj && \
- log_must $ZFS destroy -Rf $obj
+ log_must zfs destroy -Rf $obj
done
for mntp in $TESTDIR1 $TESTDIR2; do
[[ -d $mntp ]] && \
- log_must $RM -rf $mntp
+ log_must rm -rf $mntp
done
}
#
for dir in $TESTDIR1 $TESTDIR2; do
[[ ! -d $dir ]] && \
- log_must $MKDIR -p $dir
+ log_must mkdir -p $dir
done
ctr=$TESTPOOL/$TESTCTR
#
# Create two datasets in the storage pool
#
-log_must $ZFS create $ctr
-log_must $ZFS create $ctr1
+log_must zfs create $ctr
+log_must zfs create $ctr1
#
# Create children datasets fs,vol,snapshot in the datasets, and
# clones across two datasets
#
-log_must $ZFS create $ctr2
+log_must zfs create $ctr2
for fs in $child_fs $child_fs1; do
- log_must $ZFS create $fs
+ log_must zfs create $fs
done
-log_must $ZFS set mountpoint=$child_fs_mntp $child_fs
-log_must $ZFS set mountpoint=$child_fs1_mntp $child_fs1
+log_must zfs set mountpoint=$child_fs_mntp $child_fs
+log_must zfs set mountpoint=$child_fs1_mntp $child_fs1
for snap in $child_fs_snap $child_fs1_snap; do
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
done
if is_global_zone ; then
for vol in $child_vol $child_vol1; do
- log_must $ZFS create -V $VOLSIZE $vol
+ log_must zfs create -V $VOLSIZE $vol
done
fi
for clone in $child_fs_snap_clone $child_fs_snap_clone1; do
- log_must $ZFS clone $child_fs_snap $clone
+ log_must zfs clone $child_fs_snap $clone
done
for clone in $child_fs1_snap_clone $child_fs1_snap_clone1; do
- log_must $ZFS clone $child_fs1_snap $clone
+ log_must zfs clone $child_fs1_snap $clone
done
log_note "Verify that 'zfs destroy -r' fails to destroy dataset " \
"with dependent clone outside it."
for obj in $child_fs $child_fs1 $ctr $ctr1; do
- log_mustnot $ZFS destroy -r $obj
+ log_mustnot zfs destroy -r $obj
datasetexists $obj || \
log_fail "'zfs destroy -r' fails to keep dependent " \
"clone outside the hirearchy."
log_note "Verify that 'zfs destroy -R' succeeds to destroy dataset " \
"with dependent clone outside it."
-log_must $ZFS destroy -R $ctr1
+log_must zfs destroy -R $ctr1
datasetexists $ctr1 && \
log_fail "'zfs destroy -R' fails to destroy dataset with clone outside it."
log_note "Verify that 'zfs destroy -r' succeeds to destroy dataset " \
"without dependent clone outside it."
-log_must $ZFS destroy -r $ctr
+log_must zfs destroy -r $ctr
datasetexists $ctr && \
log_fail "'zfs destroy -r' fails to destroy dataset with clone outside it."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
cd $olddir
datasetexists $clone && \
- log_must $ZFS destroy -f $clone
+ log_must zfs destroy -f $clone
snapexists $snap && \
- log_must $ZFS destroy -f $snap
+ log_must zfs destroy -f $snap
for fs in $fs1 $fs2; do
datasetexists $fs && \
- log_must $ZFS destroy -f $fs
+ log_must zfs destroy -f $fs
done
for dir in $TESTDIR1 $TESTDIR2; do
[[ -d $dir ]] && \
- log_must $RM -rf $dir
+ log_must rm -rf $dir
done
}
for dir in $TESTDIR1 $TESTDIR2; do
[[ ! -d $dir ]] && \
- log_must $MKDIR -p $dir
+ log_must mkdir -p $dir
done
fs1=$TESTPOOL/$TESTFS1
# make the mountpoint busy
#
for fs in $fs1 $fs2; do
- log_must $ZFS create $fs
+ log_must zfs create $fs
done
-log_must $ZFS snapshot $snap
-log_must $ZFS clone $snap $clone
+log_must zfs snapshot $snap
+log_must zfs clone $snap $clone
-log_must $ZFS set mountpoint=$mntp1 $fs1
-log_must $ZFS set mountpoint=$mntp2 $clone
+log_must zfs set mountpoint=$mntp1 $fs1
+log_must zfs set mountpoint=$mntp2 $clone
for arg in "$fs1 $mntp1" "$clone $mntp2"; do
- fs=`$ECHO $arg | $AWK '{print $1}'`
- mntp=`$ECHO $arg | $AWK '{print $2}'`
+ fs=`echo $arg | awk '{print $1}'`
+ mntp=`echo $arg | awk '{print $2}'`
log_note "Verify that 'zfs destroy' fails to" \
"destroy filesystem when it is busy."
cd $mntp
- log_mustnot $ZFS destroy $fs
+ log_mustnot zfs destroy $fs
if is_linux; then
- log_mustnot $ZFS destroy -f $fs
+ log_mustnot zfs destroy -f $fs
datasetnonexists $fs && \
log_fail "'zfs destroy -f' destroyed busy filesystem."
else
- log_must $ZFS destroy -f $fs
+ log_must zfs destroy -f $fs
datasetexists $fs && \
log_fail "'zfs destroy -f' fail to destroy busy filesystem."
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
fi
for opt in $options; do
- log_mustnot $ZFS destroy $opt $dtst
+ log_mustnot zfs destroy $opt $dtst
done
done
}
# an explanation of what 'correct' means for this test.
#
mntpt=$(get_prop mountpoint $FS)
-pidlist=$($MKBUSY $mntpt/$TESTFILE0)
-log_note "$MKBUSY $mntpt/$TESTFILE0 (pidlist: $pidlist)"
+pidlist=$(mkbusy $mntpt/$TESTFILE0)
+log_note "mkbusy $mntpt/$TESTFILE0 (pidlist: $pidlist)"
[[ -z $pidlist ]] && log_fail "Failure from mkbusy"
negative_test "-R -rR" $CTR
check_dataset datasetnonexists $VOLSNAP $VOLCLONE
check_dataset datasetexists $FSSNAP $FSCLONE
else
- log_must $ZFS list -rtall
+ log_must zfs list -rtall
log_fail "Unexpected datasets remaining"
fi
check_dataset datasetexists $CTR $FS $VOL $VOLSNAP $VOLCLONE
check_dataset datasetnonexists $FSSNAP $FSCLONE
-log_must $KILL $pidlist
-log_mustnot $PGREP -fl $MKBUSY
+log_must kill $pidlist
+log_mustnot pgrep -fl mkbusy
pidlist=""
#
#
if is_global_zone; then
setup_testenv clone
- pidlist=$($MKBUSY $TESTDIR1/$TESTFILE0)
- log_note "$MKBUSY $TESTDIR1/$TESTFILE0 (pidlist: $pidlist)"
+ pidlist=$(mkbusy $TESTDIR1/$TESTFILE0)
+ log_note "mkbusy $TESTDIR1/$TESTFILE0 (pidlist: $pidlist)"
[[ -z $pidlist ]] && log_fail "Failure from mkbusy"
negative_test "-R -rR" $CTR
check_dataset datasetexists $CTR $VOL
check_dataset datasetnonexists $VOLSNAP $VOLCLONE
fi
-log_must $KILL $pidlist
-log_mustnot $PGREP -fl $MKBUSY
+log_must kill $pidlist
+log_mustnot pgrep -fl mkbusy
pidlist=""
#
#
mntpt=$(snapshot_mountpoint $FSSNAP)
-pidlist=$($MKBUSY $mntpt)
-log_note "$MKBUSY $mntpt (pidlist: $pidlist)"
+pidlist=$(mkbusy $mntpt)
+log_note "mkbusy $mntpt (pidlist: $pidlist)"
[[ -z $pidlist ]] && log_fail "Failure from mkbusy"
for option in -R -rR ; do
setup_testenv clone
- log_must $ZFS destroy $option $FSSNAP
+ log_must zfs destroy $option $FSSNAP
check_dataset datasetexists $CTR $FS $VOL
check_dataset datasetnonexists $FSSNAP $FSCLONE
done
-log_must $KILL $pidlist
-log_mustnot $PGREP -fl $MKBUSY
+log_must kill $pidlist
+log_mustnot pgrep -fl mkbusy
pidlist=""
log_pass "zfs destroy -f|-r|-rf|-R|-rR <dataset>' failed in different " \
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZFS destroy ${args[i]}
+ log_mustnot zfs destroy ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $clonesnap; then
- log_must $ZFS promote $fs
+ log_must zfs promote $fs
fi
- datasetexists $clone && log_must $ZFS destroy $clone
- datasetexists $fssnap && log_must $ZFS destroy $fssnap
+ datasetexists $clone && log_must zfs destroy $clone
+ datasetexists $fssnap && log_must zfs destroy $fssnap
}
log_assert "Destroy dataset which is namespace-parent of origin should failed."
# Define key word for expected failure.
KEY_WORDS="filesystem has children"
-log_must $ZFS snapshot $fssnap
-log_must $ZFS clone $fssnap $clone
-log_must $ZFS promote $clone
-log_mustnot_expect "$KEY_WORDS" $ZFS destroy $fs
-log_mustnot_expect "$KEY_WORDS" $ZFS destroy $clone
+log_must zfs snapshot $fssnap
+log_must zfs clone $fssnap $clone
+log_must zfs promote $clone
+log_mustnot_expect "$KEY_WORDS" zfs destroy $fs
+log_mustnot_expect "$KEY_WORDS" zfs destroy $clone
log_pass "Destroy dataset which is namespace-parent of origin passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
typeset snap=$1
- log_must $ZFS destroy -d $snap
+ log_must zfs destroy -d $snap
log_mustnot datasetexists $snap
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
snap=$(eval echo \$${dstype}SNAP)
clone=$(eval echo \$${dstype}CLONE)
- log_must $ZFS destroy -d $snap
+ log_must zfs destroy -d $snap
log_must datasetexists $snap
log_must eval "[[ $(get_prop defer_destroy $snap) == 'on' ]]"
- log_must $ZFS destroy $clone
+ log_must zfs destroy $clone
log_mustnot datasetexists $snap
log_mustnot datasetexists $clone
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
ds=$(eval echo \$${dstype})
snap=$(eval echo \$${dstype}SNAP)
clone=$(eval echo \$${dstype}CLONE)
- log_must $ZFS destroy -d $snap
+ log_must zfs destroy -d $snap
log_must datasetexists $snap
- log_must $ZFS destroy -R $clone
+ log_must zfs destroy -R $clone
log_mustnot datasetexists $snap
log_mustnot datasetexists $clone
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dstype=$1
snap=$(eval echo \$${dstype}SNAP)
- log_must $ZFS hold zfstest $snap
- log_must $ZFS destroy -d $snap
+ log_must zfs hold zfstest $snap
+ log_must zfs destroy -d $snap
log_must datasetexists $snap
log_must eval "[[ $(get_prop defer_destroy $snap) == 'on' ]]"
- log_must $ZFS release zfstest $snap
+ log_must zfs release zfstest $snap
log_mustnot datasetexists $snap
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dstype=$1
snap=$(eval echo \$${dstype}SNAP)
- log_must $ZFS hold zfstest1 $snap
- log_must $ZFS destroy -d $snap
+ log_must zfs hold zfstest1 $snap
+ log_must zfs destroy -d $snap
log_must datasetexists $snap
log_must eval "[[ $(get_prop defer_destroy $snap) == 'on' ]]"
- log_must $ZFS hold zfstest2 $snap
- log_mustnot $ZFS hold zfstest1 $snap
- log_mustnot $ZFS hold zfstest2 $snap
+ log_must zfs hold zfstest2 $snap
+ log_mustnot zfs hold zfstest1 $snap
+ log_mustnot zfs hold zfstest2 $snap
- log_must $ZFS release zfstest1 $snap
+ log_must zfs release zfstest1 $snap
log_must datasetexists $snap
- log_mustnot $ZFS release zfstest1 $snap
+ log_mustnot zfs release zfstest1 $snap
log_must datasetexists $snap
- log_mustnot $ZFS release zfstest3 $snap
+ log_mustnot zfs release zfstest3 $snap
log_must datasetexists $snap
- log_must $ZFS release zfstest2 $snap
+ log_must zfs release zfstest2 $snap
log_mustnot datasetexists $snap
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dstype=$1
snap=$(eval echo \$${dstype}SNAP)
- log_must $ZFS hold zfstest $snap
- log_mustnot $ZFS destroy $snap
+ log_must zfs hold zfstest $snap
+ log_mustnot zfs destroy $snap
log_must datasetexists $snap
- log_must $ZFS release zfstest $snap
- log_must $ZFS destroy $snap
+ log_must zfs release zfstest $snap
+ log_must zfs destroy $snap
log_mustnot datasetexists $snap
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for ds in $datasets; do
- datasetexists $ds && $ZFS destroy -rf $ds
+ datasetexists $ds && zfs destroy -rf $ds
done
}
# create nested datasets
-log_must $ZFS create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
+log_must zfs create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
# verify dataset creation
for ds in $datasets; do
done
# create recursive nestedd snapshot
-log_must $ZFS snapshot -r $TESTPOOL/$TESTFS1@snap
+log_must zfs snapshot -r $TESTPOOL/$TESTFS1@snap
for ds in $datasets; do
datasetexists $ds@snap || log_fail "Create $ds@snap snapshot fail."
done
# destroy nested snapshot recursively
-log_must $ZFS destroy -R $TESTPOOL/$TESTFS1@snap
+log_must zfs destroy -R $TESTPOOL/$TESTFS1@snap
# verify snapshot destroy
for ds in $datasets; do
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
# DESCRIPTION
function cleanup
{
- datasetexists $TESTPOOL/$TESTFS1 && $ZFS destroy -R $TESTPOOL/$TESTFS1
- datasetexists $TESTPOOL/$TESTFS2 && $ZFS destroy -R $TESTPOOL/$TESTFS2
- poolexists $TESTPOOL2 && $ZPOOL destroy $TESTPOOL2
- $RM -rf $VIRTUAL_DISK
+ datasetexists $TESTPOOL/$TESTFS1 && zfs destroy -R $TESTPOOL/$TESTFS1
+ datasetexists $TESTPOOL/$TESTFS2 && zfs destroy -R $TESTPOOL/$TESTFS2
+ poolexists $TESTPOOL2 && zpool destroy $TESTPOOL2
+ rm -rf $VIRTUAL_DISK
}
log_assert "zfs destroy for multiple snapshot is handled correctly"
log_onexit cleanup
-$ZFS create $TESTPOOL/$TESTFS1
+zfs create $TESTPOOL/$TESTFS1
typeset -i i=1
snaplist=""
log_note "zfs destroy on valid snapshot names"
for i in 1 2 3 4 5; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
snaplist=$snaplist,snap$i
done
snaplist=${snaplist#,}
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@$snaplist
+log_must zfs destroy $TESTPOOL/$TESTFS1@$snaplist
for i in 1 2 3 4 5; do
log_mustnot snapexists $TESTPOOL/$TESFS1@snap$i
done
log_note "zfs destroy with all bogus snapshot names"
-log_mustnot $ZFS destroy $TESTPOOL/$TESTFS1@snap12,snap21,sna@pple1@,s""nappy2
+log_mustnot zfs destroy $TESTPOOL/$TESTFS1@snap12,snap21,sna@pple1@,s""nappy2
log_note "zfs destroy with some bogus snapshot names"
for i in 1 2 3; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
done
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1,snap2,snapple1,snappy2,snap3
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1,snap2,snapple1,snappy2,snap3
for i in 1 2 3; do
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap$i
done
log_note "zfs destroy with some snapshot names having special characters"
for i in 1 2 3; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
done
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1,@,snap2,,,,snap3,
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1,@,snap2,,,,snap3,
for i in 1 2 3; do
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap$i
done
log_note "zfs destroy for too many snapshots"
snaplist=""
for i in {1..100}; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
snaplist=$snaplist,snap$i
done
snaplist=${snaplist#,}
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@$snaplist
+log_must zfs destroy $TESTPOOL/$TESTFS1@$snaplist
for i in {1..100}; do
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap$i
done
log_note "zfs destroy multiple snapshots with hold"
snaplist=""
for i in 1 2 3 4 5; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
- log_must $ZFS hold keep $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs hold keep $TESTPOOL/$TESTFS1@snap$i
snaplist=$snaplist,snap$i
done
snaplist=${snaplist#,}
-log_mustnot $ZFS destroy $TESTPOOL/$TESTFS1@$snaplist
+log_mustnot zfs destroy $TESTPOOL/$TESTFS1@$snaplist
for i in 1 2 3 4 5; do
- log_must $ZFS release keep $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs release keep $TESTPOOL/$TESTFS1@snap$i
done
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@$snaplist
+log_must zfs destroy $TESTPOOL/$TESTFS1@$snaplist
log_note "zfs destroy for multiple snapshots having clones"
for i in 1 2 3 4 5; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
done
snaplist=""
for i in 1 2 3 4 5; do
- log_must $ZFS clone $TESTPOOL/$TESTFS1@snap$i $TESTPOOL/$TESTFS1/clone$i
+ log_must zfs clone $TESTPOOL/$TESTFS1@snap$i $TESTPOOL/$TESTFS1/clone$i
snaplist=$snaplist,snap$i
done
snaplist=${snaplist#,}
-log_mustnot $ZFS destroy $TESTPOOL/$TESTFS1@$snaplist
+log_mustnot zfs destroy $TESTPOOL/$TESTFS1@$snaplist
for i in 1 2 3 4 5; do
log_must snapexists $TESTPOOL/$TESTFS1@snap$i
- log_must $ZFS destroy $TESTPOOL/$TESTFS1/clone$i
+ log_must zfs destroy $TESTPOOL/$TESTFS1/clone$i
done
log_note "zfs destroy for snapshots for different datasets"
-log_must $ZFS create $TESTPOOL/$TESTFS2
-log_must $ZFS snapshot $TESTPOOL/$TESTFS2@fs2snap
-log_must $ZFS create $TESTPOOL/$TESTFS1/$TESTFS2
-log_must $ZFS snapshot $TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
+log_must zfs create $TESTPOOL/$TESTFS2
+log_must zfs snapshot $TESTPOOL/$TESTFS2@fs2snap
+log_must zfs create $TESTPOOL/$TESTFS1/$TESTFS2
+log_must zfs snapshot $TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
long_arg=$TESTPOOL/$TESTFS1@snap1,$TESTPOOL/$TESTFS2@fs2snap,
long_arg=$long_arg$TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
-log_must $ZFS destroy $long_arg
+log_must zfs destroy $long_arg
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap1
log_must snapexists $TESTPOOL/$TESTFS2@fs2snap
log_must snapexists $TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@fs2snap,fs12snap,snap2
+log_must zfs destroy $TESTPOOL/$TESTFS1@fs2snap,fs12snap,snap2
log_must snapexists $TESTPOOL/$TESTFS2@fs2snap
log_must snapexists $TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap2
-log_must $ZFS destroy $TESTPOOL/$TESTFS2@fs2snap,fs12snap,snap3
+log_must zfs destroy $TESTPOOL/$TESTFS2@fs2snap,fs12snap,snap3
log_mustnot snapexists $TESTPOOL/$TESTFS2@fs2snap
log_must snapexists $TESTPOOL/$TESTFS1/$TESTFS2@fs12snap
log_must snapexists $TESTPOOL/$TESTFS1@snap3
log_note "zfs destroy for snapshots from different pools"
VIRTUAL_DISK=/var/tmp/disk
-log_must $MKFILE $MINVDEVSIZE $VIRTUAL_DISK
-log_must $ZPOOL create $TESTPOOL2 $VIRTUAL_DISK
+log_must mkfile $MINVDEVSIZE $VIRTUAL_DISK
+log_must zpool create $TESTPOOL2 $VIRTUAL_DISK
log_must poolexists $TESTPOOL2
-log_must $ZFS create $TESTPOOL2/$TESTFS1
-log_must $ZFS snapshot $TESTPOOL2/$TESTFS1@snap
+log_must zfs create $TESTPOOL2/$TESTFS1
+log_must zfs snapshot $TESTPOOL2/$TESTFS1@snap
long_arg=$TESTPOOL2/$TESTFS1@snap,$TESTPOOL/$TESTFS1@snap3,
long_arg=$long_arg$TESTPOOL/$TESTFS1@snap5
-log_must $ZFS destroy $long_arg
+log_must zfs destroy $long_arg
log_mustnot snapexists $TESTPOOL2/$TESTFS1@snap
log_must snapexists $TESTPOOL/$TESTFS1@snap3
log_must snapexists $TESTPOOL/$TESTFS1@snap5
-log_must $ZFS snapshot $TESTPOOL2/$TESTFS1@snap
-log_must $ZFS destroy $TESTPOOL2/$TESTFS1@snap5,snap3,snap
+log_must zfs snapshot $TESTPOOL2/$TESTFS1@snap
+log_must zfs destroy $TESTPOOL2/$TESTFS1@snap5,snap3,snap
log_mustnot snapexists $TESTPOOL2/$TESTFS1@snap
log_must snapexists $TESTPOOL/$TESTFS1@snap3
log_must snapexists $TESTPOOL/$TESTFS1@snap5
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
# DESCRIPTION
function cleanup
{
datasetexists $TESTPOOL/$TESTFS1 && \
- log_must $ZFS destroy -R $TESTPOOL/$TESTFS1
+ log_must zfs destroy -R $TESTPOOL/$TESTFS1
datasetexists $TESTPOOL/$TESTVOL && \
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTVOL
+ log_must zfs destroy -Rf $TESTPOOL/$TESTVOL
}
function setup_snapshots
{
for i in $snaps; do
datasetexists $TESTPOOL/$TESTFS1@snap$i && \
- log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs destroy $TESTPOOL/$TESTFS1@snap$i
datasetexists $TESTPOOL/$TESTVOL@snap$i && \
- log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap$i
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
- log_must $ZFS snapshot $TESTPOOL/$TESTVOL@snap$i
+ log_must zfs destroy $TESTPOOL/$TESTVOL@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs snapshot $TESTPOOL/$TESTVOL@snap$i
done
}
log_assert "zfs destroy deletes ranges of snapshots"
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS1
-log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+log_must zfs create $TESTPOOL/$TESTFS1
+log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
snaps="1 2 3 4 5"
log_note "Verify the valid arguments"
range="1 2 3 4 5"
for args in $valid_args; do
setup_snapshots
- log_must $ZFS destroy $TESTPOOL/$TESTFS1$args
- log_must $ZFS destroy $TESTPOOL/$TESTVOL$args
+ log_must zfs destroy $TESTPOOL/$TESTFS1$args
+ log_must zfs destroy $TESTPOOL/$TESTVOL$args
verify_snapshots
done
log_note "Verify invalid arguments"
setup_snapshots
for args in $invalid_args; do
- log_mustnot $ZFS destroy $TESTPOOL/$TESTFS1$args
- log_mustnot $ZFS destroy $TESTPOOL/$TESTVOL$args
+ log_mustnot zfs destroy $TESTPOOL/$TESTFS1$args
+ log_mustnot zfs destroy $TESTPOOL/$TESTVOL$args
log_must verify_snapshots 1
done
log_note "Destroy the beginning range"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@%snap3
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@%snap3
+log_must zfs destroy $TESTPOOL/$TESTFS1@%snap3
+log_must zfs destroy $TESTPOOL/$TESTVOL@%snap3
range="1 2 3"
verify_snapshots
range="4 5"
setup_snapshots
log_note "Destroy the mid range"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap2%snap4
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap2%snap4
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap2%snap4
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap2%snap4
range="2 3 4"
verify_snapshots
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1%snap5
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap5
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1%snap5
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap1%snap5
range="1 5"
verify_snapshots
setup_snapshots
log_note "Destroy the end range"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap3%
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap3%
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap3%
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap3%
range="1 2"
verify_snapshots 1
range="3 4 5"
setup_snapshots
log_note "Destroy a simple list"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap2,snap4
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap2,snap4
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap2,snap4
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap2,snap4
range="2 4"
verify_snapshots
range="1 3 5"
setup_snapshots
log_note "Destroy a list and range together"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1%snap3,snap5
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap3,snap5
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1%snap3,snap5
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap1%snap3,snap5
range="1 2 3 5"
verify_snapshots
range=4
snaps="1 2 3 5 6 7 8 9 10"
setup_snapshots
log_note "Destroy a list of ranges"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1%snap3,snap5
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap3,snap5
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1%snap3,snap5
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap1%snap3,snap5
range="1 2 3 5"
verify_snapshots
range=4
log_note "Snapshot destory with hold"
range="1 2 3 4 5"
for i in 1 2 3 4 5; do
- log_must $ZFS hold keep $TESTPOOL/$TESTFS1@snap$i
- log_must $ZFS hold keep $TESTPOOL/$TESTVOL@snap$i
+ log_must zfs hold keep $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs hold keep $TESTPOOL/$TESTVOL@snap$i
done
-log_mustnot $ZFS destroy $TESTPOOL/$TESTFS1@snap1%snap5
-log_mustnot $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap5
+log_mustnot zfs destroy $TESTPOOL/$TESTFS1@snap1%snap5
+log_mustnot zfs destroy $TESTPOOL/$TESTVOL@snap1%snap5
verify_snapshots 1
for i in 1 2 3 4 5; do
- log_must $ZFS release keep $TESTPOOL/$TESTFS1@snap$i
- log_must $ZFS release keep $TESTPOOL/$TESTVOL@snap$i
+ log_must zfs release keep $TESTPOOL/$TESTFS1@snap$i
+ log_must zfs release keep $TESTPOOL/$TESTVOL@snap$i
done
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap1%snap5
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap5
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap1%snap5
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap1%snap5
verify_snapshots
log_note "Range destroy for snapshots having clones"
setup_snapshots
for i in 1 2 3 4 5; do
- log_must $ZFS clone $TESTPOOL/$TESTFS1@snap$i $TESTPOOL/$TESTFS1/clone$i
+ log_must zfs clone $TESTPOOL/$TESTFS1@snap$i $TESTPOOL/$TESTFS1/clone$i
done
-log_must $ZFS destroy -R $TESTPOOL/$TESTFS1@snap1%snap5
-log_must $ZFS destroy $TESTPOOL/$TESTVOL@snap1%snap5
+log_must zfs destroy -R $TESTPOOL/$TESTFS1@snap1%snap5
+log_must zfs destroy $TESTPOOL/$TESTVOL@snap1%snap5
verify_snapshots
log_pass "'zfs destroy' successfully destroys ranges of snapshots"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dtst=$1
if ! datasetexists $CTR; then
- log_must $ZFS create $CTR
+ log_must zfs create $CTR
fi
if ! datasetexists $FS; then
- log_must $ZFS create $FS
+ log_must zfs create $FS
fi
# Volume test is only availible on globle zone
if ! datasetexists $VOL && is_global_zone; then
- log_must $ZFS create -V $VOLSIZE $VOL
+ log_must zfs create -V $VOLSIZE $VOL
block_device_wait
- $ECHO "y" | $NEWFS $ZVOL_DEVDIR/$VOL > /dev/null 2>&1
+ echo "y" | newfs $ZVOL_DEVDIR/$VOL > /dev/null 2>&1
if (( $? == 0 )); then
- log_note "SUCCESS: $NEWFS $ZVOL_DEVDIR/$VOL>/dev/null"
+ log_note "SUCCESS: newfs $ZVOL_DEVDIR/$VOL>/dev/null"
else
- log_fail "$NEWFS $ZVOL_DEVDIR/$VOL > /dev/null"
+ log_fail "newfs $ZVOL_DEVDIR/$VOL > /dev/null"
fi
if [[ ! -d $TESTDIR1 ]]; then
- log_must $MKDIR $TESTDIR1
+ log_must mkdir $TESTDIR1
fi
- log_must $MOUNT $ZVOL_DEVDIR/$VOL $TESTDIR1
+ log_must mount $ZVOL_DEVDIR/$VOL $TESTDIR1
fi
if [[ $dtst == snap || $dtst == clone ]]; then
if ! datasetexists $FSSNAP; then
- log_must $ZFS snapshot $FSSNAP
+ log_must zfs snapshot $FSSNAP
fi
if ! datasetexists $VOLSNAP && is_global_zone; then
- log_must $ZFS snapshot $VOLSNAP
+ log_must zfs snapshot $VOLSNAP
fi
fi
if [[ $dtst == clone ]]; then
if ! datasetexists $FSCLONE; then
- log_must $ZFS clone $FSSNAP $FSCLONE
+ log_must zfs clone $FSSNAP $FSCLONE
fi
if ! datasetexists $VOLCLONE && is_global_zone; then
- log_must $ZFS clone $VOLSNAP $VOLCLONE
+ log_must zfs clone $VOLSNAP $VOLCLONE
fi
fi
}
function cleanup_testenv
{
if is_global_zone && ismounted "$TESTDIR1" "$NEWFS_DEFAULT_FS" ; then
- log_must $UMOUNT -f $TESTDIR1
+ log_must umount -f $TESTDIR1
fi
if [[ -d $TESTDIR1 ]]; then
- log_must $RM -rf $TESTDIR1
+ log_must rm -rf $TESTDIR1
fi
- $PKILL $MKBUSY
+ pkill mkbusy
if datasetexists $CTR; then
- log_must $ZFS destroy -Rf $CTR
+ log_must zfs destroy -Rf $CTR
fi
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
while read line; do
typeset item
- item=$($ECHO $line | $AWK '{print $2}' 2>&1)
+ item=$(echo $line | awk '{print $2}' 2>&1)
if [[ $item == $p ]]; then
((found += 1))
fi
done
- log_note "SUCCESS: '$ZFS get $opt $prop $dst'."
+ log_note "SUCCESS: 'zfs get $opt $prop $dst'."
}
log_assert "Setting the valid options and properties 'zfs get' should return " \
while ((i < ${#dataset[@]})); do
for opt in "${options[@]}"; do
for prop in ${all_props[@]}; do
- eval "$ZFS get $opt $prop ${dataset[i]} > \
+ eval "zfs get $opt $prop ${dataset[i]} > \
$TESTDIR/$TESTFILE0"
ret=$?
if [[ $ret != 0 ]]; then
- log_fail "$ZFS get returned: $ret"
+ log_fail "zfs get returned: $ret"
fi
check_return_value ${dataset[i]} "$prop" "$opt"
done
while ((i < ${#bookmark[@]})); do
for opt in "${options[@]}"; do
for prop in ${bookmark_props[@]}; do
- eval "$ZFS get $opt $prop ${bookmark[i]} > \
+ eval "zfs get $opt $prop ${bookmark[i]} > \
$TESTDIR/$TESTFILE0"
ret=$?
if [[ $ret != 0 ]]; then
- log_fail "$ZFS get returned: $ret"
+ log_fail "zfs get returned: $ret"
fi
check_return_value ${bookmark[i]} "$prop" "$opt"
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
#
for opt in "" $(gen_option_str "${options[*]}" "-" "" $opt_numb); do
for prop in $(gen_option_str "${props[*]}" "" "," $prop_numb)
do
- $ZFS get $opt $prop $dst > /dev/null 2>&1
+ zfs get $opt $prop $dst > /dev/null 2>&1
ret=$?
if [[ $ret != 0 ]]; then
- log_fail "$ZFS get $opt $prop $dst (Code: $ret)"
+ log_fail "zfs get $opt $prop $dst (Code: $ret)"
fi
done
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- log_must $ZFS mount -o remount,atime $TESTPOOL/$TESTFS
+ log_must zfs mount -o remount,atime $TESTPOOL/$TESTFS
}
log_assert "'zfs get' should get consistent report with different option."
log_onexit cleanup
-log_must $ZFS set atime=on $TESTPOOL/$TESTFS
-log_must $ZFS mount -o remount,noatime $TESTPOOL/$TESTFS
+log_must zfs set atime=on $TESTPOOL/$TESTFS
+log_must zfs mount -o remount,noatime $TESTPOOL/$TESTFS
-value1=$($ZFS get -H atime $TESTPOOL/$TESTFS | $AWK '{print $3}')
-value2=$($ZFS get -H all $TESTPOOL/$TESTFS | $AWK '{print $2 " " $3}' | \
- $GREP ^atime | $AWK '{print $2}')
+value1=$(zfs get -H atime $TESTPOOL/$TESTFS | awk '{print $3}')
+value2=$(zfs get -H all $TESTPOOL/$TESTFS | awk '{print $2 " " $3}' | \
+ grep ^atime | awk '{print $2}')
if [[ $value1 != $value2 ]]; then
log_fail "value1($value1) != value2($value2)"
fi
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $propfile ]] && $RM -f $propfile
+ [[ -e $propfile ]] && rm -f $propfile
datasetexists $clone && \
- log_must $ZFS destroy $clone
+ log_must zfs destroy $clone
for snap in $fssnap $volsnap ; do
snapexists $snap && \
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
done
if [[ -n $globalzone ]] ; then
for pool in $TESTPOOL1 $TESTPOOL2 $TESTPOOL3; do
poolexists $pool && \
- log_must $ZPOOL destroy -f $pool
+ log_must zpool destroy -f $pool
done
- for file in `$LS $TESTDIR1/poolfile*`; do
- $RM -f $file
+ for file in `ls $TESTDIR1/poolfile*`; do
+ rm -f $file
done
else
for fs in $TESTPOOL/$TESTFS1 $TESTPOOL/$TESTFS2 $TESTPOOL/$TESTFS3; do
datasetexists $fs && \
- log_must $ZFS destroy -rf $fs
+ log_must zfs destroy -rf $fs
done
fi
}
#set user defined properties for $TESTPOOL
for usrprop in ${usrprops[@]}; do
- log_must $ZFS set $usrprop $TESTPOOL
+ log_must zfs set $usrprop $TESTPOOL
done
# create snapshot and clone in $TESTPOOL
-log_must $ZFS snapshot $fssnap
-log_must $ZFS clone $fssnap $clone
-log_must $ZFS snapshot $volsnap
+log_must zfs snapshot $fssnap
+log_must zfs clone $fssnap $clone
+log_must zfs snapshot $volsnap
# collect datasets which can be set user defined properties
usrpropds="$clone $fs"
(( i += 1 ))
if [[ -n $globalzone ]] ; then
- log_must $MKFILE $FILESIZE ${file}$i
+ log_must mkfile $FILESIZE ${file}$i
eval pool=\$TESTPOOL$i
- log_must $ZPOOL create $pool ${file}$i
+ log_must zpool create $pool ${file}$i
else
eval pool=$TESTPOOL/\$TESTFS$i
- log_must $ZFS create $pool
+ log_must zfs create $pool
fi
#set user defined properties for testing
for usrprop in ${usrprops[@]}; do
- log_must $ZFS set $usrprop $pool
+ log_must zfs set $usrprop $pool
done
#create datasets in pool
- log_must $ZFS create $pool/$TESTFS
- log_must $ZFS snapshot $pool/$TESTFS@$TESTSNAP
- log_must $ZFS clone $pool/$TESTFS@$TESTSNAP $pool/$TESTCLONE
+ log_must zfs create $pool/$TESTFS
+ log_must zfs snapshot $pool/$TESTFS@$TESTSNAP
+ log_must zfs clone $pool/$TESTFS@$TESTSNAP $pool/$TESTCLONE
if [[ -n $globalzone ]] ; then
- log_must $ZFS create -V $VOLSIZE $pool/$TESTVOL
+ log_must zfs create -V $VOLSIZE $pool/$TESTVOL
else
- log_must $ZFS create $pool/$TESTVOL
+ log_must zfs create $pool/$TESTVOL
fi
- ds=`$ZFS list -H -r -o name -t filesystem,volume $pool`
+ ds=`zfs list -H -r -o name -t filesystem,volume $pool`
usrpropds="$usrpropds $pool/$TESTFS $pool/$TESTCLONE $pool/$TESTVOL"
allds="$allds $pool/$TESTFS $pool/$TESTCLONE $pool/$TESTVOL \
$pool/$TESTFS@$TESTSNAP"
typeset -i propnum=0
typeset -i failflag=0
while (( i < ${#opts[*]} )); do
- [[ -e $propfile ]] && $RM -f $propfile
- log_must eval "$ZFS get ${opts[i]} all >$propfile"
+ [[ -e $propfile ]] && rm -f $propfile
+ log_must eval "zfs get ${opts[i]} all >$propfile"
for ds in $allds; do
- $GREP $ds $propfile >/dev/null 2>&1
+ grep $ds $propfile >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "There is no property for" \
"dataset $ds in 'get all' output."
- propnum=`$CAT $propfile | $AWK '{print $1}' | \
- $GREP "${ds}$" | $WC -l`
- ds_type=`$ZFS get -H -o value type $ds`
+ propnum=`cat $propfile | awk '{print $1}' | \
+ grep "${ds}$" | wc -l`
+ ds_type=`zfs get -H -o value type $ds`
case $ds_type in
filesystem )
(( propnum < fspropnum )) && \
typeset ds="$2"
for prop in ${commprops[*]}; do
- ds=`$ZFS get -H -o name $prop`
+ ds=`zfs get -H -o name $prop`
[[ "$ds" != "$allds" ]] && \
log_fail "The result datasets are $ds, but all suitable" \
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
#
for dst in ${dataset[@]}; do
for opt in $opts; do
for prop in $props; do
- $ZFS get $opt -- $prop $dst > /dev/null 2>&1
+ zfs get $opt -- $prop $dst > /dev/null 2>&1
ret=$?
if [[ $ret == 0 ]]; then
- log_fail "$ZFS get $opt -- $prop " \
+ log_fail "zfs get $opt -- $prop " \
"$dst unexpectedly succeeded."
fi
done
for dst in ${bookmark[@]}; do
for opt in $opts; do
for prop in $props; do
- $ZFS get $opt -- $prop $dst > /dev/null 2>&1
+ zfs get $opt -- $prop $dst > /dev/null 2>&1
ret=$?
if [[ $ret == 0 ]]; then
- log_fail "$ZFS get $opt -- $prop " \
+ log_fail "zfs get $opt -- $prop " \
"$dst unexpectedly succeeded."
fi
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
#
typeset -i i=0
while (( i < ${#bad_combine[*]} ))
do
- log_mustnot eval "$ZFS get ${bad_combine[i]} >/dev/null"
+ log_mustnot eval "zfs get ${bad_combine[i]} >/dev/null"
(( i = i + 1 ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
#
typeset -i i=0
while (( i < ${#badargs[*]} ))
do
- log_mustnot eval "$ZFS get \"${badargs[i]}\" >/dev/null 2>&1"
+ log_mustnot eval "zfs get \"${badargs[i]}\" >/dev/null 2>&1"
(( i = i + 1 ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
usedbychildren usedbydataset usedbyrefreservation usedbysnapshots \
userquota@root groupquota@root userused@root groupused@root
-$ZFS upgrade -v > /dev/null 2>&1
+zfs upgrade -v > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
set -A all_props ${all_props[*]} version
fi
(( depth_item = $RANDOM % ${#depth_options[@]} ))
for prop in $(gen_option_str "${props[*]}" "" "," $prop_numb)
do
- log_must eval "$ZFS get -${depth_options[depth_item]} ${options[item]} $prop $dst > /dev/null 2>&1"
+ log_must eval "zfs get -${depth_options[depth_item]} ${options[item]} $prop $dst > /dev/null 2>&1"
done
(( i += 1 ))
done
while (( i < opt_numb )); do
(( item = $RANDOM % ${#options[@]} ))
(( depth_item = $RANDOM % ${#depth_options[@]} ))
- log_must eval "$ZFS get -${depth_options[depth_item]} ${options[item]} $bookmark_props $dst > /dev/null 2>&1"
+ log_must eval "zfs get -${depth_options[depth_item]} ${options[item]} $bookmark_props $dst > /dev/null 2>&1"
(( i += 1 ))
done
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
usedbychildren usedbydataset usedbyrefreservation usedbysnapshots \
userquota@root groupquota@root userused@root groupused@root
-$ZFS upgrade -v > /dev/null 2>&1
+zfs upgrade -v > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
set -A all_props ${all_props[*]} version
fi
(( j+=1 ))
done
for prop in $(gen_option_str "${all_props[*]}" "" "," $prop_numb); do
- log_must eval "$ZFS get -H -d $dp -o name $prop $DEPTH_FS > $DEPTH_OUTPUT"
- log_must eval "$ZFS get -rH -o name $prop $DEPTH_FS | $EGREP -e '$eg_opt' > $EXPECT_OUTPUT"
- log_must $DIFF $DEPTH_OUTPUT $EXPECT_OUTPUT
+ log_must eval "zfs get -H -d $dp -o name $prop $DEPTH_FS > $DEPTH_OUTPUT"
+ log_must eval "zfs get -rH -o name $prop $DEPTH_FS | egrep -e '$eg_opt' > $EXPECT_OUTPUT"
+ log_must diff $DEPTH_OUTPUT $EXPECT_OUTPUT
done
(( old_val=dp ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_common.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
typeset -i i=0
while (( i < ${#badargs[*]} ))
do
- log_mustnot eval "$ZFS get -d ${badargs[i]} $TESTPOOL/$TESTFS >/dev/null 2>&1"
+ log_mustnot eval "zfs get -d ${badargs[i]} $TESTPOOL/$TESTFS >/dev/null 2>&1"
(( i = i + 1 ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
bkmarkexists $TESTPOOL/$TESTFS#$TESTBKMARK && \
destroy_bookmark $TESTPOOL/$TESTFS#$TESTBKMARK
- [[ -e $TESTFILE0 ]] && log_must $RM $TESTFILE0
+ [[ -e $TESTFILE0 ]] && log_must rm $TESTFILE0
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
DEPTH_FS=$TESTPOOL/depth_fs
typeset -i i j k
typeset fslist
- log_must $ZFS create $DEPTH_FS
+ log_must zfs create $DEPTH_FS
(( i=1 ))
while (( i<=MAX_DEPTH )); do
fslist=$DEPTH_FS
else
(( k=i-1 ))
- fslist=$($ZFS list -rH -t filesystem -o name $DEPTH_FS|$GREP depth"$k"$)
+ fslist=$(zfs list -rH -t filesystem -o name $DEPTH_FS|grep depth"$k"$)
if (( $? != 0 )); then
log_fail "No depth$k filesystem"
fi
for fs in $fslist; do
(( j=1 ))
while (( j<=DS_COUNT )); do
- log_must $ZFS create $fs/fs_"$j"_depth"$i"
+ log_must zfs create $fs/fs_"$j"_depth"$i"
if is_global_zone ; then
- log_must $ZFS create -V 8M $fs/vol_"$j"_depth"$i"
+ log_must zfs create -V 8M $fs/vol_"$j"_depth"$i"
fi
- log_must $ZFS snapshot $fs@snap_"$j"_depth"$i"
+ log_must zfs snapshot $fs@snap_"$j"_depth"$i"
(( j=j+1 ))
done
done
#
function depth_fs_cleanup
{
- log_must $ZFS destroy -rR $DEPTH_FS
+ log_must zfs destroy -rR $DEPTH_FS
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
compressratio ratio mounted origin quota reservation \
reserv volsize volblocksize volblock"
-$ZFS upgrade -v > /dev/null 2>&1
+zfs upgrade -v > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
props_str="$props_str version"
fi
while [[ $i -lt ${#prop[*]} ]]; do
orig_val=$(get_prop ${prop[i]} $obj)
- log_mustnot $ZFS inherit ${prop[i]} $obj
+ log_mustnot zfs inherit ${prop[i]} $obj
new_val=$(get_prop ${prop[i]} $obj)
#
#
-# Copyright (c) 2011 by Delphix. All rights reserved.
+# Copyright (c) 2011, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $TESTPOOL/$TESTFS@$TESTSNAP; then
- log_must $ZFS destroy $TESTPOOL/$TESTFS@$TESTSNAP
+ log_must zfs destroy $TESTPOOL/$TESTFS@$TESTSNAP
fi
}
"aclinherit" "xattr" "copies"
set -A illprops "recordsiz" "mountpont" "sharen" "compres" "atme" "blah"
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
typeset -i i=0
for ds in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL \
# zfs inherit should fail with bad options
for opt in ${badopts[@]}; do
for prop in ${props[@]}; do
- log_mustnot eval "$ZFS inherit $opt $prop $ds \
+ log_mustnot eval "zfs inherit $opt $prop $ds \
>/dev/null 2>&1"
done
done
# zfs inherit should fail with invalid properties
for prop in "${illprops[@]}"; do
- log_mustnot eval "$ZFS inherit $prop $ds >/dev/null 2>&1"
- log_mustnot eval "$ZFS inherit -r $prop $ds >/dev/null 2>&1"
+ log_mustnot eval "zfs inherit $prop $ds >/dev/null 2>&1"
+ log_mustnot eval "zfs inherit -r $prop $ds >/dev/null 2>&1"
done
# zfs inherit should fail with too many arguments
(( i = 0 ))
while (( i < ${#props[*]} -1 )); do
- log_mustnot eval "$ZFS inherit ${props[(( i ))]} \
+ log_mustnot eval "zfs inherit ${props[(( i ))]} \
${props[(( i + 1 ))]} $ds >/dev/null 2>&1"
- log_mustnot eval "$ZFS inherit -r ${props[(( i ))]} \
+ log_mustnot eval "zfs inherit -r ${props[(( i ))]} \
${props[(( i + 1 ))]} $ds >/dev/null 2>&1"
(( i = i + 2 ))
# zfs inherit should fail with missing datasets
for prop in ${props[@]}; do
- log_mustnot eval "$ZFS inherit $prop >/dev/null 2>&1"
- log_mustnot eval "$ZFS inherit -r $prop >/dev/null 2>&1"
+ log_mustnot eval "zfs inherit $prop >/dev/null 2>&1"
+ log_mustnot eval "zfs inherit -r $prop >/dev/null 2>&1"
done
log_pass "'zfs inherit' failed as expected when passing illegal arguments."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
{
for ds in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL ; do
if snapexists $ds@$TESTSNAP; then
- log_must $ZFS destroy $ds@$TESTSNAP
+ log_must zfs destroy $ds@$TESTSNAP
fi
done
cleanup_user_prop $TESTPOOL
typeset prop_name=$(valid_user_property 10)
typeset value=$(user_property_value 16)
- log_must eval "$ZFS set $prop_name='$value' $ds"
+ log_must eval "zfs set $prop_name='$value' $ds"
- log_must $ZFS snapshot $ds@$TESTSNAP
+ log_must zfs snapshot $ds@$TESTSNAP
typeset snapvalue=$(get_prop $prop_name $ds@$TESTSNAP)
fi
snapvalue=$(user_property_value 16)
- log_must eval "$ZFS set $prop_name='$snapvalue' $ds@$TESTSNAP"
+ log_must eval "zfs set $prop_name='$snapvalue' $ds@$TESTSNAP"
- log_must $ZFS inherit $prop_name $ds@$TESTSNAP
+ log_must zfs inherit $prop_name $ds@$TESTSNAP
snapvalue=$(get_prop $prop_name $ds@$TESTSNAP)
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.cfg
ismounted $dev
if (( $? == 0 )); then
- log_must $ZFS $unmountforce $dev
+ log_must zfs $unmountforce $dev
fi
return 0
}
datasetexists $pool/$fs && \
log_must cleanup_filesystem $pool $fs
- $RMDIR $mntpoint > /dev/null 2>&1
+ rmdir $mntpoint > /dev/null 2>&1
if [[ ! -d $mntpoint ]]; then
- log_must $MKDIR -p $mntpoint
+ log_must mkdir -p $mntpoint
fi
case "$type" in
- 'ctr') log_must $ZFS create $pool/$fs
- log_must $ZFS set mountpoint=$mntpoint $pool/$fs
+ 'ctr') log_must zfs create $pool/$fs
+ log_must zfs set mountpoint=$mntpoint $pool/$fs
;;
- 'vol') log_must $ZFS create -V $VOLSIZE $pool/$fs
+ 'vol') log_must zfs create -V $VOLSIZE $pool/$fs
block_device_wait
;;
- *) log_must $ZFS create $pool/$fs
- log_must $ZFS set mountpoint=$mntpoint $pool/$fs
+ *) log_must zfs create $pool/$fs
+ log_must zfs set mountpoint=$mntpoint $pool/$fs
;;
esac
if datasetexists "$pool/$fs" ; then
mtpt=$(get_prop mountpoint "$pool/$fs")
- log_must $ZFS destroy -r $pool/$fs
+ log_must zfs destroy -r $pool/$fs
[[ -d $mtpt ]] && \
- log_must $RM -rf $mtpt
+ log_must rm -rf $mtpt
else
return 1
fi
{
typeset fs
- for fs in $($ZFS $mountcmd | $AWK '{print $1}') ; do
+ for fs in $(zfs $mountcmd | awk '{print $1}') ; do
log_must mounted $fs
done
return 0
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
return 0
}
-log_assert "Verify that '$ZFS $mountcmd <filesystem>' succeeds as root."
+log_assert "Verify that 'zfs $mountcmd <filesystem>' succeeds as root."
log_onexit cleanup
unmounted $TESTPOOL/$TESTFS || \
log_must cleanup
-log_must $ZFS $mountcmd $TESTPOOL/$TESTFS
+log_must zfs $mountcmd $TESTPOOL/$TESTFS
log_note "Make sure the filesystem $TESTPOOL/$TESTFS is mounted"
mounted $TESTPOOL/$TESTFS || \
log_fail Filesystem $TESTPOOL/$TESTFS is unmounted
-log_pass "'$ZFS $mountcmd <filesystem>' succeeds as root."
+log_pass "'zfs $mountcmd <filesystem>' succeeds as root."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
}
-log_assert "Verify that '$ZFS $mountcmd' with a filesystem " \
+log_assert "Verify that 'zfs $mountcmd' with a filesystem " \
"whose name is not in 'zfs list' will fail with return code 1."
log_onexit cleanup
log_note "Make sure the filesystem $TESTPOOL/$NONEXISTFSNAME " \
"is not in 'zfs list'"
-log_mustnot $ZFS list $TESTPOOL/$NONEXISTFSNAME
+log_mustnot zfs list $TESTPOOL/$NONEXISTFSNAME
typeset -i ret=0
-$ZFS $mountcmd $TESTPOOL/$NONEXISTFSNAME
+zfs $mountcmd $TESTPOOL/$NONEXISTFSNAME
ret=$?
(( ret == 1 )) || \
- log_fail "'$ZFS $mountcmd $TESTPOOL/$NONEXISTFSNAME' " \
+ log_fail "'zfs $mountcmd $TESTPOOL/$NONEXISTFSNAME' " \
"unexpected return code of $ret."
log_note "Make sure the filesystem $TESTPOOL/$NONEXISTFSNAME is unmounted"
unmounted $TESTPOOL/$NONEXISTFSNAME || \
log_fail Filesystem $TESTPOOL/$NONEXISTFSNAME is mounted
-log_pass "'$ZFS $mountcmd' with a filesystem " \
+log_pass "'zfs $mountcmd' with a filesystem " \
"whose name is not in 'zfs list' failed with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
function cleanup
{
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
log_must force_unmount $TESTPOOL/$TESTFS
return 0
}
-log_assert "Verify that '$ZFS $mountcmd' with a filesystem " \
+log_assert "Verify that 'zfs $mountcmd' with a filesystem " \
"whose mountpoint property is 'legacy' or 'none' " \
"will fail with return code 1."
unmounted $TESTPOOL/$TESTFS || \
log_must cleanup
- log_must $ZFS set mountpoint=${mopt[i]} $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=${mopt[i]} $TESTPOOL/$TESTFS
- $ZFS $mountcmd $TESTPOOL/$TESTFS
+ zfs $mountcmd $TESTPOOL/$TESTFS
ret=$?
(( ret == 1)) || \
- log_fail "'$ZFS $mountcmd $TESTPOOL/$TESTFS' " \
+ log_fail "'zfs $mountcmd $TESTPOOL/$TESTFS' " \
"unexpected return code of $ret."
log_note "Make sure the filesystem $TESTPOOL/$TESTFS is unmounted"
((i = i + 1))
done
-log_pass "Verify that '$ZFS $mountcmd' with a filesystem " \
+log_pass "Verify that 'zfs $mountcmd' with a filesystem " \
"whose mountpoint property is 'legacy' or 'none' " \
"will fail with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
typeset -i ret=0
-log_assert "Verify that '$ZFS $mountcmd <filesystem>' " \
+log_assert "Verify that 'zfs $mountcmd <filesystem>' " \
"with a mounted filesystem will fail with return code 1."
log_onexit cleanup
unmounted $TESTPOOL/$TESTFS || \
log_must cleanup
-log_must $ZFS $mountcmd $TESTPOOL/$TESTFS
+log_must zfs $mountcmd $TESTPOOL/$TESTFS
mounted $TESTPOOL/$TESTFS || \
log_unresolved "Filesystem $TESTPOOL/$TESTFS is unmounted"
-$ZFS $mountcmd $TESTPOOL/$TESTFS
+zfs $mountcmd $TESTPOOL/$TESTFS
ret=$?
(( ret == 1 )) || \
- log_fail "'$ZFS $mountcmd $TESTPOOL/$TESTFS' " \
+ log_fail "'zfs $mountcmd $TESTPOOL/$TESTFS' " \
"unexpected return code of $ret."
log_note "Make sure the filesystem $TESTPOOL/$TESTFS is mounted"
mounted $TESTPOOL/$TESTFS || \
log_fail Filesystem $TESTPOOL/$TESTFS is unmounted
-log_pass "'$ZFS $mountcmd <filesystem>' with a mounted filesystem " \
+log_pass "'zfs $mountcmd <filesystem>' with a mounted filesystem " \
"will fail with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
function cleanup
{
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
log_must force_unmount $TESTPOOL/$TESTFS
return 0
}
typeset -i ret=0
-log_assert "Verify that '$ZFS $mountcmd' with a filesystem " \
+log_assert "Verify that 'zfs $mountcmd' with a filesystem " \
"whose mountpoint is currently in use will fail with return code 1."
log_onexit cleanup
log_must cleanup
[[ -d $TESTDIR ]] || \
- log_must $MKDIR -p $TESTDIR
+ log_must mkdir -p $TESTDIR
cd $TESTDIR || \
log_unresolved "Unable change directory to $TESTDIR"
-$ZFS $mountcmd $TESTPOOL/$TESTFS
+zfs $mountcmd $TESTPOOL/$TESTFS
ret=$?
if is_linux; then
(( ret == 0 )) || \
- log_fail "'$ZFS $mountcmd $TESTPOOL/$TESTFS' " \
+ log_fail "'zfs $mountcmd $TESTPOOL/$TESTFS' " \
"unexpected return code of $ret."
else
(( ret == 1 )) || \
- log_fail "'$ZFS $mountcmd $TESTPOOL/$TESTFS' " \
+ log_fail "'zfs $mountcmd $TESTPOOL/$TESTFS' " \
"unexpected return code of $ret."
fi
log_fail Filesystem $TESTPOOL/$TESTFS is mounted
fi
-log_pass "'$ZFS $mountcmd' with a filesystem " \
+log_pass "'zfs $mountcmd' with a filesystem " \
"whose mountpoint is currently in use failed with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
cleanup_filesystem $TESTPOOL $TESTFS1
[[ -d $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must rm -rf $TESTDIR
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
log_must force_unmount $TESTPOOL/$TESTFS
return 0
typeset -i ret=0
-log_assert "Verify that '$ZFS $mountcmd <filesystem>' " \
+log_assert "Verify that 'zfs $mountcmd <filesystem>' " \
"which mountpoint be the identical or the top of an existing one " \
"will fail with return code 1."
log_must force_unmount $TESTPOOL/$TESTFS
[[ -d $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
typeset -i MAXDEPTH=3
typeset -i depth=0
(( depth = depth + 1))
done
-log_must $ZFS set mountpoint=$mtpt $TESTPOOL/$TESTFS
-log_must $ZFS $mountcmd $TESTPOOL/$TESTFS
+log_must zfs set mountpoint=$mtpt $TESTPOOL/$TESTFS
+log_must zfs $mountcmd $TESTPOOL/$TESTFS
mounted $TESTPOOL/$TESTFS || \
log_unresolved "Filesystem $TESTPOOL/$TESTFS is unmounted"
-log_must $ZFS create $TESTPOOL/$TESTFS1
+log_must zfs create $TESTPOOL/$TESTFS1
unmounted $TESTPOOL/$TESTFS1 || \
log_must force_unmount $TESTPOOL/$TESTFS1
while [[ -n $mtpt ]] ; do
(( depth == MAXDEPTH )) && \
- log_note "Verify that '$ZFS $mountcmd <filesystem>' " \
+ log_note "Verify that 'zfs $mountcmd <filesystem>' " \
"which mountpoint be the identical of an existing one " \
"will fail with return code 1."
- log_must $ZFS set mountpoint=$mtpt $TESTPOOL/$TESTFS1
- log_mustnot $ZFS $mountcmd $TESTPOOL/$TESTFS1
+ log_must zfs set mountpoint=$mtpt $TESTPOOL/$TESTFS1
+ log_mustnot zfs $mountcmd $TESTPOOL/$TESTFS1
unmounted $TESTPOOL/$TESTFS1 || \
log_fail "Filesystem $TESTPOOL/$TESTFS1 is mounted."
mtpt=${mtpt%/*}
(( depth == MAXDEPTH )) && \
- log_note "Verify that '$ZFS $mountcmd <filesystem>' " \
+ log_note "Verify that 'zfs $mountcmd <filesystem>' " \
"which mountpoint be the top of an existing one " \
"will fail with return code 1."
(( depth = depth - 1 ))
done
-log_pass "'$ZFS $mountcmd <filesystem>' " \
+log_pass "'zfs $mountcmd <filesystem>' " \
"which mountpoint be the identical or the top of an existing one " \
"will fail with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
#
function cleanup
{
if ! ismounted $TESTPOOL/$TESTFS; then
- log_must $ZFS mount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
fi
}
(( ind = i * 2 + 1 ))
fi
- $ECHO ${values[$ind]}
+ echo ${values[$ind]}
}
fs=$TESTPOOL/$TESTFS
# Set filesystem property temporarily
reverse_opt=$(get_reverse_option $fs $property)
- log_must $ZFS mount -o remount,$reverse_opt $fs
+ log_must zfs mount -o remount,$reverse_opt $fs
cur_val=$(get_prop $property $fs)
(($? != 0)) && log_fail "get_prop $property $fs"
fi
# unmount & mount will revert property to the original value
- log_must $ZFS unmount $fs
- log_must $ZFS mount $fs
+ log_must zfs unmount $fs
+ log_must zfs mount $fs
cur_val=$(get_prop $property $fs)
(($? != 0)) && log_fail "get_prop $property $fs"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
#
function cleanup
{
- ! ismounted $fs && log_must $ZFS mount $fs
+ ! ismounted $fs && log_must zfs mount $fs
if datasetexists $fs1; then
- log_must $ZFS destroy $fs1
+ log_must zfs destroy $fs1
fi
if [[ -f $testfile ]]; then
- log_must $RM -f $testfile
+ log_must rm -f $testfile
fi
}
# Get the original mountpoint of $fs and $fs1
mntpnt=$(get_prop mountpoint $fs)
-log_must $ZFS create $fs1
+log_must zfs create $fs1
mntpnt1=$(get_prop mountpoint $fs1)
testfile=$mntpnt/$TESTFILE0; testfile1=$mntpnt1/$TESTFILE1
-log_must $MKFILE 1M $testfile $testfile1
+log_must mkfile 1M $testfile $testfile1
-log_must $ZFS unmount $fs1
-log_must $ZFS set mountpoint=$mntpnt $fs1
-log_mustnot $ZFS mount $fs1
-log_must $ZFS mount -O $fs1
+log_must zfs unmount $fs1
+log_must zfs set mountpoint=$mntpnt $fs1
+log_mustnot zfs mount $fs1
+log_must zfs mount -O $fs1
# Create new file in override mountpoint
-log_must $MKFILE 1M $mntpnt/$TESTFILE2
+log_must mkfile 1M $mntpnt/$TESTFILE2
# Verify the underlying file system inaccessible
-log_mustnot $LS $testfile
-log_must $LS $mntpnt/$TESTFILE1 $mntpnt/$TESTFILE2
+log_mustnot ls $testfile
+log_must ls $mntpnt/$TESTFILE1 $mntpnt/$TESTFILE2
# Verify $TESTFILE2 was created in $fs1, rather then $fs
-log_must $ZFS unmount $fs1
-log_must $ZFS set mountpoint=$mntpnt1 $fs1
-log_must $ZFS mount $fs1
-log_must $LS $testfile1 $mntpnt1/$TESTFILE2
+log_must zfs unmount $fs1
+log_must zfs set mountpoint=$mntpnt1 $fs1
+log_must zfs mount $fs1
+log_must ls $testfile1 $mntpnt1/$TESTFILE2
# Verify $TESTFILE2 was not created in $fs, and $fs is accessible again.
-log_mustnot $LS $mntpnt/$TESTFILE2
-log_must $LS $testfile
+log_mustnot ls $mntpnt/$TESTFILE2
+log_must ls $testfile
log_pass "Verify 'zfs mount -O' override mount point passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset fs
cleanup_filesystem "$TESTPOOL" "$TESTFS1"
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
[[ -d ${TEST_BASE_DIR%%/}/testroot$$ ]] && \
- $RM -rf ${TEST_BASE_DIR%%/}/testroot$$
+ rm -rf ${TEST_BASE_DIR%%/}/testroot$$
return 0
log_must setup_all
-log_must $ZFS $unmountall
+log_must zfs $unmountall
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if ! ismounted $fs; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
}
fs=$TESTPOOL/$TESTFS
if ! ismounted $fs; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
-log_mustnot $ZFS mount $fs
+log_mustnot zfs mount $fs
mpt=$(get_prop mountpoint $fs)
-log_must $ZFS umount $fs
-curpath=`$DIRNAME $0`
+log_must zfs umount $fs
+curpath=`dirname $0`
cd $mpt
if is_linux; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
else
- log_mustnot $ZFS mount $fs
+ log_mustnot zfs mount $fs
fi
cd $curpath
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if snapexists $TESTPOOL/$TESTFS@$TESTSNAP; then
- log_must $ZFS destroy $TESTPOOL/$TESTFS@$TESTSNAP
+ log_must zfs destroy $TESTPOOL/$TESTFS@$TESTSNAP
fi
if is_global_zone && datasetexists $TESTPOOL/$TESTVOL; then
- log_must $ZFS destroy $TESTPOOL/$TESTVOL
+ log_must zfs destroy $TESTPOOL/$TESTVOL
fi
}
set -A badargs "A" "-A" "-" "-x" "-?" "=" "-o *" "-a"
for arg in "${badargs[@]}"; do
- log_mustnot eval "$ZFS mount $arg $fs >/dev/null 2>&1"
+ log_mustnot eval "zfs mount $arg $fs >/dev/null 2>&1"
done
#verify that zfs mount fails with invalid dataset
for opt in "-o abc" "-O"; do
- log_mustnot eval "$ZFS mount $opt /$fs >/dev/null 2>&1"
+ log_mustnot eval "zfs mount $opt /$fs >/dev/null 2>&1"
done
#verify that zfs mount fails with volume and snapshot
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
-log_mustnot eval "$ZFS mount $TESTPOOL/$TESTFS@$TESTSNAP >/dev/null 2>&1"
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_mustnot eval "zfs mount $TESTPOOL/$TESTFS@$TESTSNAP >/dev/null 2>&1"
if is_global_zone; then
- log_must $ZFS create -V 10m $TESTPOOL/$TESTVOL
- log_mustnot eval "$ZFS mount $TESTPOOL/$TESTVOL >/dev/null 2>&1"
+ log_must zfs create -V 10m $TESTPOOL/$TESTVOL
+ log_mustnot eval "zfs mount $TESTPOOL/$TESTVOL >/dev/null 2>&1"
fi
log_pass "zfs mount fails with bad parameters as expected."
fs=$TESTPOOL/$TESTFS
-log_must $ZFS umount $fs
+log_must zfs umount $fs
log_must mkdir -p $TESTDIR
-log_must $ZFS set mountpoint=$TESTDIR $fs
-log_must $ZFS mount $fs
-log_must $ZFS umount $fs
+log_must zfs set mountpoint=$TESTDIR $fs
+log_must zfs mount $fs
+log_must zfs umount $fs
log_must touch $TESTDIR/testfile.$$
-log_mustnot $ZFS mount $fs
+log_mustnot zfs mount $fs
log_must rm -rf $TESTDIR
log_pass "zfs mount fails non-empty directory as expected."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
done
[[ -d ${TEST_BASE_DIR%%/}/testroot$$ ]] && \
- $RM -rf ${TEST_BASE_DIR%%/}/testroot$$
+ rm -rf ${TEST_BASE_DIR%%/}/testroot$$
}
#
log_must setup_all
export __ZFS_POOL_RESTRICT="$TESTPOOL"
-log_must $ZFS $unmountall
+log_must zfs $unmountall
unset __ZFS_POOL_RESTRICT
verify_all false
export __ZFS_POOL_RESTRICT="$TESTPOOL"
-log_must $ZFS $mountall
+log_must zfs $mountall
unset __ZFS_POOL_RESTRICT
verify_all true
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_promote/zfs_promote.cfg
function cleanup
{
if snapexists $csnap; then
- log_must $ZFS promote $fs
+ log_must zfs promote $fs
fi
snapexists $snap && \
- log_must $ZFS destroy -rR $snap
+ log_must zfs destroy -rR $snap
typeset data
for data in $file0 $file1; do
- [[ -e $data ]] && $RM -f $data
+ [[ -e $data ]] && rm -f $data
done
}
log_fail "There exists data file losing after zfs promote."
fi
- log_mustnot $ZFS destroy -r $c_ds
+ log_mustnot zfs destroy -r $c_ds
}
log_assert "'zfs promote' can promote a clone filesystem."
csnapfile=/$clone/.zfs/snapshot/$TESTSNAP/$TESTFILE0
# setup for promte testing
-log_must $MKFILE $FILESIZE $file0
-log_must $ZFS snapshot $snap
-log_must $MKFILE $FILESIZE $file1
-log_must $RM -f $file0
-log_must $ZFS clone $snap $clone
-log_must $MKFILE $FILESIZE $cfile
-
-log_must $ZFS promote $clone
+log_must mkfile $FILESIZE $file0
+log_must zfs snapshot $snap
+log_must mkfile $FILESIZE $file1
+log_must rm -f $file0
+log_must zfs clone $snap $clone
+log_must mkfile $FILESIZE $cfile
+
+log_must zfs promote $clone
# verify the 'promote' operation
testing_verify $fs $file1 $snapfile $clone $cfile $csnapfile
log_note "Verify 'zfs promote' can change back the dependency relationship."
-log_must $ZFS promote $fs
+log_must zfs promote $fs
#verify the result
testing_verify $clone $cfile $csnapfile $fs $file1 $snapfile
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_promote/zfs_promote.cfg
function cleanup
{
if snapexists $csnap1; then
- log_must $ZFS promote $fs
+ log_must zfs promote $fs
fi
typeset ds
typeset data
for ds in $snap $snap1; do
- log_must $ZFS destroy -rR $ds
+ log_must zfs destroy -rR $ds
done
for file in $TESTDIR/$TESTFILE0 $TESTDIR/$TESTFILE1; do
- [[ -e $file ]] && $RM -f $file
+ [[ -e $file ]] && rm -f $file
done
}
csnap1=$clone@$TESTSNAP1
# setup for promote testing
-log_must $MKFILE $FILESIZE $TESTDIR/$TESTFILE0
-log_must $ZFS snapshot $snap
-log_must $MKFILE $FILESIZE $TESTDIR/$TESTFILE1
-log_must $RM -f $testdir/$TESTFILE0
-log_must $ZFS snapshot $snap1
-log_must $ZFS clone $snap1 $clone
-log_must $MKFILE $FILESIZE /$clone/$CLONEFILE
+log_must mkfile $FILESIZE $TESTDIR/$TESTFILE0
+log_must zfs snapshot $snap
+log_must mkfile $FILESIZE $TESTDIR/$TESTFILE1
+log_must rm -f $testdir/$TESTFILE0
+log_must zfs snapshot $snap1
+log_must zfs clone $snap1 $clone
+log_must mkfile $FILESIZE /$clone/$CLONEFILE
-log_must $ZFS promote $clone
+log_must zfs promote $clone
# verify the 'promote' operation
for ds in $csnap $csnap1; do
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_promote/zfs_promote.cfg
function cleanup
{
if snapexists ${csnap[2]}; then
- log_must $ZFS promote $fs
+ log_must zfs promote $fs
fi
typeset ds
typeset data
for ds in ${snap[*]}; do
snapexists $ds && \
- log_must $ZFS destroy -rR $ds
+ log_must zfs destroy -rR $ds
done
for data in ${file[*]}; do
- [[ -e $data ]] && $RM -f $data
+ [[ -e $data ]] && rm -f $data
done
}
# setup for promote testing
typeset -i i=0
while (( i < 4 )); do
- log_must $MKFILE $FILESIZE ${file[i]}
- (( i>0 )) && log_must $RM -f ${file[((i-1))]}
- log_must $ZFS snapshot ${snap[i]}
+ log_must mkfile $FILESIZE ${file[i]}
+ (( i>0 )) && log_must rm -f ${file[((i-1))]}
+ log_must zfs snapshot ${snap[i]}
(( i = i + 1 ))
done
-log_must $ZFS clone ${snap[2]} $clone
-log_must $MKFILE $FILESIZE /$clone/$CLONEFILE
-log_must $RM -f /$clone/$TESTFILE2
-log_must $ZFS snapshot ${csnap[3]}
+log_must zfs clone ${snap[2]} $clone
+log_must mkfile $FILESIZE /$clone/$CLONEFILE
+log_must rm -f /$clone/$TESTFILE2
+log_must zfs snapshot ${csnap[3]}
-log_must $ZFS promote $clone
+log_must zfs promote $clone
# verify the 'promote' operation
for ds in ${snap[3]} ${csnap[*]}; do
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_promote/zfs_promote.cfg
function cleanup
{
if snapexists ${c1snap[1]}; then
- log_must $ZFS promote $clone
+ log_must zfs promote $clone
fi
typeset ds
typeset data
for ds in ${snap[*]}; do
snapexists $ds && \
- log_must $ZFS destroy -rR $ds
+ log_must zfs destroy -rR $ds
done
for data in ${file[*]}; do
- [[ -e $data ]] && $RM -f $data
+ [[ -e $data ]] && rm -f $data
done
}
# setup for promote testing
typeset -i i=0
while (( i < 4 )); do
- log_must $MKFILE $FILESIZE ${file[i]}
- (( i>0 )) && log_must $RM -f ${file[((i-1))]}
- log_must $ZFS snapshot ${snap[i]}
+ log_must mkfile $FILESIZE ${file[i]}
+ (( i>0 )) && log_must rm -f ${file[((i-1))]}
+ log_must zfs snapshot ${snap[i]}
(( i = i + 1 ))
done
-log_must $ZFS clone ${snap[2]} $clone
+log_must zfs clone ${snap[2]} $clone
-log_must $RM -f /$clone/$TESTFILE2
+log_must rm -f /$clone/$TESTFILE2
i=0
while (( i < 3 )); do
- log_must $MKFILE $FILESIZE ${cfile[i]}
- (( i>0 )) && log_must $RM -f ${cfile[(( i-1 ))]}
- log_must $ZFS snapshot ${csnap[i]}
+ log_must mkfile $FILESIZE ${cfile[i]}
+ (( i>0 )) && log_must rm -f ${cfile[(( i-1 ))]}
+ log_must zfs snapshot ${csnap[i]}
(( i = i + 1 ))
done
-log_must $ZFS clone ${csnap[1]} $clone1
-log_must $MKFILE $FILESIZE /$clone1/$CLONEFILE2
-log_must $RM -f /$clone1/$CLONEFILE1
-log_must $ZFS snapshot ${c1snap[2]}
+log_must zfs clone ${csnap[1]} $clone1
+log_must mkfile $FILESIZE /$clone1/$CLONEFILE2
+log_must rm -f /$clone1/$CLONEFILE1
+log_must zfs snapshot ${c1snap[2]}
-log_must $ZFS promote $clone1
+log_must zfs promote $clone1
# verify the 'promote' operation
for ds in ${snap[*]} ${csnap[2]} ${c1snap[*]}; do
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $fssnap ; then
- datasetexists $clone && log_must $ZFS destroy $clone
- log_must $ZFS destroy $fssnap
+ datasetexists $clone && log_must zfs destroy $clone
+ log_must zfs destroy $fssnap
fi
if datasetexists $clone ; then
- log_must $ZFS promote $fs
- log_must $ZFS destroy $clone
- log_must $ZFS destroy $fssnap
+ log_must zfs promote $fs
+ log_must zfs destroy $clone
+ log_must zfs destroy $fssnap
fi
}
clone=$TESTPOOL/$TESTCLONE
fssnap=$fs@fssnap
-log_must $ZFS snapshot $fssnap
-log_must $ZFS clone $fssnap $clone
-log_must $ZFS unmount $fs
-log_must $ZFS promote $clone
-log_must $ZFS unmount $clone
-log_must $ZFS promote $fs
+log_must zfs snapshot $fssnap
+log_must zfs clone $fssnap $clone
+log_must zfs unmount $fs
+log_must zfs promote $clone
+log_must zfs unmount $clone
+log_must zfs promote $fs
log_pass "Unmount original fs, 'zfs promote' passed."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $clone; then
- log_must $ZFS destroy $clone
+ log_must zfs destroy $clone
fi
if snapexists $snap; then
snap=$TESTPOOL/$TESTFS@$TESTSNAP
clone=$TESTPOOL/$TESTCLONE
-log_must $ZFS snapshot $snap
-log_must $ZFS clone $snap $clone
+log_must zfs snapshot $snap
+log_must zfs clone $snap $clone
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS promote ${args[i]}
+ log_mustnot zfs promote ${args[i]}
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_promote/zfs_promote.cfg
function cleanup
{
snapexists $snap && \
- log_must $ZFS destroy -rR $snap
+ log_must zfs destroy -rR $snap
typeset data
for data in $TESTDIR/$TESTFILE0 $TESTDIR/$TESTFILE1; do
- [[ -e $data ]] && $RM -f $data
+ [[ -e $data ]] && rm -f $data
done
}
clonesnap=$TESTPOOL/$TESTCLONE@$TESTSNAP
# setup for promte testing
-log_must $MKFILE $FILESIZE $TESTDIR/$TESTFILE0
-log_must $ZFS snapshot $snap
-log_must $MKFILE $FILESIZE $TESTDIR/$TESTFILE1
-log_must $RM -f $TESTDIR/$TESTFILE0
-log_must $ZFS clone $snap $clone
-log_must $MKFILE $FILESIZE /$clone/$CLONEFILE
-log_must $ZFS snapshot $clonesnap
+log_must mkfile $FILESIZE $TESTDIR/$TESTFILE0
+log_must zfs snapshot $snap
+log_must mkfile $FILESIZE $TESTDIR/$TESTFILE1
+log_must rm -f $TESTDIR/$TESTFILE0
+log_must zfs clone $snap $clone
+log_must mkfile $FILESIZE /$clone/$CLONEFILE
+log_must zfs snapshot $clonesnap
-log_mustnot $ZFS promote $clone
+log_mustnot zfs promote $clone
log_pass "'zfs promote' deals with name conflicts as expected."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if snapexists $csnap; then
- log_must $ZFS promote $vol
+ log_must zfs promote $vol
fi
- log_must $ZFS destroy -rR $snap
+ log_must zfs destroy -rR $snap
}
log_assert "'zfs promote' can promote a volume clone."
csnap=$clone@$TESTSNAP
if ! snapexists $snap ; then
- log_must $ZFS snapshot $snap
- log_must $ZFS clone $snap $clone
+ log_must zfs snapshot $snap
+ log_must zfs clone $snap $clone
fi
-log_must $ZFS promote $clone
+log_must zfs promote $clone
# verify the 'promote' operation
! snapexists $csnap && \
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
for ds in $datasets; do
- datasetexists $ds && log_must $ZFS destroy -R $TESTPOOL/$TESTFS1
+ datasetexists $ds && log_must zfs destroy -R $TESTPOOL/$TESTFS1
done
}
function get_prop_mb
typeset dataset=$2
typeset -l value=$(get_prop $prop $dataset)
((value = value / mb_block))
- $ECHO $value
+ echo $value
}
datasets="$TESTPOOL/$TESTFS1 $TESTPOOL/$TESTFS1/$TESTFS2 \
((mb_block = 1024 * 1024))
log_note "verify written property statistics for dataset"
-log_must $ZFS create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
+log_must zfs create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
for i in 1 2 3; do
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$i
- log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS1/testfile.$i bs=1M \
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$i
+ log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS1/testfile.$i bs=1M \
count=$blocks
- log_must $SYNC
- log_must $SLEEP 10
+ log_must sync
+ log_must sleep 10
written=$(get_prop written $TESTPOOL/$TESTFS1)
((expected_written=blocks * mb_block))
within_percent $written $expected_written 99.5 || \
done
log_note "delete data"
before_written=$(get_prop written $TESTPOOL/$TESTFS1)
-log_must $RM /$TESTPOOL/$TESTFS1/testfile.3
+log_must rm /$TESTPOOL/$TESTFS1/testfile.3
snap3_size=0
-log_must $SYNC
-log_must $SLEEP 10
+log_must sync
+log_must sleep 10
written=$(get_prop written $TESTPOOL/$TESTFS1)
writtenat3=$(get_prop written@snap3 $TESTPOOL/$TESTFS1)
[[ $written -eq $writtenat3 ]] || \
log_note "write data"
blocks=20
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS1/testfile.3 bs=1M \
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS1/testfile.3 bs=1M \
count=$blocks
-log_must $SYNC
-log_must $SLEEP 10
+log_must sync
+log_must sleep 10
written=$(get_prop written $TESTPOOL/$TESTFS1)
writtenat1=$(get_prop written@snap1 $TESTPOOL/$TESTFS1)
writtenat2=$(get_prop written@snap2 $TESTPOOL/$TESTFS1)
log_note "write data to a clone"
before_clone=$(get_prop written $TESTPOOL/$TESTFS1)
-log_must $ZFS clone $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS1/snap1.clone
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS1/snap1.clone/testfile bs=1M \
+log_must zfs clone $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS1/snap1.clone
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS1/snap1.clone/testfile bs=1M \
count=40
after_clone=$(get_prop written $TESTPOOL/$TESTFS1)
[[ $before_clone -eq $after_clone ]] || \
typeset -l before_written3=$(get_prop_mb written@snap3 $TESTPOOL/$TESTFS1)
typeset -l snap_before_written2=$(get_prop_mb written $TESTPOOL/$TESTFS1@snap2)
typeset -l snap_before_written3=$(get_prop_mb written $TESTPOOL/$TESTFS1@snap3)
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap2
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap2
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap2
-log_must $SYNC
-log_must $SLEEP 10
+log_must sync
+log_must sleep 10
written1=$(get_prop_mb written@snap1 $TESTPOOL/$TESTFS1)
written3=$(get_prop_mb written@snap3 $TESTPOOL/$TESTFS1)
[[ $before_written1 -eq $written1 && $before_written3 -eq $written3 ]] || \
within_percent $prev_written $expected_written3 99.5 || \
log_fail "unexpected written value $prev_written $expected_written3"
-log_must $ZFS destroy $TESTPOOL/$TESTFS1@snap3
+log_must zfs destroy $TESTPOOL/$TESTFS1@snap3
log_mustnot snapexists $TESTPOOL/$TESTFS1@snap3
written=$(get_prop written $TESTPOOL/$TESTFS1)
writtenat1=$(get_prop written@snap1 $TESTPOOL/$TESTFS1)
log_note "verify written@ property for recursive datasets"
blocks=10
-log_must $ZFS snapshot -r $TESTPOOL/$TESTFS1@now
+log_must zfs snapshot -r $TESTPOOL/$TESTFS1@now
for ds in $datasets; do
writtenat=$(get_prop written@now $ds)
[[ $writtenat -ne 0 ]] && \
log_fail "Unexpected written@ value"
- log_must $DD if=/dev/urandom of=/$ds/testfile bs=1M count=$blocks
- log_must $SYNC
- log_must $SLEEP 10
+ log_must dd if=/dev/urandom of=/$ds/testfile bs=1M count=$blocks
+ log_must sync
+ log_must sleep 10
writtenat=$(get_prop written@now $ds)
((expected_writtenat = blocks * mb_block))
within_percent $writtenat $expected_writtenat 0.1 || \
log_note "verify written@ output for recursive datasets"
blocks=20
for ds in $datasets; do
- log_must $ZFS snapshot $ds@current
- log_must $DD if=/dev/urandom of=/$ds/testfile bs=1M \
+ log_must zfs snapshot $ds@current
+ log_must dd if=/dev/urandom of=/$ds/testfile bs=1M \
count=$blocks
- log_must $SYNC
- log_must $SLEEP 10
+ log_must sync
+ log_must sleep 10
done
-recursive_output=$($ZFS get -r written@current $TESTPOOL | \
- $GREP -v $TESTFS1@ | $GREP -v $TESTFS2@ | $GREP -v $TESTFS3@ | \
- $GREP -v "VALUE" | $GREP -v "-")
+recursive_output=$(zfs get -r written@current $TESTPOOL | \
+ grep -v $TESTFS1@ | grep -v $TESTFS2@ | grep -v $TESTFS3@ | \
+ grep -v "VALUE" | grep -v "-")
expected="20.0M"
for ds in $datasets; do
- writtenat=$($ECHO "$recursive_output" | $GREP -v $ds/)
- writtenat=$($ECHO "$writtenat" | $GREP $ds | $AWK '{print $3}')
+ writtenat=$(echo "$recursive_output" | grep -v $ds/)
+ writtenat=$(echo "$writtenat" | grep $ds | awk '{print $3}')
[[ $writtenat == $expected ]] || \
log_fail "recursive written property output mismatch"
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
typeset -i i=0
datasetexists $rst_root && \
- log_must $ZFS destroy -Rf $rst_root
+ log_must zfs destroy -Rf $rst_root
while (( i < 2 )); do
snapexists ${orig_snap[$i]} && \
- log_must $ZFS destroy -f ${orig_snap[$i]}
- log_must $RM -f ${bkup[$i]}
+ log_must zfs destroy -f ${orig_snap[$i]}
+ log_must rm -f ${bkup[$i]}
(( i = i + 1 ))
done
- log_must $RM -rf $TESTDIR1
+ log_must rm -rf $TESTDIR1
}
function recreate_root
{
datasetexists $rst_root && \
- log_must $ZFS destroy -Rf $rst_root
+ log_must zfs destroy -Rf $rst_root
if [[ -d $TESTDIR1 ]] ; then
- log_must $RM -rf $TESTDIR1
+ log_must rm -rf $TESTDIR1
fi
- log_must $ZFS create $rst_root
- log_must $ZFS set mountpoint=$TESTDIR1 $rst_root
+ log_must zfs create $rst_root
+ log_must zfs set mountpoint=$TESTDIR1 $rst_root
}
log_assert "Verifying 'zfs receive [<filesystem|snapshot>] -d <filesystem>' works."
typeset -i i=0
while (( i < ${#orig_snap[*]} )); do
- $FILE_WRITE -o create -f ${orig_data[$i]} -b 512 \
+ file_write -o create -f ${orig_data[$i]} -b 512 \
-c 8 >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "Writing data into zfs filesystem fails."
- log_must $ZFS snapshot ${orig_snap[$i]}
+ log_must zfs snapshot ${orig_snap[$i]}
if (( i < 1 )); then
- log_must eval "$ZFS send ${orig_snap[$i]} > ${bkup[$i]}"
+ log_must eval "zfs send ${orig_snap[$i]} > ${bkup[$i]}"
else
- log_must eval "$ZFS send -i ${orig_snap[(( i - 1 ))]} \
+ log_must eval "zfs send -i ${orig_snap[(( i - 1 ))]} \
${orig_snap[$i]} > ${bkup[$i]}"
fi
i=0
while (( i < ${#bkup[*]} )); do
if (( i > 0 )); then
- log_must $ZFS rollback ${rst_snap[0]}
+ log_must zfs rollback ${rst_snap[0]}
fi
- log_must eval "$ZFS receive $rst_fs < ${bkup[$i]}"
+ log_must eval "zfs receive $rst_fs < ${bkup[$i]}"
snapexists ${rst_snap[$i]} || \
log_fail "Restoring filesystem fails. ${rst_snap[$i]} not exist"
compare_cksum ${orig_data[$i]} ${rst_data[$i]}
(( i = i + 1 ))
done
- log_must $ZFS destroy -Rf $rst_fs
+ log_must zfs destroy -Rf $rst_fs
log_note "Verifying 'zfs receive <snapshot>' works."
i=0
while (( i < ${#bkup[*]} )); do
if (( i > 0 )); then
- log_must $ZFS rollback ${rst_snap[0]}
+ log_must zfs rollback ${rst_snap[0]}
fi
- log_must eval "$ZFS receive ${rst_snap[$i]} <${bkup[$i]}"
+ log_must eval "zfs receive ${rst_snap[$i]} <${bkup[$i]}"
snapexists ${rst_snap[$i]} || \
log_fail "Restoring filesystem fails. ${rst_snap[$i]} not exist"
compare_cksum ${orig_data[$i]} ${rst_data[$i]}
(( i = i + 1 ))
done
- log_must $ZFS destroy -Rf $rst_fs
+ log_must zfs destroy -Rf $rst_fs
log_note "Verfiying 'zfs receive -d <filesystem>' works."
i=0
while (( i < ${#bkup[*]} )); do
if (( i > 0 )); then
- log_must $ZFS rollback ${rst_snap2[0]}
+ log_must zfs rollback ${rst_snap2[0]}
fi
- log_must eval "$ZFS receive -d -F $rst_root <${bkup[$i]}"
+ log_must eval "zfs receive -d -F $rst_root <${bkup[$i]}"
snapexists ${rst_snap2[$i]} || \
log_fail "Restoring filesystem fails. ${rst_snap2[$i]} not exist"
compare_cksum ${orig_data[$i]} ${rst_data2[$i]}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
#
while (( i < ${#orig_snap[*]} )); do
snapexists ${rst_snap[$i]} && \
- log_must $ZFS destroy -f ${rst_snap[$i]}
+ log_must zfs destroy -f ${rst_snap[$i]}
snapexists ${orig_snap[$i]} && \
- log_must $ZFS destroy -f ${orig_snap[$i]}
+ log_must zfs destroy -f ${orig_snap[$i]}
[[ -e ${bkup[$i]} ]] && \
- log_must $RM -rf ${bkup[$i]}
+ log_must rm -rf ${bkup[$i]}
(( i = i + 1 ))
done
for ds in $rst_vol $rst_root; do
datasetexists $ds && \
- log_must $ZFS destroy -Rf $ds
+ log_must zfs destroy -Rf $ds
done
}
#
# Preparations for testing
#
-log_must $ZFS create $rst_root
+log_must zfs create $rst_root
[[ ! -d $TESTDIR1 ]] && \
- log_must $MKDIR -p $TESTDIR1
-log_must $ZFS set mountpoint=$TESTDIR1 $rst_root
+ log_must mkdir -p $TESTDIR1
+log_must zfs set mountpoint=$TESTDIR1 $rst_root
typeset -i i=0
while (( i < ${#orig_snap[*]} )); do
- log_must $ZFS snapshot ${orig_snap[$i]}
+ log_must zfs snapshot ${orig_snap[$i]}
if (( i < 1 )); then
- log_must eval "$ZFS send ${orig_snap[$i]} > ${bkup[$i]}"
+ log_must eval "zfs send ${orig_snap[$i]} > ${bkup[$i]}"
else
- log_must eval "$ZFS send -i ${orig_snap[(( i - 1 ))]} \
+ log_must eval "zfs send -i ${orig_snap[(( i - 1 ))]} \
${orig_snap[$i]} > ${bkup[$i]}"
fi
i=0
while (( i < ${#bkup[*]} )); do
- log_must eval "$ZFS receive $rst_vol < ${bkup[$i]}"
+ log_must eval "zfs receive $rst_vol < ${bkup[$i]}"
! datasetexists $rst_vol || ! snapexists ${rst_snap[$i]} && \
log_fail "Restoring volume fails."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
for snap in $snap2 $snap1; do
- datasetexists $snap && log_must $ZFS destroy -rf $snap
+ datasetexists $snap && log_must zfs destroy -rf $snap
done
for file in $ibackup $mntpnt/file1 $mntpnt/file2; do
- [[ -f $file ]] && log_must $RM -f $file
+ [[ -f $file ]] && log_must rm -f $file
done
}
fs=$TESTPOOL/$TESTFS; snap1=$fs@snap1; snap2=$fs@snap2
mntpnt=$(get_prop mountpoint $fs) || log_fail "get_prop mountpoint $fs"
-log_must $MKFILE 10m $mntpnt/file1
-log_must $ZFS snapshot $snap1
-log_must $MKFILE 10m $mntpnt/file2
-log_must $ZFS snapshot $snap2
+log_must mkfile 10m $mntpnt/file1
+log_must zfs snapshot $snap1
+log_must mkfile 10m $mntpnt/file2
+log_must zfs snapshot $snap2
-log_must eval "$ZFS send -i $snap1 $snap2 > $ibackup"
+log_must eval "zfs send -i $snap1 $snap2 > $ibackup"
log_note "Verify 'zfs receive' succeed, if filesystem was not modified."
-log_must $ZFS rollback -r $snap1
-log_must eval "$ZFS receive $fs < $ibackup"
+log_must zfs rollback -r $snap1
+log_must eval "zfs receive $fs < $ibackup"
if [[ ! -f $mntpnt/file1 || ! -f $mntpnt/file2 ]]; then
- log_fail "'$ZFS receive' failed."
+ log_fail "'zfs receive' failed."
fi
log_note "Verify 'zfs receive' failed if filesystem was modified."
-log_must $ZFS rollback -r $snap1
-log_must $RM -rf $mntpnt/file1
-log_mustnot eval "$ZFS receive $fs < $ibackup"
+log_must zfs rollback -r $snap1
+log_must rm -rf $mntpnt/file1
+log_mustnot eval "zfs receive $fs < $ibackup"
# Verify 'zfs receive -F' to force rollback whatever filesystem was modified.
-log_must $ZFS rollback -r $snap1
-log_must $RM -rf $mntpnt/file1
-log_must eval "$ZFS receive -F $fs < $ibackup"
+log_must zfs rollback -r $snap1
+log_must rm -rf $mntpnt/file1
+log_must eval "zfs receive -F $fs < $ibackup"
if [[ ! -f $mntpnt/file1 || ! -f $mntpnt/file2 ]]; then
- log_fail "'$ZFS receive -F' failed."
+ log_fail "'zfs receive -F' failed."
fi
log_pass "'zfs recv -F' to force rollback passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
for snap in $init_snap $inc_snap $init_topsnap $inc_topsnap ; do
snapexists $snap && \
- log_must $ZFS destroy -Rf $snap
+ log_must zfs destroy -Rf $snap
done
for bkup in $full_bkup $inc_bkup $full_topbkup $inc_topbkup; do
[[ -e $bkup ]] && \
- log_must $RM -f $bkup
+ log_must rm -f $bkup
done
}
full_topbkup=/var/tmp/full_topbkup.$$
inc_topbkup=/var/tmp/inc_topbkup.$$
-log_must $ZFS snapshot $init_topsnap
-log_must eval "$ZFS send $init_topsnap > $full_topbkup"
-log_must $TOUCH /$TESTPOOL/foo
+log_must zfs snapshot $init_topsnap
+log_must eval "zfs send $init_topsnap > $full_topbkup"
+log_must touch /$TESTPOOL/foo
-log_must $ZFS snapshot $inc_topsnap
-log_must eval "$ZFS send -i $init_topsnap $inc_topsnap > $inc_topbkup"
-log_must $TOUCH /$TESTPOOL/bar
+log_must zfs snapshot $inc_topsnap
+log_must eval "zfs send -i $init_topsnap $inc_topsnap > $inc_topbkup"
+log_must touch /$TESTPOOL/bar
-log_must $ZFS snapshot $init_snap
-log_must eval "$ZFS send $init_snap > $full_bkup"
-log_must $TOUCH /$TESTDIR/foo
+log_must zfs snapshot $init_snap
+log_must eval "zfs send $init_snap > $full_bkup"
+log_must touch /$TESTDIR/foo
-log_must $ZFS snapshot $inc_snap
-log_must eval "$ZFS send -i $init_snap $inc_snap > $inc_bkup"
-log_must $TOUCH /$TESTDIR/bar
+log_must zfs snapshot $inc_snap
+log_must eval "zfs send -i $init_snap $inc_snap > $inc_bkup"
+log_must touch /$TESTDIR/bar
-$SYNC
+sync
set -A badargs \
"" "nonexistent-snap" "blah@blah" "-d" "-d nonexistent-dataset" \
while (( i < ${#badargs[*]} ))
do
for bkup in $full_bkup $inc_bkup $full_topbkup $inc_topbkup ; do
- log_mustnot eval "$ZFS receive ${badargs[i]} < $bkup"
+ log_mustnot eval "zfs receive ${badargs[i]} < $bkup"
done
(( i = i + 1 ))
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
#
for snap in $init_snap $inc_snap; do
snapexists $snap && \
- log_must $ZFS destroy -f $snap
+ log_must zfs destroy -f $snap
done
datasetexists $rst_root && \
- log_must $ZFS destroy -Rf $rst_root
+ log_must zfs destroy -Rf $rst_root
for bkup in $full_bkup $inc_bkup; do
[[ -e $bkup ]] && \
- log_must $RM -f $bkup
+ log_must rm -f $bkup
done
}
full_bkup=/var/tmp/full_bkup.$$
inc_bkup=/var/tmp/inc_bkup.$$
-log_must $ZFS create $rst_root
-log_must $ZFS snapshot $init_snap
-log_must eval "$ZFS send $init_snap > $full_bkup"
+log_must zfs create $rst_root
+log_must zfs snapshot $init_snap
+log_must eval "zfs send $init_snap > $full_bkup"
log_note "'zfs receive' fails with invalid send streams."
-log_mustnot eval "$ZFS receive $rst_init_snap < /dev/zero"
-log_mustnot eval "$ZFS receive -d $rst_root </dev/zero"
+log_mustnot eval "zfs receive $rst_init_snap < /dev/zero"
+log_mustnot eval "zfs receive -d $rst_root </dev/zero"
-log_must eval "$ZFS receive $rst_init_snap < $full_bkup"
+log_must eval "zfs receive $rst_init_snap < $full_bkup"
log_note "Unmatched send stream with restoring filesystem" \
" cannot be received."
-log_must $ZFS snapshot $inc_snap
-log_must eval "$ZFS send -i $init_snap $inc_snap > $inc_bkup"
+log_must zfs snapshot $inc_snap
+log_must eval "zfs send -i $init_snap $inc_snap > $inc_bkup"
#make changes on the restoring filesystem
-log_must $TOUCH $ZFSROOT/$rst_root/$TESTFS/tmpfile
-log_mustnot eval "$ZFS receive $rst_inc_snap < $inc_bkup"
-log_mustnot eval "$ZFS receive -d $rst_root < $inc_bkup"
+log_must touch $ZFSROOT/$rst_root/$TESTFS/tmpfile
+log_mustnot eval "zfs receive $rst_inc_snap < $inc_bkup"
+log_mustnot eval "zfs receive -d $rst_root < $inc_bkup"
log_pass "Unsupported scenarios to 'zfs receive' fail as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
for snap in $snap2 $snap1; do
- datasetexists $snap && log_must $ZFS destroy -rf $snap
+ datasetexists $snap && log_must zfs destroy -rf $snap
done
for file in $fbackup1 $fbackup2 $mntpnt/file1 $mntpnt/file2; do
- [[ -f $file ]] && log_must $RM -f $file
+ [[ -f $file ]] && log_must rm -f $file
done
if is_global_zone; then
datasetexists $TESTPOOL/$TESTFS/$TESTFS1 && \
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS/$TESTFS1
else
datasetexists $TESTPOOL/${ZONE_CTR}0 && \
- log_must $ZFS destroy -rf $TESTPOOL/${ZONE_CTR}0
+ log_must zfs destroy -rf $TESTPOOL/${ZONE_CTR}0
fi
}
fbackup2=/var/tmp/fbackup2.$$
datasetexists $ancestor_fs || \
- log_must $ZFS create $ancestor_fs
-log_must $ZFS create $fs
+ log_must zfs create $ancestor_fs
+log_must zfs create $fs
mntpnt=$(get_prop mountpoint $fs) || log_fail "get_prop mountpoint $fs"
-log_must $MKFILE 10m $mntpnt/file1
-log_must $ZFS snapshot $snap1
-log_must $MKFILE 10m $mntpnt/file2
-log_must $ZFS snapshot $snap2
+log_must mkfile 10m $mntpnt/file1
+log_must zfs snapshot $snap1
+log_must mkfile 10m $mntpnt/file2
+log_must zfs snapshot $snap2
-log_must eval "$ZFS send $snap1 > $fbackup1"
-log_must eval "$ZFS send $snap2 > $fbackup2"
+log_must eval "zfs send $snap1 > $fbackup1"
+log_must eval "zfs send $snap2 > $fbackup2"
log_note "Verify 'zfs receive -d' succeed and create ancestor filesystem \
if it did not exist. "
-log_must $ZFS destroy -rf $ancestor_fs
-log_must eval "$ZFS receive -d $TESTPOOL < $fbackup1"
+log_must zfs destroy -rf $ancestor_fs
+log_must eval "zfs receive -d $TESTPOOL < $fbackup1"
is_global_zone || ancestor_fs=$TESTPOOL/${ZONE_CTR}0/$TESTFS
datasetexists $ancestor_fs || \
log_fail "ancestor filesystem is not created"
log_note "Verify 'zfs receive -d' still succeed if ancestor filesystem exists"
is_global_zone || fs=$TESTPOOL/${ZONE_CTR}0/$TESTFS/$TESTFS1
-log_must $ZFS destroy -rf $fs
-log_must eval "$ZFS receive -d $TESTPOOL < $fbackup2"
+log_must zfs destroy -rf $fs
+log_must eval "zfs receive -d $TESTPOOL < $fbackup2"
log_pass "'zfs recv -d <fs>' should succeed no matter ancestor filesystem \
exists."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
for snap in $snap2 $snap1; do
- datasetexists $snap && log_must $ZFS destroy -rf $snap
+ datasetexists $snap && log_must zfs destroy -rf $snap
done
for file in $ibackup $mntpnt/file1 $mntpnt/file2; do
- [[ -f $file ]] && log_must $RM -f $file
+ [[ -f $file ]] && log_must rm -f $file
done
}
snap2=$fs@snap2
ibackup=/var/tmp/ibackup.$$
-datasetexists $fs || log_must $ZFS create $fs
+datasetexists $fs || log_must zfs create $fs
mntpnt=$(get_prop mountpoint $fs) || log_fail "get_prop mountpoint $fs"
-log_must $MKFILE 10m $mntpnt/file1
-log_must $ZFS snapshot $snap1
-log_must $MKFILE 10m $mntpnt/file2
-log_must $ZFS snapshot $snap2
+log_must mkfile 10m $mntpnt/file1
+log_must zfs snapshot $snap1
+log_must mkfile 10m $mntpnt/file2
+log_must zfs snapshot $snap2
-log_must eval "$ZFS send -i $snap1 $snap2 > $ibackup"
+log_must eval "zfs send -i $snap1 $snap2 > $ibackup"
-log_must $ZFS destroy $snap1
-log_must $ZFS destroy $snap2
-log_mustnot eval "$ZFS receive -F $fs < $ibackup"
+log_must zfs destroy $snap1
+log_must zfs destroy $snap2
+log_mustnot eval "zfs receive -F $fs < $ibackup"
-log_must $MKFILE 20m $mntpnt/file1
-log_must $RM -rf $mntpnt/file2
-log_must $ZFS snapshot $snap1
-log_mustnot eval "$ZFS receive -F $snap2 < $ibackup"
+log_must mkfile 20m $mntpnt/file1
+log_must rm -rf $mntpnt/file2
+log_must zfs snapshot $snap1
+log_mustnot eval "zfs receive -F $snap2 < $ibackup"
log_pass "'zfs recv -F' should fail if the incremental stream does not match"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
#
{
for dset in $rst_snap $rst_fs $orig_snap; do
if datasetexists $dset; then
- log_must $ZFS destroy -fr $dset
+ log_must zfs destroy -fr $dset
fi
done
for file in $fbackup $mnt_file $tmp_out; do
if [[ -f $file ]]; then
- log_must $RM -f $file
+ log_must rm -f $file
fi
done
if datasetexists $TESTPOOL/$TESTFS; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
fi
}
typeset dryrun_msg="would receive full stream of ${orig_snap} into ${rst_snap}"
if ! datasetexists $orig_fs; then
- log_must $ZFS create $orig_fs
+ log_must zfs create $orig_fs
fi
typeset mntpnt
typeset mnt_file=$mntpnt/file1
- log_must $MKFILE 100m $mnt_file
- log_must $ZFS snapshot $orig_snap
- log_must eval "$ZFS send $orig_snap > $fbackup"
+ log_must mkfile 100m $mnt_file
+ log_must zfs snapshot $orig_snap
+ log_must eval "zfs send $orig_snap > $fbackup"
for opt in "-v" "-vn"; do
if datasetexists $rst_fs; then
- log_must $ZFS destroy -fr $rst_fs
+ log_must zfs destroy -fr $rst_fs
fi
log_note "Check ZFS receive $opt [<filesystem|snapshot>]"
- log_must eval "$ZFS receive $opt $rst_fs < $fbackup > $tmp_out 2>&1"
+ log_must eval "zfs receive $opt $rst_fs < $fbackup > $tmp_out 2>&1"
if [[ $opt == "-v" ]]; then
- log_must eval "$GREP \"$verb_msg\" $tmp_out >/dev/null 2>&1"
+ log_must eval "grep \"$verb_msg\" $tmp_out >/dev/null 2>&1"
if ! datasetexists $rst_snap; then
log_fail "dataset was not received, even though the"\
" -v flag was used."
fi
else
- log_must eval "$GREP \"$dryrun_msg\" $tmp_out >/dev/null 2>&1"
+ log_must eval "grep \"$dryrun_msg\" $tmp_out >/dev/null 2>&1"
if datasetexists $rst_snap; then
log_fail "dataset was received, even though the -nv"\
" flag was used."
log_note "Check ZFS receive -vn -d <filesystem>"
if ! datasetexists $rst_fs; then
- log_must $ZFS create $rst_fs
+ log_must zfs create $rst_fs
fi
- log_must eval "$ZFS receive -vn -d -F $rst_fs <$fbackup >$tmp_out 2>&1"
+ log_must eval "zfs receive -vn -d -F $rst_fs <$fbackup >$tmp_out 2>&1"
typeset relative_path=""
if [[ ${orig_fs} == *"/"* ]]; then
relative_path=${orig_fs#*/}
rst_snap=${leaf_fs}@snap
dryrun_msg="would receive full stream of ${orig_snap} into ${rst_snap}"
- log_must eval "$GREP \"$dryrun_msg\" $tmp_out > /dev/null 2>&1"
+ log_must eval "grep \"$dryrun_msg\" $tmp_out > /dev/null 2>&1"
if datasetexists $rst_snap; then
log_fail "dataset $rst_snap should not existed."
fi
- log_must $ZFS destroy -Rf $rst_fs
+ log_must zfs destroy -Rf $rst_fs
cleanup
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
#
typeset ds
if snapexists $snap; then
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
fi
for ds in $ctr1 $ctr2 $fs1; do
if datasetexists $ds; then
- log_must $ZFS destroy -rf $ds
+ log_must zfs destroy -rf $ds
fi
done
if [[ -d $TESTDIR2 ]]; then
- $RM -rf $TESTDIR2
+ rm -rf $TESTDIR2
fi
}
# Preparations for negative testing
for ctr in $ctr1 $ctr2; do
- log_must $ZFS create $ctr
+ log_must zfs create $ctr
done
if [[ -d $TESTDIR2 ]]; then
- $RM -rf $TESTDIR2
+ rm -rf $TESTDIR2
fi
-log_must $ZFS create -o mountpoint=$TESTDIR2 $fs1
-log_must $ZFS snapshot $snap
-log_must eval "$ZFS send $snap > $bkup"
+log_must zfs create -o mountpoint=$TESTDIR2 $fs1
+log_must zfs snapshot $snap
+log_must eval "zfs send $snap > $bkup"
#Testing zfs receive fails with input from terminal
-log_mustnot eval "$ZFS recv $fs3 </dev/console"
+log_mustnot eval "zfs recv $fs3 </dev/console"
# Testing with missing argument and too many arguments
typeset -i i=0
while (( i < ${#validopts[*]} )); do
- log_mustnot eval "$ZFS recv < $bkup"
+ log_mustnot eval "zfs recv < $bkup"
- $ECHO ${validopts[i]} | $GREP "d" >/dev/null 2>&1
+ echo ${validopts[i]} | grep "d" >/dev/null 2>&1
if (( $? != 0 )); then
- log_mustnot eval "$ZFS recv ${validopts[i]} $fs2 $fs3 < $bkup"
+ log_mustnot eval "zfs recv ${validopts[i]} $fs2 $fs3 < $bkup"
else
- log_mustnot eval "$ZFS recv ${validopts[i]} $ctr1 $ctr2 < $bkup"
+ log_mustnot eval "zfs recv ${validopts[i]} $ctr1 $ctr2 < $bkup"
fi
(( i += 1 ))
i=0
while (( i < ${#badopts[*]} ))
do
- log_mustnot eval "$ZFS recv ${badopts[i]} $ctr1 < $bkup"
- log_mustnot eval "$ZFS recv ${badopts[i]} $fs2 < $bkup"
+ log_mustnot eval "zfs recv ${badopts[i]} $ctr1 < $bkup"
+ log_mustnot eval "zfs recv ${badopts[i]} $fs2 < $bkup"
(( i = i + 1 ))
done
local mntpnt=$2
local type=$3
if [[ $type == "file" ]]; then
- $DD if=/dev/urandom of=${mntpnt}/f$objnum bs=512 count=16
+ dd if=/dev/urandom of=${mntpnt}/f$objnum bs=512 count=16
elif [[ $type == "hole1" ]]; then
- $DD if=/dev/urandom of=${mntpnt}/fh$objnum bs=512 count=5 stride=4
+ dd if=/dev/urandom of=${mntpnt}/fh$objnum bs=512 count=5 stride=4
elif [[ $type == "hole2" ]]; then
- $DD if=/dev/urandom of=${mntpnt}/fh$objnum bs=512 count=4 stride=5
+ dd if=/dev/urandom of=${mntpnt}/fh$objnum bs=512 count=4 stride=5
elif [[ $type == "directory" ]]; then
- $MKDIR ${mntpnt}/d$objnum
+ mkdir ${mntpnt}/d$objnum
elif [[ $type == "missing" ]]; then
- $TOUCH ${mntpnt}/h$objnum
+ touch ${mntpnt}/h$objnum
fi
}
function cleanup
{
- $ZFS destroy -Rf $TESTPOOL/$TESTFS/base
+ zfs destroy -Rf $TESTPOOL/$TESTFS/base
rm /tmp/zr010p*
}
log_assert "zfs receive of full send as clone should work"
log_onexit cleanup
-log_must $ZFS create -o checksum=sha256 -o compression=gzip -o recordsize=512 \
+log_must zfs create -o checksum=sha256 -o compression=gzip -o recordsize=512 \
$TESTPOOL/$TESTFS/base
-log_must $ZFS create $fs
-log_must $ZFS create $fs2
+log_must zfs create $fs
+log_must zfs create $fs2
mntpnt=$(get_prop mountpoint $fs)
mntpnt2=$(get_prop mountpoint $fs2)
create_pair 17 $mntpnt $mntpnt2 "missing" "missing"
# Receive a file with a different record size onto a file (and vice versa).
-log_must $ZFS set recordsize=128k $fs
-$DD if=/dev/urandom of=$mntpnt/f18 bs=128k count=64
-$TOUCH $mntpnt2/f18
+log_must zfs set recordsize=128k $fs
+dd if=/dev/urandom of=$mntpnt/f18 bs=128k count=64
+touch $mntpnt2/f18
# Remove objects that are intended to be missing.
-$RM $mntpnt/h17
-$RM $mntpnt2/h*
+rm $mntpnt/h17
+rm $mntpnt2/h*
# Add empty objects to $fs to exercise dmu_traverse code
for i in {1..100}; do
log_must touch $mntpnt/uf$i
done
-log_must $ZFS snapshot $fs@s1
-log_must $ZFS snapshot $fs2@s1
+log_must zfs snapshot $fs@s1
+log_must zfs snapshot $fs2@s1
-log_must $ZFS send $fs@s1 > /tmp/zr010p
-log_must $ZFS send $fs2@s1 > /tmp/zr010p2
+log_must zfs send $fs@s1 > /tmp/zr010p
+log_must zfs send $fs2@s1 > /tmp/zr010p2
#
# Test that, when we receive a full send as a clone of itself,
# nop-write saves us all the space used by data blocks.
#
-cat /tmp/zr010p | log_must $ZFS receive -o origin=$fs@s1 $rfs
+cat /tmp/zr010p | log_must zfs receive -o origin=$fs@s1 $rfs
size=$(get_prop used $rfs)
size2=$(get_prop used $fs)
if [[ $size -ge $(($size2 / 10)) ]] then
log_fail "nop-write failure; expected usage less than "\
"$(($size2 / 10)), but is using $size"
fi
-log_must $ZFS destroy -fr $rfs
+log_must zfs destroy -fr $rfs
# Correctness testing: receive each full send as a clone of the other fiesystem.
-cat /tmp/zr010p | log_must $ZFS receive -o origin=$fs2@s1 $rfs
+cat /tmp/zr010p | log_must zfs receive -o origin=$fs2@s1 $rfs
mntpnt_old=$(get_prop mountpoint $fs)
mntpnt_new=$(get_prop mountpoint $rfs)
-log_must $DIFF -r $mntpnt_old $mntpnt_new
-log_must $ZFS destroy -r $rfs
+log_must diff -r $mntpnt_old $mntpnt_new
+log_must zfs destroy -r $rfs
-cat /tmp/zr010p2 | log_must $ZFS receive -o origin=$fs@s1 $rfs
+cat /tmp/zr010p2 | log_must zfs receive -o origin=$fs@s1 $rfs
mntpnt_old=$(get_prop mountpoint $fs2)
mntpnt_new=$(get_prop mountpoint $rfs)
-log_must $DIFF -r $mntpnt_old $mntpnt_new
+log_must diff -r $mntpnt_old $mntpnt_new
log_pass "zfs receive of full send as clone works"
# Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- log_must $RM $streamfile
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS1
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS2
+ log_must rm $streamfile
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS2
}
log_assert "refquota is properly sent-and-received, regardless of any " \
orig=$TESTPOOL/$TESTFS1
dest=$TESTPOOL/$TESTFS2
# 1. Create a filesystem.
-log_must $ZFS create $orig
+log_must zfs create $orig
origdir=$(get_prop mountpoint $orig)
# 2. Create two equal-sized large files.
-log_must $MKFILE 5M $origdir/file1
-log_must $MKFILE 5M $origdir/file2
-log_must $SYNC
+log_must mkfile 5M $origdir/file1
+log_must mkfile 5M $origdir/file2
+log_must sync
# 3. Snapshot the filesystem.
-log_must $ZFS snapshot $orig@1
+log_must zfs snapshot $orig@1
# 4. Remove one of the two large files.
-log_must $RM $origdir/file2
-log_must $SYNC
+log_must rm $origdir/file2
+log_must sync
# 5. Create a refquota larger than one file, but smaller than both.
-log_must $ZFS set refquota=8M $orig
+log_must zfs set refquota=8M $orig
# 6. Snapshot the filesystem again.
-log_must $ZFS snapshot $orig@2
+log_must zfs snapshot $orig@2
# 7. Send a replication stream of the second snapshot to a new filesystem.
-log_must eval "$ZFS send -R $orig@2 > $streamfile"
-log_must eval "$ZFS recv $dest < $streamfile"
+log_must eval "zfs send -R $orig@2 > $streamfile"
+log_must eval "zfs recv $dest < $streamfile"
log_pass "refquota is properly sent-and-received, regardless of any " \
"intermediate snapshots sent by a replication stream."
function cleanup
{
- log_must $RM $streamfile
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS1
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS2
+ log_must rm $streamfile
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS2
}
log_assert "The allowable slight refquota overage is properly sent-and-" \
dest=$TESTPOOL/$TESTFS2
# 1. Create a filesystem.
-log_must $ZFS create $orig
+log_must zfs create $orig
origdir=$(get_prop mountpoint $orig)
# 2. Set a refquota.
-log_must $ZFS set refquota=50M $orig
+log_must zfs set refquota=50M $orig
# 3. Snapshot the filesystem.
-log_must $ZFS snapshot $orig@1
+log_must zfs snapshot $orig@1
# 4. Send a replication stream to a new filesystem.
-log_must eval "$ZFS send -R $orig@1 > $streamfile"
-log_must eval "$ZFS recv $dest < $streamfile"
+log_must eval "zfs send -R $orig@1 > $streamfile"
+log_must eval "zfs recv $dest < $streamfile"
# 5. On the original filesystem, fill it up to its quota.
cat < /dev/urandom > $origdir/fill-it-up
# 6. Snapshot the original filesystem again.
-log_must $ZFS snapshot $orig@2
+log_must zfs snapshot $orig@2
# 7. Send an incremental stream to the same new filesystem.
-log_must eval "$ZFS send -I 1 -R $orig@2 > $streamfile"
-log_must eval "$ZFS recv $dest < $streamfile"
+log_must eval "zfs send -I 1 -R $orig@2 > $streamfile"
+log_must eval "zfs recv $dest < $streamfile"
log_pass "Verified receiving a slightly-over-refquota stream succeeds."
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
function cleanup
{
for fs in $src_fs $dst_fs; do
- datasetexists $fs && log_must $ZFS destroy -rf $fs
+ datasetexists $fs && log_must zfs destroy -rf $fs
done
- $ZPOOL destroy $temppool
- [[ -f $streamfile ]] && log_must $RM -f $streamfile
- [[ -f $tpoolfile ]] && log_must $RM -f $tpoolfile
+ zpool destroy $temppool
+ [[ -f $streamfile ]] && log_must rm -f $streamfile
+ [[ -f $tpoolfile ]] && log_must rm -f $tpoolfile
}
log_assert "Verifying 'zfs receive' works correctly on deduplicated streams"
log_onexit cleanup
truncate -s 100M $tpoolfile
-log_must $ZPOOL create $temppool $tpoolfile
-log_must $ZFS create $src_fs
+log_must zpool create $temppool $tpoolfile
+log_must zfs create $src_fs
src_mnt=$(get_prop mountpoint $src_fs) || log_fail "get_prop mountpoint $src_fs"
echo blah > $src_mnt/blah
-$ZFS snapshot $src_fs@base
+zfs snapshot $src_fs@base
echo grumble > $src_mnt/grumble
echo blah > $src_mnt/blah2
-$ZFS snapshot $src_fs@snap2
+zfs snapshot $src_fs@snap2
echo grumble > $src_mnt/mumble
echo blah > $src_mnt/blah3
-$ZFS snapshot $src_fs@snap3
+zfs snapshot $src_fs@snap3
-log_must eval "$ZFS send -D -R $src_fs@snap3 > $streamfile"
-log_must eval "$ZFS receive -v $dst_fs < $streamfile"
+log_must eval "zfs send -D -R $src_fs@snap3 > $streamfile"
+log_must eval "zfs receive -v $dst_fs < $streamfile"
cleanup
function cleanup
{
- log_must $RM $streamfile_full
- log_must $RM $streamfile_incr
- log_must $RM $streamfile_trun
- log_must $ZFS destroy -rf $orig
- log_must $ZFS destroy -rf $dest
+ log_must rm $streamfile_full
+ log_must rm $streamfile_incr
+ log_must rm $streamfile_trun
+ log_must zfs destroy -rf $orig
+ log_must zfs destroy -rf $dest
}
#
log_onexit cleanup
# 1. Create a filesystem.
-log_must eval "$ZFS create $orig"
+log_must eval "zfs create $orig"
mntpnt=$(get_prop mountpoint $orig)
# 2. Create a full stream with properties and receive it.
-log_must eval "$ZFS set compression='gzip-1' $orig"
-log_must eval "$ZFS set '$userprop'='$userval' $orig"
-log_must eval "$ZFS snapshot $orig@snap1"
-log_must eval "$ZFS send -p $orig@snap1 > $streamfile_full"
-log_must eval "$ZFS recv $dest < $streamfile_full"
+log_must eval "zfs set compression='gzip-1' $orig"
+log_must eval "zfs set '$userprop'='$userval' $orig"
+log_must eval "zfs snapshot $orig@snap1"
+log_must eval "zfs send -p $orig@snap1 > $streamfile_full"
+log_must eval "zfs recv $dest < $streamfile_full"
log_must eval "check_prop_source $dest compression 'gzip-1' received"
log_must eval "check_prop_source $dest '$userprop' '$userval' received"
# 3. Create also an incremental stream without some properties and a truncated
# stream.
-log_must eval "$ZFS set compression='gzip-2' $orig"
-log_must eval "$ZFS inherit '$userprop' $orig"
-log_must eval "$DD if=/dev/urandom of=$mntpnt/file bs=1024k count=10"
-log_must eval "$ZFS snapshot $orig@snap2"
-log_must eval "$ZFS send -p -i $orig@snap1 $orig@snap2 > $streamfile_incr"
-log_must eval "$DD if=$streamfile_incr of=$streamfile_trun bs=1024k count=9"
-log_must eval "$ZFS snapshot $orig@snap3"
-log_must eval "$ZFS send -p -i $orig@snap1 $orig@snap3 > $streamfile_incr"
+log_must eval "zfs set compression='gzip-2' $orig"
+log_must eval "zfs inherit '$userprop' $orig"
+log_must eval "dd if=/dev/urandom of=$mntpnt/file bs=1024k count=10"
+log_must eval "zfs snapshot $orig@snap2"
+log_must eval "zfs send -p -i $orig@snap1 $orig@snap2 > $streamfile_incr"
+log_must eval "dd if=$streamfile_incr of=$streamfile_trun bs=1024k count=9"
+log_must eval "zfs snapshot $orig@snap3"
+log_must eval "zfs send -p -i $orig@snap1 $orig@snap3 > $streamfile_incr"
# 4. Fail to receive the truncated incremental stream and verify previously
# received properties are still present.
-log_mustnot eval "$ZFS recv -F $dest < $streamfile_trun"
+log_mustnot eval "zfs recv -F $dest < $streamfile_trun"
log_must eval "check_prop_source $dest compression 'gzip-1' received"
log_must eval "check_prop_source $dest '$userprop' '$userval' received"
# 5. Receive the complete incremental send stream and verify that sent
# properties are successfully received.
-log_must eval "$ZFS recv -F $dest < $streamfile_incr"
+log_must eval "zfs recv -F $dest < $streamfile_incr"
log_must eval "check_prop_source $dest compression 'gzip-2' received"
log_must eval "check_prop_source $dest '$userprop' '-' '-'"
function cleanup
{
- log_must $RM $streamfile_full
- log_must $RM $streamfile_incr
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS1
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS2
+ log_must rm $streamfile_full
+ log_must rm $streamfile_incr
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS1
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS2
}
log_assert "ZFS can receive custom properties."
log_onexit cleanup
# 1. Create a filesystem.
-log_must $ZFS create $orig
+log_must zfs create $orig
# 2. Snapshot the filesystem.
-log_must $ZFS snapshot $orig@snap1
-log_must $ZFS snapshot $orig@snap2
-log_must $ZFS snapshot $orig@snap3
+log_must zfs snapshot $orig@snap1
+log_must zfs snapshot $orig@snap2
+log_must zfs snapshot $orig@snap3
# 3. Set custom properties on both the fs and snapshots.
-log_must eval "$ZFS set '$user_prop'='$value' $orig"
-log_must eval "$ZFS set '$user_prop:snap1'='$value:snap1' $orig@snap1"
-log_must eval "$ZFS set '$user_prop:snap2'='$value:snap2' $orig@snap2"
-log_must eval "$ZFS set '$user_prop:snap3'='$value:snap3' $orig@snap3"
+log_must eval "zfs set '$user_prop'='$value' $orig"
+log_must eval "zfs set '$user_prop:snap1'='$value:snap1' $orig@snap1"
+log_must eval "zfs set '$user_prop:snap2'='$value:snap2' $orig@snap2"
+log_must eval "zfs set '$user_prop:snap3'='$value:snap3' $orig@snap3"
# 4. Create different send streams with the properties.
-log_must eval "$ZFS send -p $orig@snap1 > $streamfile_full"
-log_must eval "$ZFS send -p -I $orig@snap1 $orig@snap3 > $streamfile_incr"
+log_must eval "zfs send -p $orig@snap1 > $streamfile_full"
+log_must eval "zfs send -p -I $orig@snap1 $orig@snap3 > $streamfile_incr"
# 5. Receive the send streams and verify the properties.
-log_must eval "$ZFS recv $dest < $streamfile_full"
+log_must eval "zfs recv $dest < $streamfile_full"
log_must eval "check_user_prop $dest $user_prop '$value'"
log_must eval "check_user_prop $dest@snap1 '$user_prop:snap1' '$value:snap1'"
-log_must eval "$ZFS recv $dest < $streamfile_incr"
+log_must eval "zfs recv $dest < $streamfile_incr"
log_must eval "check_user_prop $dest@snap2 '$user_prop:snap2' '$value:snap2'"
log_must eval "check_user_prop $dest@snap3 '$user_prop:snap3' '$value:snap3'"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
default_cleanup_noexit
if [[ -d $TESTDIR2 ]]; then
- $RM -rf $TESTDIR2
+ rm -rf $TESTDIR2
if (( $? != 0 )); then
log_unresolved Could not remove $TESTDIR2
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
default_setup_noexit "$DISK" "true" "true"
if [[ -d $TESTDIR2 ]]; then
- $RM -rf $TESTDIR2
+ rm -rf $TESTDIR2
if (( $? != 0 )); then
log_unresolved Could not remove $TESTDIR2
fi
fi
-log_must $ZFS create $TESTPOOL/$DATAFS
-log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL/$DATAFS
-log_must eval "$DD if=$IF of=$OF bs=$BS count=$CNT >/dev/null 2>&1"
+log_must zfs create $TESTPOOL/$DATAFS
+log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL/$DATAFS
+log_must eval "dd if=$IF of=$OF bs=$BS count=$CNT >/dev/null 2>&1"
log_pass
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.cfg
function additional_setup
{
# Create testfile
- log_must $CP $DATA $TESTDIR/$TESTFILE0
- log_must $CP $DATA $TESTDIR1/$TESTFILE0
+ log_must cp $DATA $TESTDIR/$TESTFILE0
+ log_must cp $DATA $TESTDIR1/$TESTFILE0
# Create snapshot
if ! snapexists $TESTPOOL/$TESTFS@snapshot; then
- log_must $ZFS snapshot $TESTPOOL/$TESTFS@snapshot
- log_must $ZFS clone $TESTPOOL/$TESTFS@snapshot \
+ log_must zfs snapshot $TESTPOOL/$TESTFS@snapshot
+ log_must zfs clone $TESTPOOL/$TESTFS@snapshot \
$TESTPOOL/$TESTFS-clone
fi
# Create file system
datasetexists $TESTPOOL/$TESTFS1 || \
- log_must $ZFS create $TESTPOOL/$TESTFS1
+ log_must zfs create $TESTPOOL/$TESTFS1
# Create testfile
- log_must $CP $DATA $(get_prop mountpoint $TESTPOOL/$TESTFS1)/$TESTFILE0
+ log_must cp $DATA $(get_prop mountpoint $TESTPOOL/$TESTFS1)/$TESTFILE0
# Create container
datasetexists $TESTPOOL/$TESTCTR1 || \
- log_must $ZFS create $TESTPOOL/$TESTCTR1
- log_must $CP $DATA $(get_prop mountpoint $TESTPOOL/$TESTCTR1)/$TESTFILE0
+ log_must zfs create $TESTPOOL/$TESTCTR1
+ log_must cp $DATA $(get_prop mountpoint $TESTPOOL/$TESTCTR1)/$TESTFILE0
# Create data in zvol
if is_global_zone; then
- log_must eval "$DD if=$DATA of=$VOL_R_PATH bs=$BS count=$CNT \
+ log_must eval "dd if=$DATA of=$VOL_R_PATH bs=$BS count=$CNT \
>/dev/null 2>&1"
else
- log_must $CP $DATA $(get_prop mountpoint $TESTPOOL/$TESTVOL)/$TESTFILE0
+ log_must cp $DATA $(get_prop mountpoint $TESTPOOL/$TESTVOL)/$TESTFILE0
fi
}
typeset src=$1
typeset dest=$2
- log_must $ZFS rename $src $dest
+ log_must zfs rename $src $dest
block_device_wait
#
fi
if [[ ${dataset[i]}-new != *@* ]] ; then
- $ZFS rename ${dataset[i]}-new ${dataset[i]}
+ zfs rename ${dataset[i]}-new ${dataset[i]}
if [[ $? -ne 0 ]]; then
typeset newfs=${dataset[i]}-new
typeset oldfs=${dataset[i]}
typeset mntp=$(get_prop mountpoint $newfs)
- log_must $ZFS destroy -f $newfs
- log_must $ZFS create -p $oldfs
- log_must $ZFS set mountpoint=$mntp $oldfs
+ log_must zfs destroy -f $newfs
+ log_must zfs create -p $oldfs
+ log_must zfs set mountpoint=$mntp $oldfs
fi
else
- log_must $ZFS destroy -fR ${dataset[i]}-new
+ log_must zfs destroy -fR ${dataset[i]}-new
fi
((i = i + 1))
done
if snapexists $TESTPOOL/$TESTFS@snapshot; then
- log_must $ZFS destroy -fR $TESTPOOL/$TESTFS@snapshot
+ log_must zfs destroy -fR $TESTPOOL/$TESTFS@snapshot
fi
}
typeset src=$1
typeset tgt=$2
- $CMP $src $tgt >/dev/null 2>&1
+ cmp $src $tgt >/dev/null 2>&1
return $?
}
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
#verify the data integrity in zvol
if is_global_zone; then
- log_must eval "$DD if=${VOL_R_PATH}-new of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
+ log_must eval "dd if=${VOL_R_PATH}-new of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
if ! cmp_data $VOLDATA $DATA ; then
log_fail "$VOLDATA gets corrupted after rename operation."
fi
typeset -i i=0
while ((i < ${#dataset[*]} )); do
if datasetexists ${dataset[i]}-new ; then
- log_must $ZFS rename ${dataset[i]}-new ${dataset[i]}
+ log_must zfs rename ${dataset[i]}-new ${dataset[i]}
fi
((i = i + 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
if [[ ${dataset[i]} == *@* ]]; then
data=$(snapshot_mountpoint ${dataset[i]})/$TESTFILE0
elif [[ ${dataset[i]} == "$TESTPOOL/$TESTVOL" ]] && is_global_zone; then
- log_must eval "$DD if=$VOL_R_PATH of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
+ log_must eval "dd if=$VOL_R_PATH of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
data=$VOLDATA
else
data=$(get_prop mountpoint ${dataset[i]})/$TESTFILE0
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- datasetexists $snap && log_must $ZFS destroy $snap
+ datasetexists $snap && log_must zfs destroy $snap
}
log_assert "'zfs rename' can address the abbreviated snapshot name."
fs=$TESTPOOL/$TESTFS; snap=$fs@snap
set -A newname "$fs@new-snap" "@new-snap" "new-snap"
-log_must $ZFS snapshot $snap
+log_must zfs snapshot $snap
log_must datasetexists $snap
typeset -i i=0
while ((i < ${#newname[*]} )); do
- log_must $ZFS rename $snap ${newname[$i]}
+ log_must zfs rename $snap ${newname[$i]}
log_must datasetexists ${snap%%@*}@${newname[$i]##*@}
- log_must $ZFS rename ${snap%%@*}@${newname[$i]##*@} $snap
+ log_must zfs rename ${snap%%@*}@${newname[$i]##*@} $snap
((i += 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
typeset -i i=0
while ((i < ${#bad_dataset[*]} )); do
- log_mustnot $ZFS rename ${bad_dataset[i]} ${bad_dataset[((i + 1))]}
+ log_mustnot zfs rename ${bad_dataset[i]} ${bad_dataset[((i + 1))]}
log_must datasetexists ${bad_dataset[i]}
- log_mustnot $ZFS rename -p ${bad_dataset[i]} ${bad_dataset[((i + 1))]}
+ log_mustnot zfs rename -p ${bad_dataset[i]} ${bad_dataset[((i + 1))]}
log_must datasetexists ${bad_dataset[i]}
((i = i + 2))
#verify 'rename -p' can not work with snapshots
-log_mustnot $ZFS rename -p $TESTPOOL/$TESTFS@snapshot \
+log_mustnot zfs rename -p $TESTPOOL/$TESTFS@snapshot \
$TESTPOOL/$TESTFS@snapshot2
log_must datasetexists $TESTPOOL/$TESTFS@snapshot
-log_mustnot $ZFS rename -p $TESTPOOL/$TESTFS@snapshot \
+log_mustnot zfs rename -p $TESTPOOL/$TESTFS@snapshot \
$TESTPOOL/$TESTFS/$TESTFS@snapshot2
log_must datasetexists $TESTPOOL/$TESTFS@snapshot
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
poolexists $TESTPOOL1 && \
destroy_pool $TESTPOOL1
[[ -e $TESTDIR/$TESTFILE1 ]] && \
- log_must $RM -f $TESTDIR/$TESTFILE1
+ log_must rm -f $TESTDIR/$TESTFILE1
cleanup
}
additional_setup
-log_must $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1
+log_must mkfile $MINVDEVSIZE $TESTDIR/$TESTFILE1
create_pool $TESTPOOL1 $TESTDIR/$TESTFILE1
for src in ${src_dataset[@]} ; do
else
dest=${TESTPOOL1}/$dest
fi
- log_mustnot $ZFS rename $src $dest
- log_mustnot $ZFS rename -p $src $dest
+ log_mustnot zfs rename $src $dest
+ log_mustnot zfs rename -p $src $dest
#
# Verify original dataset name still in use
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
vol=$TESTPOOL/$TESTVOL
snap=$TESTSNAP
-log_must eval "$DD if=$DATA of=$VOL_R_PATH bs=$BS count=$CNT >/dev/null 2>&1"
+log_must eval "dd if=$DATA of=$VOL_R_PATH bs=$BS count=$CNT >/dev/null 2>&1"
if ! snapexists $vol@$snap; then
- log_must $ZFS snapshot $vol@$snap
+ log_must zfs snapshot $vol@$snap
fi
rename_dataset $vol@$snap $vol@${snap}-new
#verify data integrity
for input in $VOL_R_PATH $ZVOL_RDEVDIR/$clone; do
- log_must eval "$DD if=$input of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
+ log_must eval "dd if=$input of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
if ! cmp_data $VOLDATA $DATA ; then
log_fail "$input gets corrupted after rename operation."
fi
done
destroy_clone $clone
-log_must $ZFS destroy $vol@$snap
+log_must zfs destroy $vol@$snap
log_pass "'zfs rename' can rename volume snapshot as expected."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $TESTPOOL/$TESTFS ; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS
fi
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
- $RM -f $SRC_FILE $DST_FILE
+ rm -f $SRC_FILE $DST_FILE
}
function target_obj
BS=512 ; CNT=2048
SRC_FILE=/tmp/srcfile.$$
DST_FILE=/tmp/dstfile.$$
-log_must $DD if=/dev/urandom of=$SRC_FILE bs=$BS count=$CNT
+log_must dd if=/dev/urandom of=$SRC_FILE bs=$BS count=$CNT
fs=$TESTPOOL/$TESTFS/fs.$$
fsclone=$TESTPOOL/$TESTFS/fsclone.$$
-log_must $ZFS create $fs
+log_must zfs create $fs
obj=$(target_obj $fs)
-log_must $CP $SRC_FILE $obj
+log_must cp $SRC_FILE $obj
snap=${fs}@snap.$$
-log_must $ZFS snapshot $snap
-log_must $ZFS clone $snap $fsclone
+log_must zfs snapshot $snap
+log_must zfs clone $snap $fsclone
# Rename dataset & clone
#
-log_must $ZFS rename $fs ${fs}-new
-log_must $ZFS rename $fsclone ${fsclone}-new
+log_must zfs rename $fs ${fs}-new
+log_must zfs rename $fsclone ${fsclone}-new
# Compare source file and target file
#
obj=$(target_obj ${fs}-new)
-log_must $DIFF $SRC_FILE $obj
+log_must diff $SRC_FILE $obj
obj=$(target_obj ${fsclone}-new)
-log_must $DIFF $SRC_FILE $obj
+log_must diff $SRC_FILE $obj
# Rename snapshot and re-clone dataset
#
-log_must $ZFS rename ${fs}-new $fs
-log_must $ZFS rename $snap ${snap}-new
-log_must $ZFS clone ${snap}-new $fsclone
+log_must zfs rename ${fs}-new $fs
+log_must zfs rename $snap ${snap}-new
+log_must zfs clone ${snap}-new $fsclone
# Compare source file and target file
#
obj=$(target_obj $fsclone)
-log_must $DIFF $SRC_FILE $obj
+log_must diff $SRC_FILE $obj
if is_global_zone; then
vol=$TESTPOOL/$TESTFS/vol.$$ ; volclone=$TESTPOOL/$TESTFS/volclone.$$
- log_must $ZFS create -V 100M $vol
+ log_must zfs create -V 100M $vol
block_device_wait
obj=$(target_obj $vol)
- log_must $DD if=$SRC_FILE of=$obj bs=$BS count=$CNT
+ log_must dd if=$SRC_FILE of=$obj bs=$BS count=$CNT
snap=${vol}@snap.$$
- log_must $ZFS snapshot $snap
- log_must $ZFS clone $snap $volclone
+ log_must zfs snapshot $snap
+ log_must zfs clone $snap $volclone
block_device_wait
# Rename dataset & clone
- log_must $ZFS rename $vol ${vol}-new
- log_must $ZFS rename $volclone ${volclone}-new
+ log_must zfs rename $vol ${vol}-new
+ log_must zfs rename $volclone ${volclone}-new
block_device_wait
# Compare source file and target file
obj=$(target_obj ${vol}-new)
- log_must $DD if=$obj of=$DST_FILE bs=$BS count=$CNT
- log_must $DIFF $SRC_FILE $DST_FILE
+ log_must dd if=$obj of=$DST_FILE bs=$BS count=$CNT
+ log_must diff $SRC_FILE $DST_FILE
obj=$(target_obj ${volclone}-new)
- log_must $DD if=$obj of=$DST_FILE bs=$BS count=$CNT
- log_must $DIFF $SRC_FILE $DST_FILE
+ log_must dd if=$obj of=$DST_FILE bs=$BS count=$CNT
+ log_must diff $SRC_FILE $DST_FILE
# Rename snapshot and re-clone dataset
- log_must $ZFS rename ${vol}-new $vol
- log_must $ZFS rename $snap ${snap}-new
- log_must $ZFS clone ${snap}-new $volclone
+ log_must zfs rename ${vol}-new $vol
+ log_must zfs rename $snap ${snap}-new
+ log_must zfs clone ${snap}-new $volclone
block_device_wait
# Compare source file and target file
obj=$(target_obj $volclone)
- log_must $DD if=$obj of=$DST_FILE bs=$BS count=$CNT
- log_must $DIFF $SRC_FILE $DST_FILE
+ log_must dd if=$obj of=$DST_FILE bs=$BS count=$CNT
+ log_must diff $SRC_FILE $DST_FILE
fi
log_pass "Rename dataset, the data haven't changed passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while ((i < ${#datasets[@]})); do
if datasetexists ${datasets[$i]}@snap ; then
- log_must $ZFS destroy ${datasets[$i]}@snap
+ log_must zfs destroy ${datasets[$i]}@snap
fi
if datasetexists ${datasets[$i]}@snap-new ; then
- log_must $ZFS destroy ${datasets[$i]}@snap-new
+ log_must zfs destroy ${datasets[$i]}@snap-new
fi
((i += 1))
datasets[${#datasets[@]}]=$TESTPOOL/$TESTVOL
fi
-log_must $ZFS snapshot -r ${TESTPOOL}@snap
+log_must zfs snapshot -r ${TESTPOOL}@snap
typeset -i i=0
while ((i < ${#datasets[@]})); do
log_must datasetexists ${datasets[$i]}@snap
((i += 1))
done
-log_must $ZFS rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap-new
+log_must zfs rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap-new
i=0
while ((i < ${#datasets[@]})); do
log_must datasetexists ${datasets[$i]}@snap-new
((i += 1))
done
-log_must $ZFS destroy -rf ${TESTPOOL}@snap-new
+log_must zfs destroy -rf ${TESTPOOL}@snap-new
log_pass "Verify zfs rename -r passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- typeset snaps=$($ZFS list -H -t snapshot -o name)
+ typeset snaps=$(zfs list -H -t snapshot -o name)
typeset exclude
typeset snap
typeset pool_name
if [[ -n $KEEP ]]; then
- exclude=`eval $ECHO \"'(${KEEP})'\"`
+ exclude=`eval echo \"'(${KEEP})'\"`
fi
for snap in $snaps; do
- pool_name=$($ECHO "$snap" | $AWK -F/ '{print $1}')
+ pool_name=$(echo "$snap" | awk -F/ '{print $1}')
if [[ -n $exclude ]]; then
- $ECHO "$pool_name" | $EGREP -v "$exclude" > /dev/null 2>&1
+ echo "$pool_name" | egrep -v "$exclude" > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
fi
else
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
fi
done
}
datasets[${#datasets[@]}]=$TESTPOOL/$TESTVOL
fi
-log_must $ZFS snapshot -r ${TESTPOOL}@snap
+log_must zfs snapshot -r ${TESTPOOL}@snap
typeset -i i=0
while ((i < ${#datasets[@]})); do
# Create one more snapshot
- log_must $ZFS snapshot ${datasets[$i]}@snap2
- log_mustnot $ZFS rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap2
- log_must $ZFS destroy ${datasets[$i]}@snap2
+ log_must zfs snapshot ${datasets[$i]}@snap2
+ log_mustnot zfs rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap2
+ log_must zfs destroy ${datasets[$i]}@snap2
# Check datasets, make sure none of them was renamed.
typeset -i j=0
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for opts in "-r" "-r -p"; do
typeset -i i=0
while ((i < ${#datasets[@]})); do
- log_mustnot $ZFS rename $opts ${datasets[$i]} \
+ log_mustnot zfs rename $opts ${datasets[$i]} \
${datasets[$i]}-new
# Check datasets, make sure none of them was renamed.
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
function additional_cleanup
{
if datasetexists $TESTPOOL/notexist ; then
- log_must $ZFS destroy -Rf $TESTPOOL/notexist
+ log_must zfs destroy -Rf $TESTPOOL/notexist
fi
if datasetexists $TESTPOOL/$TESTFS ; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS
fi
- log_must $ZFS create $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
if is_global_zone ; then
if datasetexists $TESTPOOL/$TESTVOL ; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTVOL
+ log_must zfs destroy -Rf $TESTPOOL/$TESTVOL
fi
- log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+ log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
fi
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
longname="$(gen_dataset_name 260 abcdefg)"
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
for ds in ${datasets[@]}; do
for opt in ${badopts[@]}; do
- log_mustnot $ZFS rename $opt $ds ${ds}-new
+ log_mustnot zfs rename $opt $ds ${ds}-new
done
- log_mustnot $ZFS rename $ds
- log_mustnot $ZFS rename $ds ${ds}-new ${ds}-new1
- log_mustnot $ZFS rename $ds ${ds}.$longname
+ log_mustnot zfs rename $ds
+ log_mustnot zfs rename $ds ${ds}-new ${ds}-new1
+ log_mustnot zfs rename $ds ${ds}.$longname
done
log_pass "'zfs rename' fails with illegal scenarios as expected."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $TESTPOOL/$TESTCTR@snap-new ; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTCTR@snap-new
+ log_must zfs destroy -f $TESTPOOL/$TESTCTR@snap-new
fi
if datasetexists $TESTPOOL/$TESTCTR@snap ; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTCTR@snap
+ log_must zfs destroy -f $TESTPOOL/$TESTCTR@snap
fi
if datasetexists $TESTPOOL@snap-new ; then
- log_must $ZFS destroy -f $TESTPOOL@snap-new
+ log_must zfs destroy -f $TESTPOOL@snap-new
fi
if datasetexists $TESTPOOL@snap ; then
- log_must $ZFS destroy -f $TESTPOOL@snap
+ log_must zfs destroy -f $TESTPOOL@snap
fi
}
log_onexit cleanup
-log_must $ZFS snapshot $TESTPOOL/$TESTCTR@snap
-log_must $ZFS rename -r $TESTPOOL/$TESTCTR@snap $TESTPOOL/$TESTCTR@snap-new
+log_must zfs snapshot $TESTPOOL/$TESTCTR@snap
+log_must zfs rename -r $TESTPOOL/$TESTCTR@snap $TESTPOOL/$TESTCTR@snap-new
log_must datasetexists $TESTPOOL/$TESTCTR@snap-new
-log_must $ZFS snapshot $TESTPOOL@snap
-log_must $ZFS rename -r $TESTPOOL@snap $TESTPOOL@snap-new
+log_must zfs snapshot $TESTPOOL@snap
+log_must zfs rename -r $TESTPOOL@snap $TESTPOOL@snap-new
log_must datasetexists $TESTPOOL/$TESTCTR@snap-new
log_must datasetexists $TESTPOOL@snap-new
-log_must $ZFS destroy -f $TESTPOOL/$TESTCTR@snap-new
-log_must $ZFS destroy -f $TESTPOOL@snap-new
+log_must zfs destroy -f $TESTPOOL/$TESTCTR@snap-new
+log_must zfs destroy -f $TESTPOOL@snap-new
log_pass "Verify zfs rename -r passed when child datasets" \
"don't have a snapshot of the given name."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $TESTPOOL/$RESERVATION ; then
- log_must $ZFS unmount $TESTPOOL/$RESERVATION
- log_must $ZFS destroy $TESTPOOL/$RESERVATION
+ log_must zfs unmount $TESTPOOL/$RESERVATION
+ log_must zfs destroy $TESTPOOL/$RESERVATION
fi
}
log_assert "Verify that a reservation > 2^64 -1 fails."
-log_must $ZFS create $TESTPOOL/$RESERVATION
+log_must zfs create $TESTPOOL/$RESERVATION
-log_mustnot $ZFS set reservation=18446744073709551615 $TESTPOOL/$RESERVATION
+log_mustnot zfs set reservation=18446744073709551615 $TESTPOOL/$RESERVATION
log_pass "Unable to set a reservation > 2^64 - 1"
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
for FS in $TESTPOOL/$RESERVATION $TESTPOOL/$RESERVATION2
do
if datasetexists $FS ; then
- log_must $ZFS unmount $FS
- log_must $ZFS destroy $FS
+ log_must zfs unmount $FS
+ log_must zfs destroy $FS
fi
done
}
log_assert "Ensure a reservation of 0 or 'none' is allowed."
-log_must $ZFS create $TESTPOOL/$RESERVATION
-log_must $ZFS create $TESTPOOL/$RESERVATION2
+log_must zfs create $TESTPOOL/$RESERVATION
+log_must zfs create $TESTPOOL/$RESERVATION2
-log_must $ZFS set reservation=0 $TESTPOOL/$RESERVATION
-log_must $ZFS set reservation=none $TESTPOOL/$RESERVATION2
+log_must zfs set reservation=0 $TESTPOOL/$RESERVATION
+log_must zfs set reservation=none $TESTPOOL/$RESERVATION2
for FS in $TESTPOOL/$RESERVATION $TESTPOOL/$RESERVATION2
do
- reserve=`$ZFS get -pH reservation $FS | $AWK '{print $3}'`
+ reserve=`zfs get -pH reservation $FS | awk '{print $3}'`
if [[ $reserve -ne 0 ]]; then
log_fail "ZFS get -p reservation did not return 0"
fi
- reserve=`$ZFS get -H reservation $FS | $AWK '{print $3}'`
+ reserve=`zfs get -H reservation $FS | awk '{print $3}'`
if [[ $reserve != "none" ]]; then
log_fail "ZFS get reservation did not return 'none'"
fi
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
log_fail "Unsupported testing condition."
# Clean up the test environment
- datasetexists $FS && log_must $ZFS destroy -Rf $FS
+ datasetexists $FS && log_must zfs destroy -Rf $FS
if datasetexists $VOL; then
- $DF -lhF ufs "$ZVOL_DEVDIR/$VOL" > /dev/null 2>&1
- (( $? == 0 )) && log_must $UMOUNT -f $TESTDIR1
+ df -lhF ufs "$ZVOL_DEVDIR/$VOL" > /dev/null 2>&1
+ (( $? == 0 )) && log_must umount -f $TESTDIR1
- log_must $ZFS destroy -Rf $VOL
+ log_must zfs destroy -Rf $VOL
fi
# Create specified test environment
fi
if [[ $dtst == $VOL ]]; then
- log_must $UMOUNT -f $TESTDIR1
- log_must $ZFS rollback $opt $dtst@$snap_point
- log_must $MOUNT \
+ log_must umount -f $TESTDIR1
+ log_must zfs rollback $opt $dtst@$snap_point
+ log_must mount \
$ZVOL_DEVDIR/$TESTPOOL/$TESTVOL $TESTDIR1
else
- log_must $ZFS rollback $opt $dtst@$snap_point
+ log_must zfs rollback $opt $dtst@$snap_point
fi
for snap in $all_snap; do
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
#
write_mountpoint_dir ${FSSNAP0%%@*}
-log_must $ZFS rollback $FSSNAP0
-log_must $ZFS rollback -f $FSSNAP0
+log_must zfs rollback $FSSNAP0
+log_must zfs rollback -f $FSSNAP0
log_must datasetexists $FSSNAP0
-$PKILL ${DD##*/}
+pkill ${DD##*/}
check_files $FSSNAP0
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
function cleanup
{
- $PKILL ${DD##*/}
+ pkill ${DD##*/}
for snap in $FSSNAP0 $FSSNAP1 $FSSNAP2; do
if snapexists $snap; then
- log_must $ZFS destroy -Rf $snap
+ log_must zfs destroy -Rf $snap
fi
done
}
# Run 'zfs rollback ""|-f <snap>' and it should fail.
#
-log_mustnot $ZFS rollback $TESTPOOL/$TESTFS@$TESTSNAP
-log_mustnot $ZFS rollback -f $TESTPOOL/$TESTFS@$TESTSNAP
+log_mustnot zfs rollback $TESTPOOL/$TESTFS@$TESTSNAP
+log_mustnot zfs rollback -f $TESTPOOL/$TESTFS@$TESTSNAP
# Create 'clone1' based on 'snap1'.
#
# Run 'zfs rollback -r|-rf <snap>' and it should fail.
#
-log_mustnot $ZFS rollback -r $TESTPOOL/$TESTFS@$TESTSNAP
-log_mustnot $ZFS rollback -rf $TESTPOOL/$TESTFS@$TESTSNAP
+log_mustnot zfs rollback -r $TESTPOOL/$TESTFS@$TESTSNAP
+log_mustnot zfs rollback -rf $TESTPOOL/$TESTFS@$TESTSNAP
log_pass "zfs rollback ''|-f|-r|-rf will fail in different conditions " \
"passed."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
for ds in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL; do
if snapexists ${ds}@$TESTSNAP; then
- log_must $ZFS destroy ${ds}@$TESTSNAP
+ log_must zfs destroy ${ds}@$TESTSNAP
fi
done
}
set -A badopts "r" "R" "f" "-F" "-rF" "-RF" "-fF" "-?" "-*" "-blah" "-1" "-2"
for ds in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL; do
- log_must $ZFS snapshot ${ds}@$TESTSNAP
+ log_must zfs snapshot ${ds}@$TESTSNAP
done
for ds in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL; do
for opt in "" "-r" "-R" "-f" "-rR" "-rf" "-rRf"; do
- log_mustnot eval "$ZFS rollback $opt $ds >/dev/null 2>&1"
- log_mustnot eval "$ZFS rollback $opt ${ds}@$TESTSNAP \
+ log_mustnot eval "zfs rollback $opt $ds >/dev/null 2>&1"
+ log_mustnot eval "zfs rollback $opt ${ds}@$TESTSNAP \
${ds}@$TESTSNAP >/dev/null 2>&1"
- log_mustnot eval "$ZFS rollback $opt >/dev/null 2>&1"
+ log_mustnot eval "zfs rollback $opt >/dev/null 2>&1"
# zfs rollback should fail with non-existen snapshot
- log_mustnot eval "$ZFS rollback $opt ${ds}@nosnap >/dev/null 2>&1"
+ log_mustnot eval "zfs rollback $opt ${ds}@nosnap >/dev/null 2>&1"
done
for badopt in ${badopts[@]}; do
- log_mustnot eval "$ZFS rollback $badopt ${ds}@$TESTSNAP \
+ log_mustnot eval "zfs rollback $badopt ${ds}@$TESTSNAP \
>/dev/null 2>&1"
done
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
(( ${#1} == 0 )) && \
log_fail "Need give file name."
- return $($SUM $1 | $AWK '{print $1}')
+ return $(sum $1 | awk '{print $1}')
}
# Define global variable checksum, get the original file sum.
typeset createclone=${2:-"false"}
if datasetnonexists $FS; then
- log_must $ZFS create $FS
- log_must $ZFS set mountpoint=$TESTDIR $FS
+ log_must zfs create $FS
+ log_must zfs set mountpoint=$TESTDIR $FS
fi
# Volume can't be created in Local Zone.
if datasetnonexists $VOL && is_global_zone; then
- log_must $ZFS create -V $VOLSIZE $VOL
+ log_must zfs create -V $VOLSIZE $VOL
block_device_wait
fi
# mount it. Otherwise, only check if this ufs|ext2 file system
# was mounted.
#
- log_must eval "$ECHO "y" | \
- $NEWFS -v $ZVOL_DEVDIR/$VOL > /dev/null 2>&1"
+ log_must eval "echo "y" | \
+ newfs -v $ZVOL_DEVDIR/$VOL > /dev/null 2>&1"
- [[ ! -d $TESTDIR1 ]] && log_must $MKDIR $TESTDIR1
+ [[ ! -d $TESTDIR1 ]] && log_must mkdir $TESTDIR1
# Make sure the ufs|ext2 filesystem hasn't been mounted,
# then mount the new ufs|ext2 filesystem.
if ! ismounted "$ZVOL_DEVDIR/$VOL" $NEWFS_DEFAULT_FS; then
- log_must $MOUNT \
+ log_must mount \
$ZVOL_DEVDIR/$TESTPOOL/$TESTVOL $TESTDIR1
fi
fi
esac
if datasetnonexists $snap; then
- log_must $CP /etc/passwd $fname
+ log_must cp /etc/passwd $fname
if is_linux; then
- log_must $SYNC
+ log_must sync
else
#
# using 'lockfs -f' to flush the writes
log_must $LOCKFS -f $TESTDIR1
fi
fi
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
fi
if [[ $createclone == "true" ]]; then
if datasetnonexists $clone; then
- log_must $ZFS clone $snap $clone
+ log_must zfs clone $snap $clone
fi
fi
(( ind += 1 ))
typeset dtst
typeset snap
- $PKILL ${DD##*/}
+ pkill ${DD##*/}
if ismounted $TESTDIR1 $NEWFS_DEFAULT_FS; then
- log_must $UMOUNT -f $TESTDIR1
+ log_must umount -f $TESTDIR1
fi
- [[ -d $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
- [[ -d $TESTDIR1 ]] && log_must $RM -rf $TESTDIR1/*
+ [[ -d $TESTDIR ]] && log_must rm -rf $TESTDIR/*
+ [[ -d $TESTDIR1 ]] && log_must rm -rf $TESTDIR1/*
for dtst in $FS $VOL; do
for snap in $TESTSNAP $TESTSNAP1 $TESTSNAP2; do
if snapexists $dtst@$snap; then
- log_must $ZFS destroy -Rf $dtst@$snap
+ log_must zfs destroy -Rf $dtst@$snap
fi
done
done
# Restore original test environment
if datasetnonexists $FS ; then
- log_must $ZFS create $FS
+ log_must zfs create $FS
fi
if datasetnonexists $VOL ; then
if is_global_zone ; then
- log_must $ZFS create -V $VOLSIZE $VOL
+ log_must zfs create -V $VOLSIZE $VOL
else
- log_must $ZFS create $VOL
+ log_must zfs create $VOL
fi
fi
}
dir=$TESTDIR1
log_must ismounted $dir $NEWFS_DEFAULT_FS
fi
- $DD if=/dev/urandom of=$dir/$TESTFILE1 &
- log_must $SLEEP 3
+ dd if=/dev/urandom of=$dir/$TESTFILE1 &
+ log_must sleep 3
}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
{
for snap in $init_snap $inc_snap $rst_snap $rst_inc_snap; do
snapexists $snap && \
- log_must $ZFS destroy -f $snap
+ log_must zfs destroy -f $snap
done
datasetexists $rst_root && \
- log_must $ZFS destroy -Rf $rst_root
+ log_must zfs destroy -Rf $rst_root
for file in $full_bkup $inc_bkup \
$init_data $inc_data
do
[[ -e $file ]] && \
- log_must $RM -f $file
+ log_must rm -f $file
done
[[ -d $TESTDIR1 ]] && \
- log_must $RM -rf $TESTDIR1
+ log_must rm -rf $TESTDIR1
}
log_note "Verify 'zfs send' can create full send stream."
#Pre-paration
-log_must $ZFS create $rst_root
+log_must zfs create $rst_root
[[ ! -d $TESTDIR1 ]] && \
- log_must $MKDIR -p $TESTDIR1
-log_must $ZFS set mountpoint=$TESTDIR1 $rst_root
+ log_must mkdir -p $TESTDIR1
+log_must zfs set mountpoint=$TESTDIR1 $rst_root
-$FILE_WRITE -o create -f $init_data -b $BLOCK_SIZE -c $WRITE_COUNT
+file_write -o create -f $init_data -b $BLOCK_SIZE -c $WRITE_COUNT
-log_must $ZFS snapshot $init_snap
-$ZFS send $init_snap > $full_bkup
+log_must zfs snapshot $init_snap
+zfs send $init_snap > $full_bkup
(( $? != 0 )) && \
- log_fail "'$ZFS send' fails to create full send"
+ log_fail "'zfs send' fails to create full send"
log_note "Verify the send stream is valid to receive."
-log_must $ZFS receive $rst_snap <$full_bkup
+log_must zfs receive $rst_snap <$full_bkup
receive_check $rst_snap ${rst_snap%%@*}
compare_cksum $init_data $rst_data
log_note "Verify 'zfs send -i' can create incremental send stream."
-$FILE_WRITE -o create -f $inc_data -b $BLOCK_SIZE -c $WRITE_COUNT -d 0
+file_write -o create -f $inc_data -b $BLOCK_SIZE -c $WRITE_COUNT -d 0
-log_must $ZFS snapshot $inc_snap
-$ZFS send -i $init_snap $inc_snap > $inc_bkup
+log_must zfs snapshot $inc_snap
+zfs send -i $init_snap $inc_snap > $inc_bkup
(( $? != 0 )) && \
- log_fail "'$ZFS send -i' fails to create incremental send"
+ log_fail "'zfs send -i' fails to create incremental send"
log_note "Verify the incremental send stream is valid to receive."
-log_must $ZFS rollback $rst_snap
-log_must $ZFS receive $rst_inc_snap <$inc_bkup
+log_must zfs rollback $rst_snap
+log_must zfs receive $rst_inc_snap <$inc_bkup
receive_check $rst_inc_snap
compare_cksum $inc_data $rst_inc_data
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
function cleanup
{
snapexists $snap && \
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
datasetexists $ctr && \
- log_must $ZFS destroy -r $ctr
+ log_must zfs destroy -r $ctr
[[ -e $origfile ]] && \
- log_must $RM -f $origfile
+ log_must rm -f $origfile
[[ -e $stream ]] && \
- log_must $RM -f $stream
+ log_must rm -f $stream
}
function do_testing # <prop> <prop_value>
typeset property=$1
typeset prop_val=$2
- log_must $ZFS set $property=$prop_val $fs
- $FILE_WRITE -o create -f $origfile -b $BLOCK_SIZE -c $WRITE_COUNT
- log_must $ZFS snapshot $snap
- $ZFS send $snap > $stream
+ log_must zfs set $property=$prop_val $fs
+ file_write -o create -f $origfile -b $BLOCK_SIZE -c $WRITE_COUNT
+ log_must zfs snapshot $snap
+ zfs send $snap > $stream
(( $? != 0 )) && \
- log_fail "'$ZFS send' fails to create send streams."
- $ZFS receive -d $ctr <$stream
+ log_fail "'zfs send' fails to create send streams."
+ zfs receive -d $ctr <$stream
(( $? != 0 )) && \
- log_fail "'$ZFS receive' fails to receive send streams."
+ log_fail "'zfs receive' fails to receive send streams."
#verify receive result
! datasetexists $rstfs && \
- log_fail "'$ZFS receive' fails to restore $rstfs"
+ log_fail "'zfs receive' fails to restore $rstfs"
! snapexists $rstfssnap && \
- log_fail "'$ZFS receive' fails to restore $rstfssnap"
+ log_fail "'zfs receive' fails to restore $rstfssnap"
if [[ ! -e $rstfile ]] || [[ ! -e $rstsnapfile ]]; then
log_fail " Data lost after receiving stream"
fi
compare_cksum $origsnapfile $rstsnapfile
#Destroy datasets and stream for next testing
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
if is_global_zone ; then
- log_must $ZFS destroy -r $rstfs
+ log_must zfs destroy -r $rstfs
else
- log_must $ZFS destroy -r $ds_path
+ log_must zfs destroy -r $ds_path
fi
- log_must $RM -f $stream
+ log_must rm -f $stream
}
log_assert "Verify 'zfs send' generates valid streams with a property setup"
"512 1k 4k 8k 16k 32k 64k 128k"
#Create a dataset to receive the send stream
-log_must $ZFS create $ctr
+log_must zfs create $ctr
typeset -i i=0
while (( i < ${#props[*]} ))
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- datasetexists $snap1 && log_must $ZFS destroy $snap1
- datasetexists $snap2 && log_must $ZFS destroy $snap2
+ datasetexists $snap1 && log_must zfs destroy $snap1
+ datasetexists $snap2 && log_must zfs destroy $snap2
}
log_assert "'zfs send -i' can deal with abbreviated snapshot name."
set -A args "$snap1 $snap2" \
"${snap1##*@} $snap2" "@${snap1##*@} $snap2"
-log_must $ZFS snapshot $snap1
-log_must $ZFS snapshot $snap2
+log_must zfs snapshot $snap1
+log_must zfs snapshot $snap2
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_must eval "$ZFS send -i ${args[i]} > /dev/null"
+ log_must eval "zfs send -i ${args[i]} > /dev/null"
(( i += 1 ))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/cli_common.kshlib
#
for snap in $snap1 $snap2 $snap3; do
snapexists $snap && \
- log_must $ZFS destroy -f $snap
+ log_must zfs destroy -f $snap
done
for f in $tmpfile1 $tmpfile2; do
if [[ -e $f ]]; then
- $RM -f $f
+ rm -f $f
fi
done
}
log_assert "Verify that invalid parameters to 'zfs send' are caught."
log_onexit cleanup
-log_must $ZFS snapshot $snap1
+log_must zfs snapshot $snap1
tmpfile1=$TESTDIR/testfile1.$$
-log_must $TOUCH $tmpfile1
-log_must $ZFS snapshot $snap2
+log_must touch $tmpfile1
+log_must zfs snapshot $snap2
tmpfile2=$TESTDIR/testfile2.$$
-log_must $TOUCH $tmpfile2
-log_must $ZFS snapshot $snap3
+log_must touch $tmpfile2
+log_must zfs snapshot $snap3
typeset -i i=0
while (( i < ${#badargs[*]} ))
do
- log_mustnot eval "$ZFS send ${badargs[i]} >/dev/null"
+ log_mustnot eval "zfs send ${badargs[i]} >/dev/null"
(( i = i + 1 ))
done
#Testing zfs send fails by send backup stream to terminal
for arg in "$snap1" "-i $snap1 $snap2"; do
- log_mustnot eval "$ZFS send $arg >/dev/console"
+ log_mustnot eval "zfs send $arg >/dev/console"
done
log_pass "Invalid parameters to 'zfs send' are caught as expected."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- poolexists $TESTPOOL && log_must $ZPOOL export $TESTPOOL
- log_must $ZPOOL import $TESTPOOL
+ poolexists $TESTPOOL && log_must zpool export $TESTPOOL
+ log_must zpool import $TESTPOOL
datasetexists $TESTPOOL@snap && \
- log_must $ZFS destroy -r $TESTPOOL@snap
+ log_must zfs destroy -r $TESTPOOL@snap
}
log_assert "'zfs send -R' can send from read-only pools"
log_onexit cleanup
-log_must $ZFS snapshot -r $TESTPOOL@snap
+log_must zfs snapshot -r $TESTPOOL@snap
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import -o readonly=on $TESTPOOL
+log_must zpool export $TESTPOOL
+log_must zpool import -o readonly=on $TESTPOOL
-log_must eval "$ZFS send -R $TESTPOOL@snap >/dev/null"
+log_must eval "zfs send -R $TESTPOOL@snap >/dev/null"
log_pass "'zfs send -R' can send from read-only pools"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for ds in $datasets; do
- datasetexists $ds && $ZFS destroy -rf $ds
+ datasetexists $ds && zfs destroy -rf $ds
done
}
function cal_percentage
{
typeset value=$1
- return=$($ECHO "$PERCENT * $value" | bc)
- return=$($ECHO "$return / 100" | bc)
+ return=$(echo "$PERCENT * $value" | bc)
+ return=$(echo "$return / 100" | bc)
echo $return
}
typeset option=$2
typeset base_snapshot=${3:-""}
if [[ -z $3 ]];then
- typeset total_size=$($ZFS send $option $snapshot 2>&1 | $TAIL -1)
+ typeset total_size=$(zfs send $option $snapshot 2>&1 | tail -1)
else
- typeset total_size=$($ZFS send $option $base_snapshot $snapshot \
- 2>&1 | $TAIL -1)
+ typeset total_size=$(zfs send $option $base_snapshot $snapshot \
+ 2>&1 | tail -1)
fi
if [[ $options == *"P"* ]]; then
- total_size=$($ECHO "$total_size" | $AWK '{print $2}')
+ total_size=$(echo "$total_size" | awk '{print $2}')
else
- total_size=$($ECHO "$total_size" | $AWK '{print $5}')
+ total_size=$(echo "$total_size" | awk '{print $5}')
total_size=${total_size%M}
- total_size=$($ECHO "$total_size * $block_count" | bc)
+ total_size=$(echo "$total_size * $block_count" | bc)
fi
- $ECHO $total_size
+ echo $total_size
}
{
typeset options=$1
typeset file_size=$2
- typeset refer_diff=$($ECHO "$refer_size - $estimate_size" | bc)
- refer_diff=$($ECHO "$refer_diff / 1" | bc)
- refer_diff=$($ECHO "$refer_diff" | $NAWK '{print ($1 < 0) ? ($1 * -1): $1'})
- typeset file_diff=$($ECHO "$file_size - $estimate_size" | bc)
- file_diff=$($ECHO "$file_diff / 1" | bc)
- file_diff=$($ECHO "$file_diff" | $NAWK '{print ($1 < 0) ? ($1 * -1):$1'})
+ typeset refer_diff=$(echo "$refer_size - $estimate_size" | bc)
+ refer_diff=$(echo "$refer_diff / 1" | bc)
+ refer_diff=$(echo "$refer_diff" | nawk '{print ($1 < 0) ? ($1 * -1): $1'})
+ typeset file_diff=$(echo "$file_size - $estimate_size" | bc)
+ file_diff=$(echo "$file_diff / 1" | bc)
+ file_diff=$(echo "$file_diff" | nawk '{print ($1 < 0) ? ($1 * -1):$1'})
typeset expected_diff=$(cal_percentage $refer_size)
[[ -z $refer_diff && -z $file_diff && -z $expected_diff ]] && \
((block_count=1024*1024))
# create dataset
-log_must $ZFS create $TESTPOOL/$TESTFS1
+log_must zfs create $TESTPOOL/$TESTFS1
# create multiple snapshot for the dataset with data
for block_size in 64 128 256; do
- log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS1/file$block_size \
+ log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS1/file$block_size \
bs=1M count=$block_size
- log_must $ZFS snapshot $TESTPOOL/$TESTFS1@snap$block_size
+ log_must zfs snapshot $TESTPOOL/$TESTFS1@snap$block_size
done
full_snapshot="$TESTPOOL/$TESTFS1@snap64"
increamental_snapshot="$TESTPOOL/$TESTFS1@snap256"
-full_size=$($ZFS send $full_snapshot 2>&1 | wc -c)
-increamental_size=$($ZFS send $increamental_snapshot 2>&1 | wc -c)
-increamental_send=$($ZFS send -i $full_snapshot $increamental_snapshot 2>&1 | wc -c)
+full_size=$(zfs send $full_snapshot 2>&1 | wc -c)
+increamental_size=$(zfs send $increamental_snapshot 2>&1 | wc -c)
+increamental_send=$(zfs send -i $full_snapshot $increamental_snapshot 2>&1 | wc -c)
log_note "verify zfs send -nv"
options="-nv"
options="-nvi"
refer_size=$(get_prop refer $increamental_snapshot)
deduct_size=$(get_prop refer $full_snapshot)
-refer_size=$($ECHO "$refer_size - $deduct_size" | bc)
+refer_size=$(echo "$refer_size - $deduct_size" | bc)
estimate_size=$(get_estimate_size $increamental_snapshot $options $full_snapshot)
log_must verify_size_estimates $options $increamental_send
estimate_size=$(get_estimate_size $increamental_snapshot $options $full_snapshot)
log_must verify_size_estimates $options $increamental_send
-log_must $ZFS destroy -r $TESTPOOL/$TESTFS1
+log_must zfs destroy -r $TESTPOOL/$TESTFS1
#setup_recursive_send
datasets="$TESTPOOL/$TESTFS1 $TESTPOOL/$TESTFS1/$TESTFS2
$TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3"
# create nested datasets
-log_must $ZFS create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
+log_must zfs create -p $TESTPOOL/$TESTFS1/$TESTFS2/$TESTFS3
# verify dataset creation
for ds in $datasets; do
datasetexists $ds || log_fail "Create $ds dataset fail."
done
for ds in $datasets; do
- log_must $DD if=/dev/urandom of=/$ds/file64 \
+ log_must dd if=/dev/urandom of=/$ds/file64 \
bs=1M count=64
done
# create recursive nested snapshot
-log_must $ZFS snapshot -r $TESTPOOL/$TESTFS1@snap64
+log_must zfs snapshot -r $TESTPOOL/$TESTFS1@snap64
for ds in $datasets; do
datasetexists $ds@snap64 || log_fail "Create $ds@snap64 snapshot fail."
done
-recursive_size=$($ZFS send -R $full_snapshot 2>&1 | wc -c)
+recursive_size=$(zfs send -R $full_snapshot 2>&1 | wc -c)
log_note "verify zfs send -Rnv for recursive send"
options="-Rnv"
refer_size=$(get_prop refer $full_snapshot)
-refer_size=$($ECHO "$refer_size * 3" | bc)
+refer_size=$(echo "$refer_size * 3" | bc)
estimate_size=$(get_estimate_size $full_snapshot $options)
log_must verify_size_estimates $options $recursive_size
function cleanup
{
- $ZFS destroy -rf $TESTPOOL/fs
- $ZFS destroy -rf $TESTPOOL/recvfs
- $RM $streamfile
- $RM $vdev
- $ZPOOL destroy testpool
+ zfs destroy -rf $TESTPOOL/fs
+ zfs destroy -rf $TESTPOOL/recvfs
+ rm $streamfile
+ rm $vdev
+ zpool destroy testpool
}
test_pool ()
{
POOL=$1
- log_must $ZFS create -o recordsize=512 $POOL/fs
+ log_must zfs create -o recordsize=512 $POOL/fs
mntpnt=$(get_prop mountpoint "$POOL/fs")
- log_must $DD if=/dev/urandom of=${mntpnt}/file bs=512 count=1 2>/dev/null
+ log_must dd if=/dev/urandom of=${mntpnt}/file bs=512 count=1 2>/dev/null
first_object=$(ls -i $mntpnt | awk '{print $1}')
- log_must $ZFS snapshot $POOL/fs@a
+ log_must zfs snapshot $POOL/fs@a
while true; do
- log_must $FIND $mntpnt/* -delete
+ log_must find $mntpnt/* -delete
sync
- log_must $MKFILES "$mntpnt/" 4000
+ log_must mkfiles "$mntpnt/" 4000
FILE=$(ls -i $mntpnt | awk \
'{if ($1 == '$first_object') {print $2}}')
if [[ -n "$FILE" ]]; then
break
fi
done
- $DD if=/dev/urandom of=${mntpnt}/$FILE bs=512 count=1 seek=1 2>/dev/null
+ dd if=/dev/urandom of=${mntpnt}/$FILE bs=512 count=1 seek=1 2>/dev/null
- log_must $ZFS snapshot $POOL/fs@b
+ log_must zfs snapshot $POOL/fs@b
- log_must eval "$ZFS send $POOL/fs@a > $streamfile"
- $CAT $streamfile | log_must $ZFS receive $POOL/recvfs
+ log_must eval "zfs send $POOL/fs@a > $streamfile"
+ cat $streamfile | log_must zfs receive $POOL/recvfs
- log_must eval "$ZFS send -i @a $POOL/fs@b > $streamfile"
- $CAT $streamfile | log_must $ZFS receive $POOL/recvfs
+ log_must eval "zfs send -i @a $POOL/fs@b > $streamfile"
+ cat $streamfile | log_must zfs receive $POOL/recvfs
recv_mntpnt=$(get_prop mountpoint "$POOL/recvfs")
- log_must $DIFF -r $mntpnt $recv_mntpnt
- log_must $ZFS destroy -rf $POOL/fs
- log_must $ZFS destroy -rf $POOL/recvfs
+ log_must diff -r $mntpnt $recv_mntpnt
+ log_must zfs destroy -rf $POOL/fs
+ log_must zfs destroy -rf $POOL/recvfs
}
test_pool $TESTPOOL
-log_must $TRUNCATE --size=1G $vdev
-log_must $ZPOOL create -o version=1 testpool $vdev
+log_must truncate --size=1G $vdev
+log_must zpool create -o version=1 testpool $vdev
test_pool testpool
-log_must $ZPOOL destroy testpool
-log_must $ZPOOL create -d testpool $vdev
+log_must zpool destroy testpool
+log_must zpool create -d testpool $vdev
test_pool testpool
-log_must $ZPOOL destroy testpool
+log_must zpool destroy testpool
log_pass "'zfs send' drills appropriate holes"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
while (( i < ${#dataset[@]} )); do
j=0
while (( j < ${#values[@]} )); do
- log_mustnot $ZFS set $propname=${values[j]} ${dataset[i]}
+ log_mustnot zfs set $propname=${values[j]} ${dataset[i]}
(( j += 1 ))
done
(( i += 1 ))
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
function cleanup
{
if snapexists $TESTPOOL/$TESTFS@$TESTSNAP ; then
- log_must $ZFS destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
+ log_must zfs destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
fi
if snapexists $TESTPOOL/$TESTVOL@$TESTSNAP ; then
- log_must $ZFS destroy -R $TESTPOOL/$TESTVOL@$TESTSNAP
+ log_must zfs destroy -R $TESTPOOL/$TESTVOL@$TESTSNAP
fi
[[ -n $old_ctr_canmount ]] && \
- log_must $ZFS set canmount=$old_ctr_canmount $TESTPOOL/$TESTCTR
+ log_must zfs set canmount=$old_ctr_canmount $TESTPOOL/$TESTCTR
[[ -n $old_fs_canmount ]] && \
- log_must $ZFS set canmount=$old_fs_canmount $TESTPOOL/$TESTFS
+ log_must zfs set canmount=$old_fs_canmount $TESTPOOL/$TESTFS
- $ZFS unmount -a > /dev/null 2>&1
- log_must $ZFS mount -a
+ zfs unmount -a > /dev/null 2>&1
+ log_must zfs mount -a
}
log_assert "Setting a valid property of canmount to file system, it must be successful."
[[ $? != 0 ]] && \
log_fail "Get the $TESTPOOL/$TESTCTR canmount error."
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
-log_must $ZFS snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
-log_must $ZFS clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
-log_must $ZFS clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
+log_must zfs clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
+log_must zfs clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
for dataset in "${dataset_pos[@]}" ; do
for value in "${values[@]}" ; do
set_n_check_prop "$value" "canmount" "$dataset"
if [[ $value == "off" ]]; then
log_mustnot ismounted $dataset
- log_mustnot $ZFS mount $dataset
+ log_mustnot zfs mount $dataset
log_mustnot ismounted $dataset
else
if ! ismounted $dataset ; then
- log_must $ZFS mount $dataset
+ log_must zfs mount $dataset
fi
log_must ismounted $dataset
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while (( i < ${#dataset_pos[*]} )); do
ds=${dataset_pos[i]}
if datasetexists $ds; then
- log_must $ZFS set mountpoint=${old_mnt[i]} $ds
- log_must $ZFS set canmount=${old_canmount[i]} $ds
+ log_must zfs set mountpoint=${old_mnt[i]} $ds
+ log_must zfs set canmount=${old_canmount[i]} $ds
fi
(( i = i + 1 ))
done
ds=$TESTPOOL/$TESTCLONE
if datasetexists $ds; then
mntp=$(get_prop mountpoint $ds)
- log_must $ZFS destroy $ds
+ log_must zfs destroy $ds
if [[ -d $mntp ]]; then
- $RM -fr $mntp
+ rm -fr $mntp
fi
fi
if snapexists $TESTPOOL/$TESTFS@$TESTSNAP ; then
- log_must $ZFS destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
+ log_must zfs destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
fi
if snapexists $TESTPOOL/$TESTVOL@$TESTSNAP ; then
- log_must $ZFS destroy -R $TESTPOOL/$TESTVOL@$TESTSNAP
+ log_must zfs destroy -R $TESTPOOL/$TESTVOL@$TESTSNAP
fi
- $ZFS unmount -a > /dev/null 2>&1
- log_must $ZFS mount -a
+ zfs unmount -a > /dev/null 2>&1
+ log_must zfs mount -a
if [[ -d $tmpmnt ]]; then
- $RM -fr $tmpmnt
+ rm -fr $tmpmnt
fi
}
typeset tmpmnt=/tmpmount$$
typeset ds
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
-log_must $ZFS snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
-log_must $ZFS clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
-log_must $ZFS clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
+log_must zfs clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
+log_must zfs clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
typeset -i i=0
while (( i < ${#dataset_pos[*]} )); do
while (( i < ${#dataset_pos[*]} )) ; do
dataset=${dataset_pos[i]}
set_n_check_prop "noauto" "canmount" "$dataset"
- log_must $ZFS set mountpoint=$tmpmnt $dataset
+ log_must zfs set mountpoint=$tmpmnt $dataset
if ismounted $dataset; then
- $ZFS unmount -a > /dev/null 2>&1
+ zfs unmount -a > /dev/null 2>&1
log_must mounted $dataset
- log_must $ZFS unmount $dataset
+ log_must zfs unmount $dataset
log_must unmounted $dataset
- log_must $ZFS mount -a
+ log_must zfs mount -a
log_must unmounted $dataset
else
- log_must $ZFS mount -a
+ log_must zfs mount -a
log_must unmounted $dataset
- $ZFS unmount -a > /dev/null 2>&1
+ zfs unmount -a > /dev/null 2>&1
log_must unmounted $dataset
fi
- log_must $ZFS mount $dataset
+ log_must zfs mount $dataset
log_must mounted $dataset
- log_must $ZFS set canmount="${old_canmount[i]}" $dataset
- log_must $ZFS set mountpoint="${old_mnt[i]}" $dataset
+ log_must zfs set canmount="${old_canmount[i]}" $dataset
+ log_must zfs set mountpoint="${old_mnt[i]}" $dataset
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while (( i < ${#dataset_pos[*]} )); do
ds=${dataset_pos[i]}
if datasetexists $ds; then
- log_must $ZFS set mountpoint=${old_mnt[i]} $ds
- log_must $ZFS set canmount=${old_canmount[i]} $ds
+ log_must zfs set mountpoint=${old_mnt[i]} $ds
+ log_must zfs set canmount=${old_canmount[i]} $ds
fi
(( i = i + 1 ))
done
ds=$TESTPOOL/$TESTCLONE
if datasetexists $ds; then
mntp=$(get_prop mountpoint $ds)
- log_must $ZFS destroy $ds
+ log_must zfs destroy $ds
if [[ -d $mntp ]]; then
- log_must $RM -fr $mntp
+ log_must rm -fr $mntp
fi
fi
if snapexists $TESTPOOL/$TESTFS@$TESTSNAP ; then
- log_must $ZFS destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
+ log_must zfs destroy -R $TESTPOOL/$TESTFS@$TESTSNAP
fi
- $ZFS unmount -a > /dev/null 2>&1
- log_must $ZFS mount -a
+ zfs unmount -a > /dev/null 2>&1
+ log_must zfs mount -a
}
log_assert "While canmount=noauto and the dataset is mounted,"\
typeset ds
typeset pwd=$PWD
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
-log_must $ZFS clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
typeset -i i=0
while (( i < ${#dataset_pos[*]} )); do
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- log_must $ZFS destroy -rR $CS_FS
+ log_must zfs destroy -rR $CS_FS
}
function assert_unmounted
oldmpt=$TESTDIR/old_cs_fs.$$
newmpt=$TESTDIR/new_cs_fs.$$
-log_must $ZFS create -o canmount=noauto -o mountpoint=$oldmpt $CS_FS
+log_must zfs create -o canmount=noauto -o mountpoint=$oldmpt $CS_FS
assert_unmounted
for n in ${sharenfs_prop[@]}; do
- log_must $ZFS set sharenfs="$n" $CS_FS
+ log_must zfs set sharenfs="$n" $CS_FS
assert_unmounted
for s in ${sharesmb_prop[@]}; do
- log_must $ZFS set sharesmb="$s" $CS_FS
+ log_must zfs set sharesmb="$s" $CS_FS
assert_unmounted
mntpt=$(get_prop mountpoint $CS_FS)
if [[ "$mntpt" == "$oldmpt" ]]; then
- log_must $ZFS set mountpoint="$newmpt" $CS_FS
+ log_must zfs set mountpoint="$newmpt" $CS_FS
else
- log_must $ZFS set mountpoint="$oldmpt" $CS_FS
+ log_must zfs set mountpoint="$oldmpt" $CS_FS
fi
assert_unmounted
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS set mountpoint=$old_ctr_mpt $TESTPOOL/$TESTCTR
- log_must $ZFS set mountpoint=$old_fs_mpt $TESTPOOL/$TESTFS
- [[ -d $TESTDIR2 ]] && log_must $RM -r $TESTDIR2
- [[ -d $TESTDIR_NOTEXISTING ]] && log_must $RM -r $TESTDIR_NOTEXISTING
+ log_must zfs set mountpoint=$old_ctr_mpt $TESTPOOL/$TESTCTR
+ log_must zfs set mountpoint=$old_fs_mpt $TESTPOOL/$TESTFS
+ [[ -d $TESTDIR2 ]] && log_must rm -r $TESTDIR2
+ [[ -d $TESTDIR_NOTEXISTING ]] && log_must rm -r $TESTDIR_NOTEXISTING
}
log_assert "Setting a valid mountpoint to file system, it must be successful."
log_fail "Get the $TESTPOOL/$TESTCTR mountpoint error."
if [[ ! -d $TESTDIR2 ]]; then
- log_must $MKDIR $TESTDIR2
+ log_must mkdir $TESTDIR2
fi
typeset -i i=0
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS set mountpoint=$old_ctr_mpt $TESTPOOL/$TESTCTR
- log_must $ZFS set mountpoint=$old_fs_mpt $TESTPOOL/$TESTFS
- log_must $ZFS mount -a
- [[ -d $TESTDIR2 ]] && log_must $RM -r $TESTDIR2
- [[ -d $TESTDIR_NOTEXISTING ]] && log_must $RM -r $TESTDIR_NOTEXISTING
+ log_must zfs set mountpoint=$old_ctr_mpt $TESTPOOL/$TESTCTR
+ log_must zfs set mountpoint=$old_fs_mpt $TESTPOOL/$TESTFS
+ log_must zfs mount -a
+ [[ -d $TESTDIR2 ]] && log_must rm -r $TESTDIR2
+ [[ -d $TESTDIR_NOTEXISTING ]] && log_must rm -r $TESTDIR_NOTEXISTING
}
log_assert "Setting a valid mountpoint for an unmounted file system, \
log_fail "Unable to get the mountpoint property for $TESTPOOL/$TESTCTR"
if [[ ! -d $TESTDIR2 ]]; then
- log_must $MKDIR $TESTDIR2
+ log_must mkdir $TESTDIR2
fi
typeset -i i=0
while (( i < ${#dataset[@]} )); do
j=0
if ismounted ${dataset[i]} ; then
- log_must $ZFS unmount ${dataset[i]}
+ log_must zfs unmount ${dataset[i]}
fi
log_mustnot ismounted ${dataset[i]}
while (( j < ${#values[@]} )); do
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- ismounted $tmpmnt && log_must $UMOUNT $tmpmnt
- [[ -d $tmpmnt ]] && log_must $RM -rf $tmpmnt
- [[ -n $oldmpt ]] && log_must $ZFS set mountpoint=$oldmpt $testfs
- ! ismounted $oldmpt && log_must $ZFS mount $testfs
+ ismounted $tmpmnt && log_must umount $tmpmnt
+ [[ -d $tmpmnt ]] && log_must rm -rf $tmpmnt
+ [[ -n $oldmpt ]] && log_must zfs set mountpoint=$oldmpt $testfs
+ ! ismounted $oldmpt && log_must zfs mount $testfs
}
log_assert "With legacy mount, FSType-specific option works well."
fi
tmpmnt=/tmpmnt.$$
-[[ -d $tmpmnt ]] && $RM -rf $tmpmnt
+[[ -d $tmpmnt ]] && rm -rf $tmpmnt
testfs=$TESTPOOL/$TESTFS
-log_must $MKDIR $tmpmnt
+log_must mkdir $tmpmnt
oldmpt=$(get_prop mountpoint $testfs)
-log_must $ZFS set mountpoint=legacy $testfs
+log_must zfs set mountpoint=legacy $testfs
typeset i=0
while ((i < ${#args[@]})); do
if is_linux; then
- log_must $MOUNT -t zfs -o ${args[$i]} $testfs $tmpmnt
+ log_must mount -t zfs -o ${args[$i]} $testfs $tmpmnt
- msg=$($MOUNT | $GREP "$tmpmnt ")
+ msg=$(mount | grep "$tmpmnt ")
- $ECHO $msg | $GREP "${args[((i))]}" > /dev/null 2>&1
+ echo $msg | grep "${args[((i))]}" > /dev/null 2>&1
if (($? != 0)) ; then
- $ECHO $msg | $GREP "${args[((i-1))]}" > /dev/null 2>&1
+ echo $msg | grep "${args[((i-1))]}" > /dev/null 2>&1
if (($? == 0)) ; then
log_fail "Expected option: ${args[((i))]} \n" \
"Real option: $msg"
fi
fi
- log_must $UMOUNT $tmpmnt
+ log_must umount $tmpmnt
((i += 1))
else
- log_must $MOUNT -F zfs -o ${args[$i]} $testfs $tmpmnt
+ log_must mount -F zfs -o ${args[$i]} $testfs $tmpmnt
- msg=$($MOUNT | $GREP "^$tmpmnt ")
+ msg=$(mount | grep "^$tmpmnt ")
# In LZ, a user with all zone privileges can never "devices"
if ! is_global_zone && [[ ${args[$i]} == devices ]] ; then
args[((i+1))]="/nodevices/"
fi
- $ECHO $msg | $GREP "${args[((i+1))]}" > /dev/null 2>&1
+ echo $msg | grep "${args[((i+1))]}" > /dev/null 2>&1
if (($? != 0)) ; then
log_fail "Expected option: ${args[((i+1))]} \n" \
"Real option: $msg"
fi
- log_must $UMOUNT $tmpmnt
+ log_must umount $tmpmnt
((i += 2))
fi
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
function cleanup
{
- log_must $ZFS mount -a
+ log_must zfs mount -a
}
log_onexit cleanup
typeset chkprop=$4
typeset getval
- log_must $ZFS set $setprop=$setval $ds
+ log_must zfs set $setprop=$setval $ds
if [[ $setval == "gzip-6" ]]; then
setval="gzip"
fi
for ds in $pool $fs $vol; do
for propname in ${ro_prop[*]}; do
- $ZFS get -pH -o value $propname $ds >/dev/null 2>&1
+ zfs get -pH -o value $propname $ds >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "Get the property $proname of $ds failed."
done
done
if [[ $ds == $vol ]]; then
for propname in "volblocksize" "volblock" ; do
- $ZFS get -pH -o value $propname $ds >/dev/null 2>&1
+ zfs get -pH -o value $propname $ds >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "Get the property $propname of $ds failed."
done
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
{
for dataset in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL ; do
snapexists ${dataset}@$TESTSNAP && \
- log_must $ZFS destroy -R ${dataset}@$TESTSNAP
+ log_must zfs destroy -R ${dataset}@$TESTSNAP
done
}
if [[ $fstype == "filesystem" ]] ; then
typeset mtpt=$(get_prop mountpoint $dataset)
- log_must $TOUCH $mtpt/$TESTFILE0
- log_must $MKDIR -p $mtpt/$TESTDIR0
+ log_must touch $mtpt/$TESTFILE0
+ log_must mkdir -p $mtpt/$TESTDIR0
fi
}
if [[ $fstype == "filesystem" ]] ; then
typeset mtpt=$(get_prop mountpoint $dataset)
- log_must $RM -f $mtpt/$TESTFILE0
- log_must $RM -rf $mtpt/$TESTDIR0
+ log_must rm -f $mtpt/$TESTFILE0
+ log_must rm -rf $mtpt/$TESTDIR0
fi
}
case $fstype in
filesystem)
typeset mtpt=$(get_prop mountpoint $dataset)
- $expect $TOUCH $mtpt/$TESTFILE1
- $expect $MKDIR -p $mtpt/$TESTDIR1
- $expect eval "$ECHO 'y' | $RM $mtpt/$TESTFILE0"
- $expect $RMDIR $mtpt/$TESTDIR0
+ $expect touch $mtpt/$TESTFILE1
+ $expect mkdir -p $mtpt/$TESTDIR1
+ $expect eval "echo 'y' | rm $mtpt/$TESTFILE0"
+ $expect rmdir $mtpt/$TESTDIR0
if [[ $expect == "log_must" ]] ; then
- log_must eval "$ECHO 'y' | $RM $mtpt/$TESTFILE1"
- log_must $RMDIR $mtpt/$TESTDIR1
- log_must $TOUCH $mtpt/$TESTFILE0
- log_must $MKDIR -p $mtpt/$TESTDIR0
+ log_must eval "echo 'y' | rm $mtpt/$TESTFILE1"
+ log_must rmdir $mtpt/$TESTDIR1
+ log_must touch $mtpt/$TESTFILE0
+ log_must mkdir -p $mtpt/$TESTDIR0
fi
;;
volume)
- $expect eval "$ECHO 'y' | $NEWFS \
+ $expect eval "echo 'y' | newfs \
${ZVOL_DEVDIR}/$dataset > /dev/null 2>&1"
;;
*)
typeset all_datasets
-log_must $ZFS mount -a
+log_must zfs mount -a
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
-log_must $ZFS clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
+log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+log_must zfs clone $TESTPOOL/$TESTFS@$TESTSNAP $TESTPOOL/$TESTCLONE
if is_global_zone ; then
- log_must $ZFS snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
- log_must $ZFS clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
+ log_must zfs snapshot $TESTPOOL/$TESTVOL@$TESTSNAP
+ log_must zfs clone $TESTPOOL/$TESTVOL@$TESTSNAP $TESTPOOL/$TESTCLONE1
all_datasets="$TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL "
all_datasets+="$TESTPOOL/$TESTCLONE $TESTPOOL/$TESTCLONE1"
else
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
j=0
while (( $j < ${#suffix[*]} )); do
- $ZFS set \
+ zfs set \
reservation=${values[$i]}${suffix[$j]} $obj \
> /dev/null 2>&1
if [ $? -eq 0 ]
then
- log_note "$ZFS set \
+ log_note "zfs set \
reservation=${values[$i]}${suffix[$j]} $obj"
log_fail "The above reservation set returned 0!"
fi
sharenfs checksum compression compress atime devices exec readonly rdonly \
setuid zoned"
-$ZFS upgrade -v > /dev/null 2>&1
+zfs upgrade -v > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
snap_ro_props="$snap_ro_props version"
fi
create_snapshot $TESTPOOL/$TESTFS $TESTSNAP
create_snapshot $TESTPOOL/$TESTVOL $TESTSNAP
sync_pool $TESTPOOL
-$SLEEP 5
+sleep 5
typeset -i i=0
typeset -i j=0
# equal to values[j].
#
if [[ $cur_value == ${values[j]} ]]; then
- log_mustnot $ZFS set $prop=${values[j]} \
+ log_mustnot zfs set $prop=${values[j]} \
${dataset[i]}
else
set_n_check_prop ${values[j]} $prop \
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
function cleanup
{
- log_must $ZFS set mountpoint=$oldmpt $fs
+ log_must zfs set mountpoint=$oldmpt $fs
}
log_assert "Verify that we cannot share or mount legacy filesystems."
oldmpt=$(get_prop mountpoint $fs)
for propval in "legacy" "none"; do
- log_must $ZFS set mountpoint=$propval $fs
+ log_must zfs set mountpoint=$propval $fs
- log_mustnot $ZFS mount $fs
- log_mustnot $ZFS share $fs
+ log_mustnot zfs mount $fs
+ log_mustnot zfs share $fs
done
log_pass "We cannot share or mount legacy filesystems as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
{
for dataset in $all_datasets; do
snapexists ${dataset}@snap && \
- log_must $ZFS destroy ${dataset}@snap
+ log_must zfs destroy ${dataset}@snap
done
}
typeset mtpt=$(get_prop mountpoint $dataset)
typeset name
- for name in `$LS -a $mtpt`; do
+ for name in `ls -a $mtpt`; do
if [[ $name == ".zfs" ]]; then
if [[ $value == "visible" ]]; then
return 0
log_onexit cleanup
for dataset in $all_datasets; do
- log_must $ZFS snapshot ${dataset}@snap
+ log_must zfs snapshot ${dataset}@snap
done
log_assert "Setting a valid snapdir property on a dataset succeeds."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
typeset value=$(user_property_value $len)
for dtst in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL; do
- log_must eval "$ZFS set $user_prop='$value' $dtst"
+ log_must eval "zfs set $user_prop='$value' $dtst"
log_must eval "check_user_prop $dtst $user_prop '$value'"
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
function cleanup
{
- datasetexists $new_vol && log_must $ZFS rename $new_vol $vol
+ datasetexists $new_vol && log_must zfs rename $new_vol $vol
typeset dtst
for dtst in $new_fsclone $new_volclone $fsclone $volclone \
$fssnap $volsnap; do
if datasetexists $dtst; then
- log_must $ZFS destroy -f $dtst
+ log_must zfs destroy -f $dtst
fi
done
pool=$TESTPOOL; fs=$pool/$TESTFS; vol=$pool/$TESTVOL
fssnap=$fs@snap; volsnap=$vol@snap;
-log_must $ZFS snapshot $fssnap
-log_must $ZFS snapshot $volsnap
+log_must zfs snapshot $fssnap
+log_must zfs snapshot $volsnap
fsclone=$pool/fsclone; volclone=$pool/volclone
-log_must $ZFS clone $fssnap $fsclone
-log_must $ZFS clone $volsnap $volclone
+log_must zfs clone $fssnap $fsclone
+log_must zfs clone $volsnap $volclone
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
-log_must eval "$ZFS set $prop_name='$value' $pool"
+log_must eval "zfs set $prop_name='$value' $pool"
log_must eval "check_user_prop $pool $prop_name '$value'"
log_must inherit_check $prop_name $pool $fs $vol $fsclone $volclone
new_fsclone=$fs/fsclone; new_volclone=$fs/volclone
-log_must $ZFS rename $fsclone $new_fsclone
-log_must $ZFS rename $volclone $new_volclone
+log_must zfs rename $fsclone $new_fsclone
+log_must zfs rename $volclone $new_volclone
log_must inherit_check $prop_name $pool $fs $new_fsclone $new_volclone
log_note "Set intermediate dataset will change the inherited relationship."
new_value=$(user_property_value 16)
-log_must eval "$ZFS set $prop_name='$new_value' $fs"
+log_must eval "zfs set $prop_name='$new_value' $fs"
log_must eval "check_user_prop $fs $prop_name '$new_value'"
log_must inherit_check $prop_name $fs $new_fsclone $new_volclone
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
typeset value=$(user_property_value $len)
for dtst in $TESTPOOL $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL ; do
- log_mustnot $ZFS set $user_prop=$value $dtst
+ log_mustnot zfs set $user_prop=$value $dtst
log_mustnot check_user_prop $dtst \"$user_prop\" \"$value\"
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL ; do
typeset fssnap=$fs@snap
if datasetexists $fssnap ; then
- log_must $ZFS destroy -f $fssnap
+ log_must zfs destroy -f $fssnap
fi
done
cleanup_user_prop $TESTPOOL
typeset snap_property=
-$ZPOOL upgrade -v | $GREP "Snapshot properties" > /dev/null 2>&1
+zpool upgrade -v | grep "Snapshot properties" > /dev/null 2>&1
if (( $? == 0 )) ; then
snap_property="true"
fi
typeset fssnap=$fs@snap
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
- log_must eval "$ZFS set $prop_name='$value' $fs"
+ log_must eval "zfs set $prop_name='$value' $fs"
log_must eval "check_user_prop $fs $prop_name '$value'"
- log_must $ZFS snapshot $fssnap
+ log_must zfs snapshot $fssnap
if [[ -n $snap_property ]] ; then
log_mustnot nonexist_user_prop $prop_name $fssnap
- log_must eval "$ZFS set $prop_name='$value' $fssnap"
+ log_must eval "zfs set $prop_name='$value' $fssnap"
log_mustnot nonexist_user_prop $prop_name $fssnap
else
log_must nonexist_user_prop $prop_name $fssnap
- log_mustnot eval "$ZFS set $prop_name='$value' $fssnap"
+ log_mustnot eval "zfs set $prop_name='$value' $fssnap"
log_must nonexist_user_prop $prop_name $fssnap
fi
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
orig_val=$(get_prop version $obj)
while (($i < ${#values[*]})); do
- $ZFS set version=${values[$i]} $obj > /dev/null 2>&1
+ zfs set version=${values[$i]} $obj > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
- log_note "$ZFS set version=${values[$i]} $obj"
+ log_note "zfs set version=${values[$i]} $obj"
log_fail "The above version set returned 0!"
fi
#
#
-# Copyright (c) 2011 by Delphix. All rights reserved.
+# Copyright (c) 2011, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
$TESTPOOL/$TESTFS@$TESTSNAP; do
for badarg in "" "-" "-?"; do
for prop in ${editable_props[@]}; do
- log_mustnot eval "$ZFS set $badarg $prop= $ds >/dev/null 2>&1"
+ log_mustnot eval "zfs set $badarg $prop= $ds >/dev/null 2>&1"
done
done
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
function cleanup
{
if [ -e $badpath ]; then
- $RM -f $badpath
+ rm -f $badpath
fi
if datasetexists $TESTPOOL/foo; then
- log_must $ZFS destroy $TESTPOOL/foo
+ log_must zfs destroy $TESTPOOL/foo
fi
}
log_onexit cleanup
badpath=/tmp/foo1.$$
-$TOUCH $badpath
+touch $badpath
longpath=$(gen_dataset_name 1030 "abcdefg")
-log_must $ZFS create -o mountpoint=legacy $TESTPOOL/foo
+log_must zfs create -o mountpoint=legacy $TESTPOOL/foo
# Do the negative testing about "property may be set but unable to remount filesystem"
-log_mustnot eval "$ZFS set mountpoint=$badpath $TESTPOOL/foo >/dev/null 2>&1"
+log_mustnot eval "zfs set mountpoint=$badpath $TESTPOOL/foo >/dev/null 2>&1"
# Do the negative testing about "property may be set but unable to reshare filesystem"
-log_mustnot eval "$ZFS set sharenfs=on $TESTPOOL/foo >/dev/null 2>&1"
+log_mustnot eval "zfs set sharenfs=on $TESTPOOL/foo >/dev/null 2>&1"
# Do the negative testing about "sharenfs property can not be set to null"
-log_mustnot eval "$ZFS set sharenfs= $TESTPOOL/foo >/dev/null 2>&1"
+log_mustnot eval "zfs set sharenfs= $TESTPOOL/foo >/dev/null 2>&1"
# Do the too long pathname testing (>1024)
-log_mustnot eval "$ZFS set mountpoint=/$longpath $TESTPOOL/foo >/dev/null 2>&1"
+log_mustnot eval "zfs set mountpoint=/$longpath $TESTPOOL/foo >/dev/null 2>&1"
log_pass "'zfs set mountpoint/sharenfs' fails with invalid scenarios as expected."
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
[[ -z $prop || -z $dataset ]] && \
log_fail "property or dataset isn't defined."
- log_must $ZFS set $prop=$expect_value $dataset
+ log_must zfs set $prop=$expect_value $dataset
if [[ $expect_value == "gzip-6" ]]; then
expect_value="gzip"
fi
esac
else
- log_mustnot $ZFS set $prop=$expect_value $dataset
+ log_mustnot zfs set $prop=$expect_value $dataset
[[ -n $prop ]] && cur_value=$(get_prop $prop $dataset)
function cleanup_user_prop
{
typeset pool=$1
- typeset dtst=$($ZFS list -H -r -o name -t filesystem,volume $pool)
+ typeset dtst=$(zfs list -H -r -o name -t filesystem,volume $pool)
typeset user_prop
for dt in $dtst; do
- user_prop=$($ZFS get -H -o property all $dtst | grep ":")
+ user_prop=$(zfs get -H -o property all $dtst | grep ":")
typeset prop
for prop in $user_prop; do
- $ZFS inherit $prop $dt
- (($? != 0)) && log_must $ZFS inherit $prop $dt
+ zfs inherit $prop $dt
+ (($? != 0)) && log_must zfs inherit $prop $dt
done
done
}
((i += 1))
done
- $ECHO "$str"
+ echo "$str"
}
#
break
done
- $ECHO "${part1}:${part2}"
+ echo "${part1}:${part2}"
}
#
break
done
- $ECHO "${part1}${part2}"
+ echo "${part1}${part2}"
}
#
typeset value=$(random_string ALL_CHAR $len)
- $ECHO "$value"
+ echo "$value"
}
#
typeset dtst=$1
typeset user_prop="$2"
typeset expect_value="$3"
- typeset value=$($ZFS get -p -H -o value "$user_prop" $dtst 2>&1)
+ typeset value=$(zfs get -p -H -o value "$user_prop" $dtst 2>&1)
if [[ "$expect_value" == "$value" ]]; then
return 0
typeset dataset=$2
typeset source
- source=$($ZFS get -H -o source $prop $dataset)
+ source=$(zfs get -H -o source $prop $dataset)
if (($? != 0)); then
log_fail "Unable to get $prop source for dataset $dataset"
fi
- $ECHO "$source"
+ echo "$source"
}
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
typeset -i i=0
while (( i < ${#fs[*]} )); do
- log_must $ZFS set sharenfs=off ${fs[((i+1))]}
+ log_must zfs set sharenfs=off ${fs[((i+1))]}
unshare_fs ${fs[i]}
((i = i + 2))
done
if mounted $TESTPOOL/$TESTFS-clone; then
- log_must $ZFS unmount $TESTDIR2
+ log_must zfs unmount $TESTDIR2
fi
datasetexists $TESTPOOL/$TESTFS-clone && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS-clone
+ log_must zfs destroy -f $TESTPOOL/$TESTFS-clone
if snapexists "$TESTPOOL/$TESTFS@snapshot"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS@snapshot
+ log_must zfs destroy -f $TESTPOOL/$TESTFS@snapshot
fi
}
not_shared $mntp || \
log_fail "File system $filesystem is already shared."
- log_must $ZFS set sharenfs=on $filesystem
+ log_must zfs set sharenfs=on $filesystem
is_shared $mntp || \
log_fail "File system $filesystem is not shared (set sharenfs)."
#
# Verify 'zfs share' works as well.
#
- log_must $ZFS unshare $filesystem
+ log_must zfs unshare $filesystem
is_shared $mntp && \
log_fail "File system $filesystem is still shared."
- log_must $ZFS share $filesystem
+ log_must zfs share $filesystem
is_shared $mntp || \
log_fail "file system $filesystem is not shared (zfs share)."
log_note "Sharing a shared file system fails."
- log_mustnot $ZFS share $filesystem
+ log_mustnot zfs share $filesystem
}
log_assert "Verify that 'zfs share' succeeds as root."
log_onexit cleanup
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snapshot
-log_must $ZFS clone $TESTPOOL/$TESTFS@snapshot $TESTPOOL/$TESTFS-clone
-log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL/$TESTFS-clone
+log_must zfs snapshot $TESTPOOL/$TESTFS@snapshot
+log_must zfs clone $TESTPOOL/$TESTFS@snapshot $TESTPOOL/$TESTFS-clone
+log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL/$TESTFS-clone
typeset -i i=0
while (( i < ${#fs[*]} )); do
#
# Try a zfs share -a and verify all file systems are shared.
#
-log_must $ZFS share -a
+log_must zfs share -a
i=0
while (( i < ${#fs[*]} )); do
((i = i + 2))
done
-log_pass "'$ZFS share [ -a ] <filesystem>' succeeds as root."
+log_pass "'zfs share [ -a ] <filesystem>' succeeds as root."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_onexit cleanup
-log_mustnot $ZFS list $TESTPOOL/$NONEXISTFSNAME
+log_mustnot zfs list $TESTPOOL/$NONEXISTFSNAME
-$ZFS share $TESTPOOL/$NONEXISTFSNAME
+zfs share $TESTPOOL/$NONEXISTFSNAME
ret=$?
(( ret == 1)) || \
- log_fail "'$ZFS share $TESTPOOL/$NONEXISTFSNAME' " \
+ log_fail "'zfs share $TESTPOOL/$NONEXISTFSNAME' " \
"failed with an unexpected return code of $ret."
log_note "Make sure the file system $TESTPOOL/$NONEXISTFSNAME is unshared"
not_shared $TESTPOOL/$NONEXISTFSNAME || \
log_fail "File system $TESTPOOL/$NONEXISTFSNAME is unexpectedly shared."
-log_pass "'$ZFS share' with a non-existent file system fails."
+log_pass "'zfs share' with a non-existent file system fails."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
typeset -i i=0
while (( i < ${#fs[*]} )); do
- log_must $ZFS inherit -r sharenfs ${fs[((i + 1))]}
+ log_must zfs inherit -r sharenfs ${fs[((i + 1))]}
log_must unshare_fs ${fs[i]}
((i = i + 2))
log_fail "File system $filesystem is already shared."
if is_global_zone ; then
- log_must $ZFS set sharenfs=off $filesystem
+ log_must zfs set sharenfs=off $filesystem
not_shared $mntp || \
log_fail "File system $filesystem is still shared (set sharenfs)."
fi
- $ZFS share $filesystem
+ zfs share $filesystem
ret=$?
(( ret == 1)) || \
- log_fail "'$ZFS share $filesystem' " \
+ log_fail "'zfs share $filesystem' " \
"unexpected return code of $ret."
not_shared $mntp || \
log_fail "file system $filesystem is shared (zfs share)."
}
-log_assert "Verify that '$ZFS share' with a file system " \
+log_assert "Verify that 'zfs share' with a file system " \
"whose sharenfs property is 'off' " \
"will fail with return code 1."
log_onexit cleanup
((i = i + 2))
done
-log_pass "Verify that '$ZFS share' with a file system " \
+log_pass "Verify that 'zfs share' with a file system " \
"whose sharenfs property is 'off' fails."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if snapexists $TESTPOOL/$TESTFS@snapshot; then
- log_must $ZFS destroy $TESTPOOL/$TESTFS@snapshot
+ log_must zfs destroy $TESTPOOL/$TESTFS@snapshot
fi
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
log_must unshare_fs $TESTPOOL/$TESTFS
}
not_shared $mntp || \
log_fail "File system $filesystem is already shared."
- log_must $ZFS set sharenfs=on $filesystem
+ log_must zfs set sharenfs=on $filesystem
is_shared $mntp || \
log_fail "File system $filesystem is not shared (set sharenfs)."
- log_must $LS -l $mntp/$SNAPROOT/snapshot
+ log_must ls -l $mntp/$SNAPROOT/snapshot
#
# Verify 'zfs share' works as well.
#
- log_must $ZFS unshare $filesystem
- log_must $ZFS share $filesystem
+ log_must zfs unshare $filesystem
+ log_must zfs share $filesystem
is_shared $mntp || \
log_fail "file system $filesystem is not shared (zfs share)."
- log_must $LS -l $mntp/$SNAPROOT/snapshot
+ log_must ls -l $mntp/$SNAPROOT/snapshot
}
log_assert "Verify that a file system and its snapshot are shared."
log_onexit cleanup
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snapshot
+log_must zfs snapshot $TESTPOOL/$TESTFS@snapshot
test_snap_share $TESTDIR $TESTPOOL/$TESTFS
log_pass "A file system and its snapshot are both shared as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
is_shared $TESTPOOL/$TESTFS && \
log_must unshare_fs $TESTPOOL/$TESTFS
}
typeset -i i=0
while (( i < ${#shareopts[*]} ))
do
- log_must $ZFS set sharenfs="${shareopts[i]}" $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs="${shareopts[i]}" $TESTPOOL/$TESTFS
option=`get_prop sharenfs $TESTPOOL/$TESTFS`
if [[ $option != ${shareopts[i]} ]]; then
log_fail "get sharenfs failed. ($option != ${shareopts[i]})"
fi
- showshares_nfs | $GREP $option > /dev/null 2>&1
+ showshares_nfs | grep $option > /dev/null 2>&1
if (( $? != 0 )); then
log_fail "The '$option' option was not found in share output."
fi
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTCTR
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTCTR
if mounted $TESTDIR2; then
- log_must $ZFS unmount $TESTDIR2
+ log_must zfs unmount $TESTDIR2
fi
datasetexists $TESTPOOL/$TESTCTR/$TESTFS2 && \
- log_must $ZFS destroy $TESTPOOL/$TESTCTR/$TESTFS2
+ log_must zfs destroy $TESTPOOL/$TESTCTR/$TESTFS2
typeset fs=""
for fs in $mntp $TESTDIR1 $TESTDIR2
not_shared $mntp || \
log_fail "Mountpoint: $mntp is already shared."
- log_must $ZFS set sharenfs=on $ctr
+ log_must zfs set sharenfs=on $ctr
not_shared $mntp || \
log_fail "File system $mntp is shared (set sharenfs)."
# Add a new file system to the dataset and verify it is shared.
#
typeset mntp2=$TESTDIR2
- log_must $ZFS create $ctr/$TESTFS2
- log_must $ZFS set mountpoint=$mntp2 $ctr/$TESTFS2
+ log_must zfs create $ctr/$TESTFS2
+ log_must zfs set mountpoint=$mntp2 $ctr/$TESTFS2
is_shared $mntp2 || \
log_fail "File system $mntp2 was not shared (set sharenfs)."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup {
if is_global_zone; then
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
fi
}
while (( i < ${#badopts[*]} ))
do
log_note "Setting sharenfs=${badopts[i]} $i "
- log_mustnot $ZFS set sharenfs="${badopts[i]}" $TESTPOOL/$TESTFS
+ log_mustnot zfs set sharenfs="${badopts[i]}" $TESTPOOL/$TESTFS
- showshares_nfs | $GREP $option > /dev/null 2>&1
+ showshares_nfs | grep $option > /dev/null 2>&1
if (( $? == 0 )); then
log_fail "An invalid setting '$option' was propagated."
fi
#
if is_global_zone; then
log_note "Resetting sharenfs option"
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
fi
((i = i + 1))
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while (( i < ${#datasets[*]} ))
do
- log_mustnot $ZFS set sharenfs=on ${datasets[i]}
+ log_mustnot zfs set sharenfs=on ${datasets[i]}
option=`get_prop sharenfs ${datasets[i]}`
if [[ $option == ${datasets[i]} ]]; then
not_shared ${datasets[i]} || \
log_fail "An invalid setting '$option' was propagated."
- log_mustnot $ZFS share ${datasets[i]}
+ log_mustnot zfs share ${datasets[i]}
not_shared ${datasets[i]} || \
log_fail "An invalid dataset '${datasets[i]}' was shared."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
val=$(get_prop sharenfs $fs)
if [[ $val == on ]]; then
- log_must $ZFS set sharenfs=off $fs
+ log_must zfs set sharenfs=off $fs
fi
}
sharenfs_val=$(get_prop sharenfs $fs)
mpt=$(get_prop mountpoint $fs)
if [[ $sharenfs_val == off ]]; then
- log_must $ZFS set sharenfs=on $fs
+ log_must zfs set sharenfs=on $fs
fi
-showshares_nfs | $GREP $mpt >/dev/null 2>&1
+showshares_nfs | grep $mpt >/dev/null 2>&1
if (( $? != 0 )); then
- log_must $ZFS share $fs
+ log_must zfs share $fs
fi
-log_mustnot $ZFS share $fs
+log_mustnot zfs share $fs
log_pass "zfs share fails with shared filesystem as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
set -A badargs "A" "-A" "-" "-x" "-?" "=" "-a *" "-a"
for arg in "${badargs[@]}"; do
- log_mustnot eval "$ZFS share $arg $fs >/dev/null 2>&1"
+ log_mustnot eval "zfs share $arg $fs >/dev/null 2>&1"
done
#zfs share failed when missing arguments or invalid datasetname
for obj in "" "/$fs"; do
- log_mustnot eval "$ZFS share $obj >/dev/null 2>&1"
+ log_mustnot eval "zfs share $obj >/dev/null 2>&1"
done
log_pass "zfs share fails with bad parameters as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
log_must cd $origdir
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
unshare_fs $TESTPOOL/$TESTFS
if snapexists "$TESTPOOL/$TESTFS@snapshot"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS@snapshot
+ log_must zfs destroy -f $TESTPOOL/$TESTFS@snapshot
fi
if datasetexists $TESTPOOL/$TESTFS/fs2 ; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS/fs2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS/fs2
fi
}
typeset origdir=$PWD
# unmount fails will not unshare the shared filesystem
-log_must $ZFS set sharenfs=on $TESTPOOL/$TESTFS
+log_must zfs set sharenfs=on $TESTPOOL/$TESTFS
log_must is_shared $TESTDIR
if cd $TESTDIR ; then
- log_mustnot $ZFS umount $TESTPOOL/$TESTFS
+ log_mustnot zfs umount $TESTPOOL/$TESTFS
else
log_fail "cd $TESTDIR fails"
fi
log_must is_shared $TESTDIR
# destroy fails will not unshare the shared filesystem
-log_must $ZFS create $TESTPOOL/$TESTFS/fs2
+log_must zfs create $TESTPOOL/$TESTFS/fs2
if cd $TESTDIR/fs2 ; then
- log_mustnot $ZFS destroy $TESTPOOL/$TESTFS/fs2
+ log_mustnot zfs destroy $TESTPOOL/$TESTFS/fs2
else
log_fail "cd $TESTDIR/fs2 fails"
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for snap in $SNAPFS $SNAPFS1; do
if ! snapexists $snap; then
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
fi
done
while (( i < ${#args[*]} )); do
for snap in ${args[i]}; do
- snapexists $snap && log_must $ZFS destroy -f $snap
+ snapexists $snap && log_must zfs destroy -f $snap
done
(( i = i + 1 ))
done
for mtpt in $SNAPDIR $SNAPDIR1; do
- [[ -d $mtpt ]] && log_must $RM -rf $mtpt
+ [[ -d $mtpt ]] && log_must rm -rf $mtpt
done
return 0
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS snapshot ${args[i]}
+ log_mustnot zfs snapshot ${args[i]}
((i = i + 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
$TESTPOOL/$TESTCTR/$TESTVOL@$TESTSNAP;
do
snapexists $snap && \
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
done
datasetexists $TESTPOOL/$TESTCTR/$TESTVOL && \
- log_must $ZFS destroy -rf $TESTPOOL/$TESTCTR/$TESTVOL
+ log_must zfs destroy -rf $TESTPOOL/$TESTCTR/$TESTVOL
}
"$TESTPOOL/$TESTCTR@$TESTSNAP@$TESTSNAP"
# setup preparations
-log_must $ZFS snapshot $TESTPOOL/$TESTCTR/$TESTFS1@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTCTR/$TESTFS1@$TESTSNAP
# testing
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS snapshot -r ${args[i]}
+ log_mustnot zfs snapshot -r ${args[i]}
((i = i + 1))
done
# Testing the invalid senario: the child volume already has an
# identical name snapshot, zfs snapshot -r should fail when
# creating snapshot with -r for the parent
-log_must $ZFS destroy $TESTPOOL/$TESTCTR/$TESTFS1@$TESTSNAP
+log_must zfs destroy $TESTPOOL/$TESTCTR/$TESTFS1@$TESTSNAP
if is_global_zone; then
- log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTCTR/$TESTVOL
+ log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTCTR/$TESTVOL
else
- log_must $ZFS create $TESTPOOL/$TESTCTR/$TESTVOL
+ log_must zfs create $TESTPOOL/$TESTCTR/$TESTVOL
fi
-log_must $ZFS snapshot $TESTPOOL/$TESTCTR/$TESTVOL@$TESTSNAP
+log_must zfs snapshot $TESTPOOL/$TESTCTR/$TESTVOL@$TESTSNAP
-log_mustnot $ZFS snapshot -r $TESTPOOL/$TESTCTR@$TESTSNAP
+log_mustnot zfs snapshot -r $TESTPOOL/$TESTCTR@$TESTSNAP
log_pass "'zfs snapshot -r' fails with invalid arguments or scenarios as expected."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
for ds in $TESTPOOL/$TESTFS $TESTPOOL/$TESTCTR $TESTPOOL/$TESTVOL; do
for opt in ${badopts[@]}; do
- log_mustnot $ZFS snapshot $opt $ds@$TESTSNAP
+ log_mustnot zfs snapshot $opt $ds@$TESTSNAP
done
- log_mustnot $ZFS snapshot $ds@snap $ds@snap1
- log_mustnot $ZFS snapshot -r $ds@snap $ds@snap1
+ log_mustnot zfs snapshot $ds@snap $ds@snap1
+ log_mustnot zfs snapshot -r $ds@snap $ds@snap1
- log_mustnot $ZFS snapshot $ds@$l_name
- log_mustnot $ZFS snapshot -r $ds@$l_name
+ log_mustnot zfs snapshot $ds@$l_name
+ log_mustnot zfs snapshot -r $ds@$l_name
done
log_pass "'zfs snapshot' fails with bad options or too many arguments as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $initfs ; then
- log_must $ZFS destroy -rf $initfs
+ log_must zfs destroy -rf $initfs
fi
}
basefs=$initfs
typeset -i ret=0 len snaplen
while ((ret == 0)); do
- $ZFS create $basefs
- $ZFS snapshot $basefs@snap1
+ zfs create $basefs
+ zfs snapshot $basefs@snap1
ret=$?
if ((ret != 0)); then
- len=$($ECHO $basefs| $WC -c)
+ len=$(echo $basefs| wc -c)
log_note "The deeply-nested filesystem len: $len"
#
#
if ((len >= 255)); then
if datasetexists $basefs; then
- log_must $ZFS destroy -r $basefs
+ log_must zfs destroy -r $basefs
fi
basefs=${basefs%/*}
- len=$($ECHO $basefs| $WC -c)
+ len=$(echo $basefs| wc -c)
fi
break
fi
# Make snapshot name is longer than the max length
((snaplen = 256 - len + 10))
snap=$(gen_dataset_name $snaplen "s")
-log_mustnot $ZFS snapshot -r $TESTPOOL@$snap
+log_mustnot zfs snapshot -r $TESTPOOL@$snap
log_must datasetnonexists $TESTPOOL@$snap
while [[ $basefs != $TESTPOOL ]]; do
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $initfs ; then
- log_must $ZFS destroy -rf $initfs
+ log_must zfs destroy -rf $initfs
fi
}
basefs=$initfs
typeset -i ret=0 len snaplen
while ((ret == 0)); do
- $ZFS create $basefs
- $ZFS snapshot $basefs@snap1
+ zfs create $basefs
+ zfs snapshot $basefs@snap1
ret=$?
if ((ret != 0)); then
- len=$($ECHO $basefs | $WC -c)
+ len=$(echo $basefs | wc -c)
log_note "The deeply-nested filesystem len: $len"
#
#
if ((len >= 255)); then
if datasetexists $basefs; then
- log_must $ZFS destroy -r $basefs
+ log_must zfs destroy -r $basefs
fi
basefs=${basefs%/*}
- len=$($ECHO $basefs| $WC -c)
+ len=$(echo $basefs| wc -c)
fi
break
fi
# Make snapshot name length match the longest one
((snaplen = 256 - len - 1)) # 1: @
snap=$(gen_dataset_name $snaplen "s")
-log_must $ZFS snapshot $basefs@$snap
+log_must zfs snapshot $basefs@$snap
-log_mustnot $ZFS rename $basefs ${basefs}a
-log_mustnot $ZFS rename $basefs ${basefs}-new
-log_mustnot $ZFS rename $initfs ${initfs}-new
-log_mustnot $ZFS rename $TESTPOOL/$TESTFS $TESTPOOL/$TESTFS-new
+log_mustnot zfs rename $basefs ${basefs}a
+log_mustnot zfs rename $basefs ${basefs}-new
+log_mustnot zfs rename $initfs ${initfs}-new
+log_mustnot zfs rename $TESTPOOL/$TESTFS $TESTPOOL/$TESTFS-new
log_pass "Verify long name filesystem with snapshot should not break ZFS."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL ; do
typeset fssnap=$fs@snap
if datasetexists $fssnap ; then
- log_must $ZFS destroy -rf $fssnap
+ log_must zfs destroy -rf $fssnap
fi
done
cleanup_user_prop $TESTPOOL
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
- log_must eval "$ZFS snapshot -o $prop_name='$value' $fssnap"
+ log_must eval "zfs snapshot -o $prop_name='$value' $fssnap"
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
- log_must $ZFS destroy -f $fssnap
+ log_must zfs destroy -f $fssnap
prop_name2=$(valid_user_property 10)
value2=$(user_property_value 16)
- log_must eval "$ZFS snapshot -o $prop_name='$value' -o $prop_name2='$value2' $fssnap"
+ log_must eval "zfs snapshot -o $prop_name='$value' -o $prop_name2='$value2' $fssnap"
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
log_mustnot nonexist_user_prop $prop_name2 $fssnap
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
-log_must eval "$ZFS snapshot -r -o $prop_name='$value' $TESTPOOL@snap"
+log_must eval "zfs snapshot -r -o $prop_name='$value' $TESTPOOL@snap"
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL ; do
typeset fssnap=$fs@snap
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
- log_must $ZFS destroy -rf $fssnap
+ log_must zfs destroy -rf $fssnap
done
cleanup
prop_name2=$(valid_user_property 10)
value2=$(user_property_value 16)
-log_must eval "$ZFS snapshot -r -o $prop_name='$value' -o $prop_name2='$value2' $TESTPOOL@snap"
+log_must eval "zfs snapshot -r -o $prop_name='$value' -o $prop_name2='$value2' $TESTPOOL@snap"
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL ; do
typeset fssnap=$fs@snap
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
log_mustnot nonexist_user_prop $prop_name2 $fssnap
- log_must $ZFS destroy -rf $fssnap
+ log_must zfs destroy -rf $fssnap
done
log_pass "User property could be set upon snapshot via 'zfs snapshot -o'."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_set/zfs_set_common.kshlib
#
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL/$TESTCTR $TESTPOOL ; do
typeset fssnap=$fs@snap
if datasetexists $fssnap ; then
- log_must $ZFS destroy -rf $fssnap
+ log_must zfs destroy -rf $fssnap
fi
done
cleanup_user_prop $TESTPOOL
sharenfs checksum compression compress atime devices exec readonly rdonly \
setuid zoned"
-$ZFS upgrade -v > /dev/null 2>&1
+zfs upgrade -v > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
snap_ro_props="$snap_ro_props version"
fi
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
- log_must eval "$ZFS snapshot -o $prop_name='$value' $fssnap"
+ log_must eval "zfs snapshot -o $prop_name='$value' $fssnap"
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
- log_must $ZFS destroy -f $fssnap
+ log_must zfs destroy -f $fssnap
prop_name2=$(valid_user_property 10)
value2=$(user_property_value 16)
- log_must eval "$ZFS snapshot -o $prop_name='$value' -o $prop_name2='$value2' $fssnap"
+ log_must eval "zfs snapshot -o $prop_name='$value' -o $prop_name2='$value2' $fssnap"
log_must snapexists $fssnap
log_mustnot nonexist_user_prop $prop_name $fssnap
log_mustnot nonexist_user_prop $prop_name2 $fssnap
- log_must $ZFS destroy -f $fssnap
+ log_must zfs destroy -f $fssnap
done
cleanup
prop_name=$(valid_user_property 10)
value=$(user_property_value 16)
-log_must eval "$ZFS snapshot -r -o $prop_name='$value' $TESTPOOL@snap"
+log_must eval "zfs snapshot -r -o $prop_name='$value' $TESTPOOL@snap"
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL/$TESTCTR $TESTPOOL ; do
typeset fssnap=$fs@snap
log_must snapexists $fssnap
prop_name2=$(valid_user_property 10)
value2=$(user_property_value 16)
-log_must eval "$ZFS snapshot -r -o $prop_name='$value' -o $prop_name2='$value2' $TESTPOOL@snap"
+log_must eval "zfs snapshot -r -o $prop_name='$value' -o $prop_name2='$value2' $TESTPOOL@snap"
for fs in $TESTPOOL/$TESTFS $TESTPOOL/$TESTVOL $TESTPOOL/$TESTCTR $TESTPOOL ; do
typeset fssnap=$fs@snap
log_must snapexists $fssnap
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_snapshot/zfs_snapshot.cfg
{
for pool in $SNAPPOOL1 $SNAPPOOL2 ; do
if poolexists $pool ; then
- log_must $ZPOOL destroy -f $pool
+ log_must zpool destroy -f $pool
fi
done
log_assert "'zfs snapshot pool1@snap1 pool2@snap2' should fail since snapshots are in different pools."
log_onexit cleanup
-log_must $MKFILE $MINVDEVSIZE $SNAPDEV1
-log_must $MKFILE $MINVDEVSIZE $SNAPDEV2
+log_must mkfile $MINVDEVSIZE $SNAPDEV1
+log_must mkfile $MINVDEVSIZE $SNAPDEV2
-log_must $ZPOOL create $SNAPPOOL1 $SNAPDEV1
-log_must $ZPOOL create $SNAPPOOL2 $SNAPDEV2
+log_must zpool create $SNAPPOOL1 $SNAPDEV1
+log_must zpool create $SNAPPOOL2 $SNAPDEV2
-log_mustnot $ZFS snapshot $SNAPPOOL1@snap1 $SNAPPOOL2@snap2
+log_mustnot zfs snapshot $SNAPPOOL1@snap1 $SNAPPOOL2@snap2
log_pass "'zfs snapshot pool1@snap1 pool2@snap2' should fail since snapshots are in different pools."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
for ds in $datasets; do
- datasetexists $ds && log_must $ZFS destroy -r $ds
+ datasetexists $ds && log_must zfs destroy -r $ds
done
- $ZFS destroy -r $TESTPOOL/TESTFS4
+ zfs destroy -r $TESTPOOL/TESTFS4
}
datasets="$TESTPOOL/$TESTFS1 $TESTPOOL/$TESTFS2
$TESTPOOL/$TESTFS3"
log_note "destroy a list of valid snapshots"
for ds in $datasets; do
- log_must $ZFS create $ds
- log_must $CP -r $test_data /$ds
+ log_must zfs create $ds
+ log_must cp -r $test_data /$ds
done
i=0
while (( i < ${#valid_args[*]} )); do
- log_must $ZFS snapshot ${valid_args[i]}
+ log_must zfs snapshot ${valid_args[i]}
for token in ${valid_args[i]}; do
log_must snapexists $token && \
- log_must $ZFS destroy $token
+ log_must zfs destroy $token
done
((i = i + 1))
done
log_note "destroy a list of invalid snapshots"
i=0
while (( i < ${#invalid_args[*]} )); do
- log_mustnot $ZFS snapshot ${invalid_args[i]}
+ log_mustnot zfs snapshot ${invalid_args[i]}
for token in ${invalid_args[i]}; do
log_mustnot snapexists $token
done
((i = i + 1))
done
log_note "verify multiple snapshot transaction group"
-txg_group=$($ZDB -Pd $TESTPOOL | $GREP snap | $AWK '{print $7}')
+txg_group=$(zdb -Pd $TESTPOOL | grep snap | awk '{print $7}')
for i in 1 2 3; do
- txg_tag=$($ECHO "$txg_group" | $NAWK -v j=$i 'FNR == j {print}')
- [[ $txg_tag != $($ECHO "$txg_group" | \
- $NAWK -v j=$i 'FNR == j {print}') ]] \
+ txg_tag=$(echo "$txg_group" | nawk -v j=$i 'FNR == j {print}')
+ [[ $txg_tag != $(echo "$txg_group" | \
+ nawk -v j=$i 'FNR == j {print}') ]] \
&& log_fail "snapshots belong to differnt transaction groups"
done
log_note "verify snapshot contents"
for ds in $datasets; do
- status=$($DIRCMP /$ds /$ds/.zfs/snapshot/snap | $GREP "different")
+ status=$(dircmp /$ds /$ds/.zfs/snapshot/snap | grep "different")
[[ -z $status ]] || log_fail "snapshot contents are different from" \
"the filesystem"
done
{1..$(($ZFS_MAX_DATASET_NAME_LEN - ${#TESTPOOL} - ${#TESTFS3} - 18))})
log_note "verify multiple snapshot with -r option"
-log_must $ZFS create $TESTPOOL/TESTFS4
-log_must $ZFS create -p $TESTPOOL/$TESTFS3/TESTFSA$DATASET_XXX/TESTFSB
-log_mustnot $ZFS snapshot -r $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS2@snap1 \
+log_must zfs create $TESTPOOL/TESTFS4
+log_must zfs create -p $TESTPOOL/$TESTFS3/TESTFSA$DATASET_XXX/TESTFSB
+log_mustnot zfs snapshot -r $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS2@snap1 \
$TESTPOOL/$TESTFS3@snap1 $TESTPOOL/TESTFS4@snap1
-log_must $ZFS rename $TESTPOOL/$TESTFS3/TESTFSA$DATASET_XXX \
+log_must zfs rename $TESTPOOL/$TESTFS3/TESTFSA$DATASET_XXX \
$TESTPOOL/$TESTFS3/TESTFSA
-log_must $ZFS snapshot -r $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS2@snap1 \
+log_must zfs snapshot -r $TESTPOOL/$TESTFS1@snap1 $TESTPOOL/$TESTFS2@snap1 \
$TESTPOOL/$TESTFS3@snap1 $TESTPOOL/TESTFS4@snap1
log_pass "zfs multiple snapshot verified correctly"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.cfg
mounted $mnt || wasmounted=0
if (( expect == 0 )) ; then
- log_must $ZFS $cmd $opt $mnt
+ log_must zfs $cmd $opt $mnt
log_must unmounted $mnt
- log_note "Successfully $ZFS $cmd $opt $mnt"
+ log_note "Successfully zfs $cmd $opt $mnt"
else
- log_note "$ZFS $cmd $opt $mnt"
+ log_note "zfs $cmd $opt $mnt"
- $ZFS $cmd $opt $mnt
+ zfs $cmd $opt $mnt
ret=$?
if (( ret != expect)); then
- log_fail "'$ZFS $cmd $opt $mnt' " \
+ log_fail "'zfs $cmd $opt $mnt' " \
"unexpected return code of $ret."
fi
{
[[ -n $cwd ]] && cd $cwd
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
mounted $TESTPOOL/$TESTFS || \
- log_must $ZFS $mountcmd $TESTPOOL/$TESTFS
+ log_must zfs $mountcmd $TESTPOOL/$TESTFS
}
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
mounted $TESTDIR2 && \
- log_must $ZFS umount -f $TESTDIR2
+ log_must zfs umount -f $TESTDIR2
datasetexists $TESTPOOL/$TESTFS2 && \
- log_must $ZFS destroy $TESTPOOL/$TESTFS2
+ log_must zfs destroy $TESTPOOL/$TESTFS2
[[ -d $TESTDIR2 ]] && \
- log_must $RM -rf $TESTDIR2
+ log_must rm -rf $TESTDIR2
}
function do_unmount
{
typeset mnt=$3
[[ ! -d $TESTDIR2 ]] && \
- log_must $MKDIR $TESTDIR2
+ log_must mkdir $TESTDIR2
if ! datasetexists $TESTPOOL/$TESTFS2 ; then
- log_must $ZFS create $TESTPOOL/$TESTFS2
- log_must $ZFS set mountpoint=$TESTDIR2 \
+ log_must zfs create $TESTPOOL/$TESTFS2
+ log_must zfs set mountpoint=$TESTDIR2 \
$TESTPOOL/$TESTFS2
fi
unmounted $TESTPOOL/$TESTFS2 && \
- log_must $ZFS mount $TESTPOOL/$TESTFS2
+ log_must zfs mount $TESTPOOL/$TESTFS2
- log_must $ZFS $cmd $options $mnt
+ log_must zfs $cmd $options $mnt
unmounted "$mnt" || \
log_fail "Unable to unmount $options $mnt"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
j=0
while (( j < ${#dev[*]} )); do
log_note "Make sure ${dev[j]} is not in 'zfs list'"
- log_mustnot $ZFS list ${dev[j]}
+ log_mustnot zfs list ${dev[j]}
do_unmount "${cmd[i]}" "$opt" \
"${dev[j]}" $expect
done
}
-log_assert "Verify that '$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_assert "Verify that 'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"whose name is not in 'zfs list' will fail with return code 1."
log_onexit cleanup
((i = i + 1))
done
-log_pass "'$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_pass "'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"whose name is not in 'zfs list' failed with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
j=0
while (( j < ${#dev[*]} )); do
[[ -n $mopt ]] && \
- log_must $ZFS set mountpoint=$mopt ${dev[0]}
+ log_must zfs set mountpoint=$mopt ${dev[0]}
do_unmount "${cmd[i]}" "$opt" \
"${dev[j]}" $expect
done
}
-log_assert "Verify that '$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_assert "Verify that 'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"whose mountpoint property is 'legacy' or 'none' " \
"will fail with return code 1."
((i = i + 1))
done
-log_pass "'$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_pass "'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"whose mountpoint property is 'legacy' or 'none' " \
"will fail with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
j=0
while (( j < ${#dev[*]} )); do
unmounted ${dev[j]} || \
- log_must $ZFS $unmountforce ${dev[j]}
+ log_must zfs $unmountforce ${dev[j]}
do_unmount "${cmd[i]}" "$opt" \
"${dev[j]}" $expect
done
}
-log_assert "Verify that '$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_assert "Verify that 'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"with an unmounted filesystem will fail with return code 1."
log_onexit cleanup
((i = i + 1))
done
-log_pass "'$ZFS $unmountcmd [-f] <filesystem|mountpoint>' " \
+log_pass "'zfs $unmountcmd [-f] <filesystem|mountpoint>' " \
"with an unmounted filesystem failed with return code 1."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
j=0
while (( j < ${#dev[*]} )); do
mounted ${dev[j]} || \
- log_must $ZFS $mountcmd ${dev[0]}
+ log_must zfs $mountcmd ${dev[0]}
cd $TESTDIR || \
log_unresolved "Unable change dir to $TESTDIR"
done
}
-log_assert "Verify that '$ZFS $unmountcmd <filesystem|mountpoint>' " \
+log_assert "Verify that 'zfs $unmountcmd <filesystem|mountpoint>' " \
"with a filesystem which mountpoint is currently in use " \
"will fail with return code 1, and forcefully will succeeds as root."
((i = i + 1))
done
-log_pass "'$ZFS $unmountcmd <filesystem|mountpoint>' " \
+log_pass "'zfs $unmountcmd <filesystem|mountpoint>' " \
"with a filesystem which mountpoint is currently in use " \
"will fail with return code 1, and forcefully will succeeds as root."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if ! ismounted $TESTPOOL/$TESTFS ; then
- log_must $ZFS mount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
fi
}
typeset -i i=0
while (( i < 10000 )); do
- $CP $STF_SUITE/include/libtest.shlib $mntpnt
+ cp $STF_SUITE/include/libtest.shlib $mntpnt
(( i += 1 ))
done
log_note "Recreating zfs files for 10000 times."
-log_must $ZFS unmount $TESTPOOL/$TESTFS
+log_must zfs unmount $TESTPOOL/$TESTFS
log_pass "Re-creating zfs files, 'zfs unmount' passed."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
typeset fs
cleanup_filesystem "$TESTPOOL" "$TESTFS1"
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
[[ -d ${TEST_BASE_DIR%%/}/testroot$$ ]] && \
- $RM -rf ${TEST_BASE_DIR%%/}/testroot$$
+ rm -rf ${TEST_BASE_DIR%%/}/testroot$$
return 0
}
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
for ds in $vol $fs1; do
if datasetexists $ds; then
- log_must $ZFS destroy -f $ds
+ log_must zfs destroy -f $ds
fi
done
if snapexists $snap; then
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
fi
if [[ -e /tmp/$file ]]; then
- $RM -f /tmp/$file
+ rm -f /tmp/$file
fi
if [[ -d /tmp/$dir ]]; then
- $RM -rf /tmp/$dir
+ rm -rf /tmp/$dir
fi
}
set -A badargs "A" "-A" "F" "-F" "-" "-x" "-?"
if ! ismounted $fs; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
-log_must $ZFS snapshot $snap
+log_must zfs snapshot $snap
if is_global_zone; then
- log_must $ZFS create -V 10m $vol
+ log_must zfs create -V 10m $vol
else
vol=""
fi
# Testing bad options
for arg in ${badargs[@]}; do
- log_mustnot eval "$ZFS unmount $arg $fs >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $arg $fs >/dev/null 2>&1"
done
#Testing invalid datasets
for ds in $snap $vol "blah"; do
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unmount $opt $ds >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt $ds >/dev/null 2>&1"
done
done
dir=foodir.$$
file=foo.$$
fs1=$TESTPOOL/fs.$$
-$MKDIR /tmp/$dir
-$TOUCH /tmp/$file
-log_must $ZFS create -o mountpoint=/tmp/$dir $fs1
-curpath=`$DIRNAME $0`
+mkdir /tmp/$dir
+touch /tmp/$file
+log_must zfs create -o mountpoint=/tmp/$dir $fs1
+curpath=`dirname $0`
cd /tmp
for mpt in "./$dir" "./$file" "/tmp"; do
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unmount $opt $mpt >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt $mpt >/dev/null 2>&1"
done
done
cd $curpath
#Testing null argument and too many arguments
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unmount $opt >/dev/null 2>&1"
- log_mustnot eval "$ZFS unmount $opt $fs $fs1 >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt $fs $fs1 >/dev/null 2>&1"
done
#Testing already unmounted filesystem
-log_must $ZFS unmount $fs1
+log_must zfs unmount $fs1
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unmount $opt $fs1 >/dev/null 2>&1"
- log_mustnot eval "$ZFS unmount /tmp/$dir >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt $fs1 >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount /tmp/$dir >/dev/null 2>&1"
done
#Testing legacy mounted filesystem
-log_must $ZFS set mountpoint=legacy $fs1
+log_must zfs set mountpoint=legacy $fs1
if is_linux; then
- log_must $MOUNT -t zfs $fs1 /tmp/$dir
+ log_must mount -t zfs $fs1 /tmp/$dir
else
- log_must $MOUNT -F zfs $fs1 /tmp/$dir
+ log_must mount -F zfs $fs1 /tmp/$dir
fi
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unmount $opt $fs1 >/dev/null 2>&1"
+ log_mustnot eval "zfs unmount $opt $fs1 >/dev/null 2>&1"
done
-$UMOUNT /tmp/$dir
+umount /tmp/$dir
log_pass "zfs unmount fails with bad parameters or scenarios as expected."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
for fs in $TESTPOOL/$TESTFS $TESTPOOL ; do
typeset snap=$fs@$TESTSNAP
if snapexists $snap; then
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
fi
done
if ! poolexists $TESTPOOL && is_global_zone; then
- log_must $ZPOOL create $TESTPOOL $DISK
+ log_must zpool create $TESTPOOL $DISK
fi
if ! datasetexists $TESTPOOL/$TESTFS; then
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
fi
}
function restore_dataset
{
if ! datasetexists $TESTPOOL/$TESTFS ; then
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
log_must cd $TESTDIR
- $ECHO hello > world
- log_must $ZFS snapshot $TESTPOOL/$TESTFS@$TESTSNAP
+ echo hello > world
+ log_must zfs snapshot $TESTPOOL/$TESTFS@$TESTSNAP
log_must cd .zfs/snapshot/$TESTSNAP
fi
}
typeset mtpt=$(get_prop mountpoint $fs)
log_must cd $mtpt
- $ECHO hello > world
- log_must $ZFS snapshot $snap
+ echo hello > world
+ log_must zfs snapshot $snap
log_must cd .zfs/snapshot/$TESTSNAP
- log_mustnot $ZFS unmount -a
- log_must $ZFS unmount -fa
- log_mustnot $LS
+ log_mustnot zfs unmount -a
+ log_must zfs unmount -fa
+ log_mustnot ls
log_must cd /
- log_must $ZFS mount -a
+ log_must zfs mount -a
log_must cd $mtpt
log_must cd .zfs/snapshot/$TESTSNAP
if is_global_zone || [[ $fs != $TESTPOOL ]] ; then
- log_must $ZFS destroy -rf $fs
- log_mustnot $LS
+ log_must zfs destroy -rf $fs
+ log_mustnot ls
log_must cd /
fi
done
if is_global_zone ; then
- log_must $ZPOOL destroy -f $TESTPOOL
- log_mustnot $LS
+ log_must zpool destroy -f $TESTPOOL
+ log_mustnot ls
log_must cd /
fi
-log_must eval $ZFS list > /dev/null 2>&1
-log_must eval $ZPOOL list > /dev/null 2>&1
-log_must eval $ZPOOL status > /dev/null 2>&1
-$ZPOOL iostat > /dev/null 2>&1
+log_must eval zfs list > /dev/null 2>&1
+log_must eval zpool list > /dev/null 2>&1
+log_must eval zpool status > /dev/null 2>&1
+zpool iostat > /dev/null 2>&1
log_pass "zfs fource unmount and destroy in snapshot directory will not cause error."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.kshlib
. $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
done
[[ -d ${TEST_BASE_DIR%%/}/testroot$$ ]] && \
- $RM -rf ${TEST_BASE_DIR%%/}/testroot$$
+ rm -rf ${TEST_BASE_DIR%%/}/testroot$$
}
function verify_all
typeset opt
for opt in "-a" "-fa"; do
export __ZFS_POOL_RESTRICT="$TESTPOOL"
- log_must $ZFS $mountall
+ log_must zfs $mountall
unset __ZFS_POOL_RESTRICT
if [[ $opt == "-fa" ]]; then
mntpnt=$(get_prop mountpoint ${TESTPOOL}/${TESTCTR}/${TESTFS})
cd $mntpnt
- log_mustnot $ZFS unmount -a
+ log_mustnot zfs unmount -a
fi
export __ZFS_POOL_RESTRICT="$TESTPOOL"
- log_must $ZFS unmount $opt
+ log_must zfs unmount $opt
unset __ZFS_POOL_RESTRICT
if [[ $opt == "-fa" ]]; then
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
typeset -i i=0
while (( i < ${#mntp_fs[*]} )); do
- log_must $ZFS set sharenfs=off ${mntp_fs[((i+1))]}
+ log_must zfs set sharenfs=off ${mntp_fs[((i+1))]}
((i = i + 2))
done
if mounted $TESTPOOL/$TESTCLONE; then
- log_must $ZFS unmount $TESTDIR2
+ log_must zfs unmount $TESTDIR2
fi
[[ -d $TESTDIR2 ]] && \
- log_must $RM -rf $TESTDIR2
+ log_must rm -rf $TESTDIR2
if datasetexists "$TESTPOOL/$TESTCLONE"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTCLONE
+ log_must zfs destroy -f $TESTPOOL/$TESTCLONE
fi
if snapexists "$TESTPOOL/$TESTFS2@snapshot"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2@snapshot
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2@snapshot
fi
if datasetexists "$TESTPOOL/$TESTFS2"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2
fi
}
if [[ $prop_value == "off" ]]; then
not_shared $mntp ||
log_must eval "unshare_nfs $mntp"
- log_must $ZFS set sharenfs=on $filesystem
+ log_must zfs set sharenfs=on $filesystem
is_shared $mntp || \
- log_fail "'$ZFS set sharenfs=on' fails to make" \
+ log_fail "'zfs set sharenfs=on' fails to make" \
"file system $filesystem shared."
fi
- is_shared $mntp || log_must $ZFS share $filesystem
+ is_shared $mntp || log_must zfs share $filesystem
#
# Verify 'zfs unshare <filesystem>' works as well.
#
- log_must $ZFS unshare $filesystem
+ log_must zfs unshare $filesystem
not_shared $mntp || log_fail "'zfs unshare <filesystem>' fails"
- log_must $ZFS share $filesystem
+ log_must zfs share $filesystem
- log_must $ZFS unshare $mntp
+ log_must zfs unshare $mntp
not_shared $mntp || log_fail "'zfs unshare <mountpoint>' fails"
log_note "Unsharing an unshared file system fails."
- log_mustnot $ZFS unshare $filesystem
- log_mustnot $ZFS unshare $mntp
+ log_mustnot zfs unshare $filesystem
+ log_mustnot zfs unshare $mntp
}
set -A mntp_fs \
log_assert "Verify that 'zfs unshare [-a] <filesystem|mountpoint>' succeeds as root."
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS2
-log_must $ZFS snapshot $TESTPOOL/$TESTFS2@snapshot
-log_must $ZFS clone $TESTPOOL/$TESTFS2@snapshot $TESTPOOL/$TESTCLONE
-log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL/$TESTCLONE
+log_must zfs create $TESTPOOL/$TESTFS2
+log_must zfs snapshot $TESTPOOL/$TESTFS2@snapshot
+log_must zfs clone $TESTPOOL/$TESTFS2@snapshot $TESTPOOL/$TESTCLONE
+log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL/$TESTCLONE
#
# Invoke 'test_unshare' routine to test 'zfs unshare <filesystem|mountpoint>'.
((i = i + 2))
done
-log_note "Verify '$ZFS unshare -a' succeds as root."
+log_note "Verify 'zfs unshare -a' succeds as root."
i=0
typeset sharenfs_val
sharenfs_val=$(get_prop "sharenfs" ${mntp_fs[((i+1))]})
if [[ $sharenfs_val == "on" ]]; then
not_shared ${mntp_fs[i]} && \
- log_must $ZFS share ${mntp_fs[((i+1))]}
+ log_must zfs share ${mntp_fs[((i+1))]}
else
- log_must $ZFS set sharenfs=on ${mntp_fs[((i+1))]}
+ log_must zfs set sharenfs=on ${mntp_fs[((i+1))]}
is_shared ${mntp_fs[i]} || \
- log_fail "'$ZFS set sharenfs=on' fails to share filesystem."
+ log_fail "'zfs set sharenfs=on' fails to share filesystem."
fi
((i = i + 2))
#
# test 'zfs unshare -a '
#
-log_must $ZFS unshare -a
+log_must zfs unshare -a
#
# verify all shared filesystems become unshared
i=0
while (( i < ${#mntp_fs[*]} )); do
not_shared ${mntp_fs[i]} || \
- log_fail "'$ZFS unshare -a' fails to unshare all shared zfs filesystems."
+ log_fail "'zfs unshare -a' fails to unshare all shared zfs filesystems."
((i = i + 2))
done
-log_pass "'$ZFS unshare [-a] <filesystem|mountpoint>' succeeds as root."
+log_pass "'zfs unshare [-a] <filesystem|mountpoint>' succeeds as root."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
done
if mounted $TESTPOOL/$TESTCLONE; then
- log_must $ZFS unmount $TESTDIR2
+ log_must zfs unmount $TESTDIR2
fi
[[ -d $TESTDIR2 ]] && \
- log_must $RM -rf $TESTDIR2
+ log_must rm -rf $TESTDIR2
if datasetexists "$TESTPOOL/$TESTCLONE"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTCLONE
+ log_must zfs destroy -f $TESTPOOL/$TESTCLONE
fi
if snapexists "$TESTPOOL/$TESTFS2@snapshot"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2@snapshot
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2@snapshot
fi
if datasetexists "$TESTPOOL/$TESTFS2"; then
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2
fi
}
typeset mntp=$1
typeset filesystem=$2
- log_must $ZFS set sharenfs=off $filesystem
+ log_must zfs set sharenfs=off $filesystem
not_shared $mntp || \
log_fail "'zfs set sharenfs=off' fails to make ZFS " \
"filesystem $filesystem unshared."
#
# Verify 'zfs unshare <filesystem>' is aware of legacy share.
#
- log_mustnot $ZFS unshare $filesystem
+ log_mustnot zfs unshare $filesystem
is_shared $mntp || \
log_fail "'zfs unshare <filesystem>' fails to be aware" \
"of legacy share."
#
# Verify 'zfs unshare <filesystem>' is aware of legacy share.
#
- log_mustnot $ZFS unshare $mntp
+ log_mustnot zfs unshare $mntp
is_shared $mntp || \
log_fail "'zfs unshare <mountpoint>' fails to be aware" \
"of legacy share."
log_assert "Verify that 'zfs unshare [-a]' is aware of legacy share."
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS2
-log_must $ZFS snapshot $TESTPOOL/$TESTFS2@snapshot
-log_must $ZFS clone $TESTPOOL/$TESTFS2@snapshot $TESTPOOL/$TESTCLONE
-log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL/$TESTCLONE
+log_must zfs create $TESTPOOL/$TESTFS2
+log_must zfs snapshot $TESTPOOL/$TESTFS2@snapshot
+log_must zfs clone $TESTPOOL/$TESTFS2@snapshot $TESTPOOL/$TESTCLONE
+log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL/$TESTCLONE
#
# Invoke 'test_legacy_unshare' routine to verify.
done
-log_note "Verify '$ZFS unshare -a' is aware of legacy share."
+log_note "Verify 'zfs unshare -a' is aware of legacy share."
#
# set the 'sharenfs' property to 'off' for each filesystem
#
i=0
while (( i < ${#mntp_fs[*]} )); do
- log_must $ZFS set sharenfs=off ${mntp_fs[((i + 1))]}
+ log_must zfs set sharenfs=off ${mntp_fs[((i + 1))]}
not_shared ${mntp_fs[i]} || \
- log_fail "'$ZFS set sharenfs=off' unshares file system failed."
+ log_fail "'zfs set sharenfs=off' unshares file system failed."
((i = i + 2))
done
while (( i < ${#mntp_fs[*]} )); do
share_nfs ${mntp_fs[i]}
is_shared ${mntp_fs[i]} || \
- log_fail "'$SHARE' shares ZFS filesystem failed."
+ log_fail "'share' shares ZFS filesystem failed."
((i = i + 2))
done
#
# Verify that 'zfs unshare -a' is aware of legacy share
#
-log_must $ZFS unshare -a
+log_must zfs unshare -a
#
# verify ZFS filesystems are still shared
i=0
while (( i < ${#mntp_fs[*]} )); do
is_shared ${mntp_fs[i]} || \
- log_fail "'$ZFS unshare -a' fails to be aware of legacy share."
+ log_fail "'zfs unshare -a' fails to be aware of legacy share."
((i = i + 2))
done
-log_pass "'$ZFS unshare [-a]' succeeds to be aware of legacy share."
+log_pass "'zfs unshare [-a]' succeeds to be aware of legacy share."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if snapexists $TESTPOOL/$TESTFS@snapshot; then
- log_must $ZFS destroy $TESTPOOL/$TESTFS@snapshot
+ log_must zfs destroy $TESTPOOL/$TESTFS@snapshot
fi
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
}
#
if [[ $prop_value == "off" ]]; then
is_shared $mntp || unshare_nfs $mntp
- log_must $ZFS set sharenfs=on $filesystem
+ log_must zfs set sharenfs=on $filesystem
fi
- log_must $ZFS set sharenfs=off $filesystem
+ log_must zfs set sharenfs=off $filesystem
not_shared $mntp || \
log_fail "File system $filesystem is shared (set sharenfs)."
log_assert "Verify that a file system and its dependent are unshared."
log_onexit cleanup
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snapshot
+log_must zfs snapshot $TESTPOOL/$TESTFS@snapshot
test_snap_unshare $TESTDIR $TESTPOOL/$TESTFS
log_pass "A file system and its dependent are both unshared as expected."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
"$TESTPOOL/$TESTFS $TESTDIR" "-f $TESTPOOL/$TESTFS $TESTDIR" \
"${TESTDIR#/}" "-f ${TESTDIR#/}"
-log_assert "Verify that '$ZFS unshare' issue error message with badly formed parameter."
+log_assert "Verify that 'zfs unshare' issue error message with badly formed parameter."
shareval=$(get_prop sharenfs $TESTPOOL/$TESTFS)
if [[ $shareval == off ]]; then
- log_must $ZFS set sharenfs=on $TESTPOOL/$TESTFS
+ log_must zfs set sharenfs=on $TESTPOOL/$TESTFS
fi
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZFS unshare ${args[i]}
+ log_mustnot zfs unshare ${args[i]}
((i = i + 1))
done
#Testing that unsharing unshared filesystem fails.
mpt=$(get_prop mountpoint $TESTPOOL/$TESTFS)
-log_must $ZFS unshare $TESTPOOL/$TESTFS
+log_must zfs unshare $TESTPOOL/$TESTFS
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
- log_mustnot eval "$ZFS unshare $opt $mpt >/dev/null 2>&1"
+ log_mustnot eval "zfs unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
+ log_mustnot eval "zfs unshare $opt $mpt >/dev/null 2>&1"
done
#Testing zfs unshare fails with legacy share set
-log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS
+log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
for opt in "" "-f"; do
- log_mustnot eval "$ZFS unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
- log_mustnot eval "$ZFS unshare $opt $mpt >/dev/null 2>&1"
+ log_mustnot eval "zfs unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
+ log_mustnot eval "zfs unshare $opt $mpt >/dev/null 2>&1"
done
-log_pass "'$ZFS unshare' fails as expected with badly-formed parameters."
+log_pass "'zfs unshare' fails as expected with badly-formed parameters."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while (( i < ${#datasets[*]} ))
do
- log_mustnot $ZFS unshare ${datasets[i]}
+ log_mustnot zfs unshare ${datasets[i]}
((i = i + 1))
done
function cleanup
{
- log_must $ZFS unshare -a
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS/shared1
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS/shared2
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS/shared3
+ log_must zfs unshare -a
+ log_must zfs destroy -f $TESTPOOL/$TESTFS/shared1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS/shared2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS/shared3
}
-log_assert "Verify '$ZFS unshare [nfs|smb] -a' only works on the specified "\
+log_assert "Verify 'zfs unshare [nfs|smb] -a' only works on the specified "\
"protocol."
log_onexit cleanup
# 1. Share filesystems with different protocols.
-log_must $ZFS create $TESTPOOL/$TESTFS/shared1
-log_must $ZFS create $TESTPOOL/$TESTFS/shared2
-log_must $ZFS create $TESTPOOL/$TESTFS/shared3
-log_must $ZFS set mountpoint=$TESTDIR/1 $TESTPOOL/$TESTFS/shared1
-log_must $ZFS set mountpoint=$TESTDIR/2 $TESTPOOL/$TESTFS/shared2
-log_must $ZFS set mountpoint=$TESTDIR/3 $TESTPOOL/$TESTFS/shared3
-log_must $ZFS set sharenfs=on $TESTPOOL/$TESTFS/shared1
-log_must $ZFS set sharenfs=on $TESTPOOL/$TESTFS/shared2
-log_must $ZFS set sharesmb=on $TESTPOOL/$TESTFS/shared2
-log_must $ZFS set sharesmb=on $TESTPOOL/$TESTFS/shared3
-log_must $ZFS share -a
+log_must zfs create $TESTPOOL/$TESTFS/shared1
+log_must zfs create $TESTPOOL/$TESTFS/shared2
+log_must zfs create $TESTPOOL/$TESTFS/shared3
+log_must zfs set mountpoint=$TESTDIR/1 $TESTPOOL/$TESTFS/shared1
+log_must zfs set mountpoint=$TESTDIR/2 $TESTPOOL/$TESTFS/shared2
+log_must zfs set mountpoint=$TESTDIR/3 $TESTPOOL/$TESTFS/shared3
+log_must zfs set sharenfs=on $TESTPOOL/$TESTFS/shared1
+log_must zfs set sharenfs=on $TESTPOOL/$TESTFS/shared2
+log_must zfs set sharesmb=on $TESTPOOL/$TESTFS/shared2
+log_must zfs set sharesmb=on $TESTPOOL/$TESTFS/shared3
+log_must zfs share -a
# 2. Invoke 'zfs unshare nfs -a' to unshare filesystems.
-log_must $ZFS unshare nfs -a
+log_must zfs unshare nfs -a
# 3. Verify that only nfs filesystems are unshared.
log_must eval "not_shared $TESTPOOL/$TESTFS/shared1"
log_must eval "is_shared_smb $TESTPOOL/$TESTFS/shared3"
# 4. Share all filesystems again.
-log_must $ZFS share -a
+log_must zfs share -a
# 5. Invoke 'zfs unshare smb -a' and verify only smb filesystems are unshared.
-log_must $ZFS unshare smb -a
+log_must zfs unshare smb -a
log_must eval "is_shared $TESTPOOL/$TESTFS/shared1"
log_must eval "is_shared $TESTPOOL/$TESTFS/shared2"
log_must eval "not_shared_smb $TESTPOOL/$TESTFS/shared2"
log_must eval "not_shared_smb $TESTPOOL/$TESTFS/shared3"
-log_pass "'$ZFS unshare [nfs|smb] -a' only works on the specified protocol."
+log_pass "'zfs unshare [nfs|smb] -a' only works on the specified protocol."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
(( m+=1 ))
done
if (( spa_version != 0 )) && (( vp < spa_version )); then
- log_mustnot $ZFS create -o version=${version} ${current_fs}
+ log_mustnot zfs create -o version=${version} ${current_fs}
continue
fi
- log_must $ZFS create -o version=${version} ${current_fs}
- log_must $ZFS snapshot ${current_snap}
- log_must $ZFS clone ${current_snap} ${current_clone}
+ log_must zfs create -o version=${version} ${current_fs}
+ log_must zfs snapshot ${current_snap}
+ log_must zfs clone ${current_snap} ${current_clone}
for subversion in $ZFS_ALL_VERSIONS ; do
typeset subverfs
(( m+=1 ))
done
if (( spa_version != 0 )) && (( vp < spa_version )); then
- log_mustnot $ZFS create -o \
+ log_mustnot zfs create -o \
version=${subversion} ${current_fs}/$subverfs
else
- log_must $ZFS create -o \
+ log_must zfs create -o \
version=${subversion} ${current_fs}/$subverfs
fi
done
typeset rootfs=$1
if datasetexists $rootfs ; then
- log_must $ZFS destroy -Rf $rootfs
+ log_must zfs destroy -Rf $rootfs
fi
if datasetnonexists $rootfs ; then
- log_must $ZFS create $rootfs
+ log_must zfs create $rootfs
fi
}
typeset newv
typeset -i df_ret
- $DF -F zfs / > /dev/null 2>&1
+ df -F zfs / > /dev/null 2>&1
df_ret=$?
for newv in "" $ZFS_VERSION; do
if (( df_ret != 0 )); then
if (( spa_version != 0 )) && (( vp < spa_version )); then
- log_mustnot eval '$ZFS upgrade $opt -a > /dev/null 2>&1'
- log_must eval '$ZPOOL upgrade $pool > /dev/null 2>&1'
+ log_mustnot eval 'zfs upgrade $opt -a > /dev/null 2>&1'
+ log_must eval 'zpool upgrade $pool > /dev/null 2>&1'
vp=$(get_pool_prop version $pool)
fi
- log_must eval '$ZFS upgrade $opt -a > /dev/null 2>&1'
+ log_must eval 'zfs upgrade $opt -a > /dev/null 2>&1'
- for fs in $($ZFS list -rH -t filesystem -o name $rootfs) ; do
+ for fs in $(zfs list -rH -t filesystem -o name $rootfs) ; do
log_must check_fs_version $fs $newv
done
fi
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
+
#
+# Copyright (c) 2016 by Delphix. All rights reserved.
#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
function cleanup
{
if datasetexists $rootfs ; then
- log_must $ZFS destroy -Rf $rootfs
+ log_must zfs destroy -Rf $rootfs
fi
- log_must $ZFS create $rootfs
+ log_must zfs create $rootfs
for file in $output $oldoutput ; do
if [[ -f $file ]]; then
- log_must $RM -f $file
+ log_must rm -f $file
fi
done
}
typeset expect_str3="The following filesystems are out of date, and can be upgraded"
typeset -i COUNT OLDCOUNT
-$ZFS upgrade | $NAWK '$1 ~ "^[0-9]+$" {print $2}'> $oldoutput
-OLDCOUNT=$( $WC -l $oldoutput | $AWK '{print $1}' )
+zfs upgrade | nawk '$1 ~ "^[0-9]+$" {print $2}'> $oldoutput
+OLDCOUNT=$( wc -l $oldoutput | awk '{print $1}' )
old_datasets=""
for version in $ZFS_ALL_VERSIONS ; do
typeset current_fs=$rootfs/$verfs
typeset current_snap=${current_fs}@snap
typeset current_clone=$rootfs/clone$verfs
- log_must $ZFS create -o version=${version} ${current_fs}
- log_must $ZFS snapshot ${current_snap}
- log_must $ZFS clone ${current_snap} ${current_clone}
+ log_must zfs create -o version=${version} ${current_fs}
+ log_must zfs snapshot ${current_snap}
+ log_must zfs clone ${current_snap} ${current_clone}
if (( version != $ZFS_VERSION )); then
old_datasets="$old_datasets ${current_fs} ${current_clone}"
done
if is_global_zone; then
- log_must $ZFS create -V 100m $rootfs/$TESTVOL
+ log_must zfs create -V 100m $rootfs/$TESTVOL
fi
-log_must eval '$ZFS upgrade > $output 2>&1'
+log_must eval 'zfs upgrade > $output 2>&1'
# we also check that the usage message contains at least a description
# of the current ZFS version.
-log_must eval '$GREP "${expect_str1} $ZFS_VERSION" $output > /dev/null 2>&1'
-$ZFS upgrade | $NAWK '$1 ~ "^[0-9]+$" {print $2}'> $output
-COUNT=$( $WC -l $output | $AWK '{print $1}' )
+log_must eval 'grep "${expect_str1} $ZFS_VERSION" $output > /dev/null 2>&1'
+zfs upgrade | nawk '$1 ~ "^[0-9]+$" {print $2}'> $output
+COUNT=$( wc -l $output | awk '{print $1}' )
typeset -i i=0
for fs in ${old_datasets}; do
- log_must $GREP "^$fs$" $output
+ log_must grep "^$fs$" $output
(( i = i + 1 ))
done
if (( i != COUNT - OLDCOUNT )); then
- $CAT $output
+ cat $output
log_fail "More old-version filesystems print out than expect."
fi
for fs in $old_datasets ; do
if datasetexists $fs ; then
- log_must $ZFS destroy -Rf $fs
+ log_must zfs destroy -Rf $fs
fi
done
-log_must eval '$ZFS upgrade > $output 2>&1'
-log_must eval '$GREP "${expect_str1} $ZFS_VERSION" $output > /dev/null 2>&1'
+log_must eval 'zfs upgrade > $output 2>&1'
+log_must eval 'grep "${expect_str1} $ZFS_VERSION" $output > /dev/null 2>&1'
if (( OLDCOUNT == 0 )); then
- log_must eval '$GREP "${expect_str2}" $output > /dev/null 2>&1'
+ log_must eval 'grep "${expect_str2}" $output > /dev/null 2>&1'
else
- log_must eval '$GREP "${expect_str3}" $output > /dev/null 2>&1'
+ log_must eval 'grep "${expect_str3}" $output > /dev/null 2>&1'
fi
-$ZFS upgrade | $NAWK '$1 ~ "^[0-9]+$" {print $2}'> $output
-COUNT=$( $WC -l $output | $AWK '{print $1}' )
+zfs upgrade | nawk '$1 ~ "^[0-9]+$" {print $2}'> $output
+COUNT=$( wc -l $output | awk '{print $1}' )
if (( COUNT != OLDCOUNT )); then
- $CAT $output
+ cat $output
log_fail "Unexpect old-version filesystems print out."
fi
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
function cleanup
{
if [[ -f $output ]]; then
- log_must $RM -f $output
+ log_must rm -f $output
fi
}
typeset expect_str1="Initial ZFS filesystem version"
typeset expect_str2="Enhanced directory entries"
-log_must eval '$ZFS upgrade -v > /dev/null 2>&1'
+log_must eval 'zfs upgrade -v > /dev/null 2>&1'
-$ZFS upgrade -v | $NAWK '$1 ~ "^[0-9]+$" {print $0}'> $output
-log_must eval '$GREP "${expect_str1}" $output > /dev/null 2>&1'
-log_must eval '$GREP "${expect_str2}" $output > /dev/null 2>&1'
+zfs upgrade -v | nawk '$1 ~ "^[0-9]+$" {print $0}'> $output
+log_must eval 'grep "${expect_str1}" $output > /dev/null 2>&1'
+log_must eval 'grep "${expect_str2}" $output > /dev/null 2>&1'
log_pass "Executing 'zfs upgrade -v' command succeeds."
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
function cleanup
{
if datasetexists $rootfs ; then
- log_must $ZFS destroy -Rf $rootfs
+ log_must zfs destroy -Rf $rootfs
fi
- log_must $ZFS create $rootfs
+ log_must zfs create $rootfs
}
function setup_datasets
typeset current_fs=$rootfs/$verfs
typeset current_snap=${current_fs}@snap
typeset current_clone=$rootfs/clone$verfs
- log_must $ZFS create -o version=${version} ${current_fs}
- log_must $ZFS snapshot ${current_snap}
- log_must $ZFS clone ${current_snap} ${current_clone}
+ log_must zfs create -o version=${version} ${current_fs}
+ log_must zfs snapshot ${current_snap}
+ log_must zfs clone ${current_snap} ${current_clone}
datasets="$datasets ${current_fs} ${current_clone}"
done
}
fi
if (( newv >= oldv )); then
- log_must eval '$ZFS upgrade $opt $fs > /dev/null 2>&1'
+ log_must eval 'zfs upgrade $opt $fs > /dev/null 2>&1'
log_must check_fs_version $fs $newv
else
- log_mustnot eval '$ZFS upgrade $opt $fs > /dev/null 2>&1'
+ log_mustnot eval 'zfs upgrade $opt $fs > /dev/null 2>&1'
log_must check_fs_version $fs $oldv
fi
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
function cleanup
{
if datasetexists $rootfs ; then
- log_must $ZFS destroy -Rf $rootfs
+ log_must zfs destroy -Rf $rootfs
fi
- log_must $ZFS create $rootfs
+ log_must zfs create $rootfs
}
function setup_datasets
typeset current_fs=$rootfs/$verfs
typeset current_snap=${current_fs}@snap
typeset current_clone=$rootfs/clone$verfs
- log_must $ZFS create -o version=${version} ${current_fs}
- log_must $ZFS snapshot ${current_snap}
- log_must $ZFS clone ${current_snap} ${current_clone}
+ log_must zfs create -o version=${version} ${current_fs}
+ log_must zfs snapshot ${current_snap}
+ log_must zfs clone ${current_snap} ${current_clone}
for subversion in $ZFS_ALL_VERSIONS ; do
typeset subverfs
eval subverfs=\$ZFS_VERSION_$subversion
- log_must $ZFS create -o version=${subversion} \
+ log_must zfs create -o version=${subversion} \
${current_fs}/$subverfs
done
datasets="$datasets ${current_fs}"
newv=$ZFS_VERSION
fi
- log_must eval '$ZFS upgrade -r $opt $topfs > /dev/null 2>&1'
+ log_must eval 'zfs upgrade -r $opt $topfs > /dev/null 2>&1'
- for fs in $($ZFS list -rH -t filesystem -o name $topfs) ; do
+ for fs in $(zfs list -rH -t filesystem -o name $topfs) ; do
log_must check_fs_version $fs $newv
done
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
function cleanup
{
if datasetexists $rootfs ; then
- log_must $ZFS destroy -Rf $rootfs
+ log_must zfs destroy -Rf $rootfs
fi
- log_must $ZFS create $rootfs
+ log_must zfs create $rootfs
}
function setup_datasets
typeset current_fs=$rootfs/$verfs
typeset current_snap=${current_fs}@snap
typeset current_clone=$rootfs/clone$verfs
- log_must $ZFS create -o version=${version} ${current_fs}
- log_must $ZFS snapshot ${current_snap}
- log_must $ZFS clone ${current_snap} ${current_clone}
+ log_must zfs create -o version=${version} ${current_fs}
+ log_must zfs snapshot ${current_snap}
+ log_must zfs clone ${current_snap} ${current_clone}
for subversion in $ZFS_ALL_VERSIONS ; do
typeset subverfs
eval subverfs=\$ZFS_VERSION_$subversion
- log_must $ZFS create -o version=${subversion} \
+ log_must zfs create -o version=${subversion} \
${current_fs}/$subverfs
done
datasets="$datasets ${current_fs}"
fi
export __ZFS_POOL_RESTRICT="$TESTPOOL"
- log_must $ZFS upgrade $opt -a
+ log_must zfs upgrade $opt -a
unset __ZFS_POOL_RESTRICT
- for fs in $($ZFS list -rH -t filesystem -o name $rootfs) ; do
+ for fs in $(zfs list -rH -t filesystem -o name $rootfs) ; do
log_must check_fs_version $fs $newv
done
cleanup
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
typeset -i i=1
while (( i < ${#args[*]} )); do
- log_mustnot $ZFS upgrade ${args[i]}
+ log_mustnot zfs upgrade ${args[i]}
((i = i + 1))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
typeset -i i=0
while (( i < ${#args[*]} ))
do
- log_mustnot $ZFS upgrade -V ${args[i]} $TESTPOOL/$TESTFS
+ log_mustnot zfs upgrade -V ${args[i]} $TESTPOOL/$TESTFS
((i = i + 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL ${args[i]}
+ log_mustnot zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
unset ZFS_ABORT
if [[ -d $corepath ]]; then
- $RM -rf $corepath
+ rm -rf $corepath
fi
if poolexists $pool; then
- log_must $ZPOOL destroy -f $pool
+ log_must zpool destroy -f $pool
fi
}
#preparation work for testing
corepath=$TESTDIR/core
if [[ -d $corepath ]]; then
- $RM -rf $corepath
+ rm -rf $corepath
fi
-$MKDIR $corepath
+mkdir $corepath
pool=pool.$$
vdev1=$TESTDIR/file1
vdev2=$TESTDIR/file2
vdev3=$TESTDIR/file3
for vdev in $vdev1 $vdev2 $vdev3; do
- $MKFILE $MINVDEVSIZE $vdev
+ mkfile $MINVDEVSIZE $vdev
done
set -A cmds "create $pool mirror $vdev1 $vdev2" "list $pool" "iostat $pool" \
echo "$corepath/core.zpool" >/proc/sys/kernel/core_pattern
echo 0 >/proc/sys/kernel/core_uses_pid
else
- $COREADM -p ${corepath}/core.%f
+ coreadm -p ${corepath}/core.%f
fi
export ZFS_ABORT=yes
for subcmd in "${cmds[@]}" "${badparams[@]}"; do
corefile=${corepath}/core.zpool
- $ZPOOL $subcmd >/dev/null 2>&1
+ zpool $subcmd >/dev/null 2>&1
ls -l $corepath >>/tmp/CORE
if [[ ! -e $corefile ]]; then
- log_fail "$ZPOOL $subcmd cannot generate core file with ZFS_ABORT set."
+ log_fail "zpool $subcmd cannot generate core file with ZFS_ABORT set."
fi
- $RM -f $corefile
+ rm -f $corefile
done
log_pass "With ZFS_ABORT set, zpool command can abort and generate core file as expected."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Debugging features of zpool should succeed."
-log_must $ZPOOL -? > /dev/null 2>&1
+log_must zpool -? > /dev/null 2>&1
if is_global_zone ; then
- log_must $ZPOOL freeze $TESTPOOL
+ log_must zpool freeze $TESTPOOL
else
- log_mustnot $ZPOOL freeze $TESTPOOL
- log_mustnot $ZPOOL freeze ${TESTPOOL%%/*}
+ log_mustnot zpool freeze $TESTPOOL
+ log_mustnot zpool freeze ${TESTPOOL%%/*}
fi
-log_mustnot $ZPOOL freeze fakepool
+log_mustnot zpool freeze fakepool
# Remove corefile possibly left by previous failing run of this test.
[[ -f core ]] && log_must rm -f core
fi
ZFS_ABORT=1; export ZFS_ABORT
-$ZPOOL > /dev/null 2>&1
+zpool > /dev/null 2>&1
unset ZFS_ABORT
-[[ -f core ]] || log_fail "$ZPOOL did not dump core by request."
+[[ -f core ]] || log_fail "zpool did not dump core by request."
[[ -f core ]] && log_must rm -f core
log_pass "Debugging features of zpool succeed."
function cleanup
{
poolexists $TESTPOOL && destroy_pool $TESTPOOL
- log_must $RM $disk1 $disk2
+ log_must rm $disk1 $disk2
}
#
typeset value=$2
typeset ashift
- $ZDB -e -l $device | $GREP " ashift:" | {
+ zdb -e -l $device | grep " ashift:" | {
while read ashift ; do
if [[ "ashift: $value" != "$ashift" ]]; then
return 1
disk1=$TEST_BASE_DIR/$FILEDISK0
disk2=$TEST_BASE_DIR/$FILEDISK1
-log_must $MKFILE $SIZE $disk1
-log_must $MKFILE $SIZE $disk2
+log_must mkfile $SIZE $disk1
+log_must mkfile $SIZE $disk2
typeset ashifts=("9" "10" "11" "12" "13")
for ashift in ${ashifts[@]}
do
- log_must $ZPOOL create $TESTPOOL $disk1
- log_must $ZPOOL add -o ashift=$ashift $TESTPOOL $disk2
+ log_must zpool create $TESTPOOL $disk1
+ log_must zpool add -o ashift=$ashift $TESTPOOL $disk2
verify_device_ashift $disk2 $ashift
if [[ $? -ne 0 ]]
then
"$ashift"
fi
# clean things for the next run
- log_must $ZPOOL destroy $TESTPOOL
- log_must $ZPOOL labelclear $disk1
- log_must $ZPOOL labelclear $disk2
+ log_must zpool destroy $TESTPOOL
+ log_must zpool labelclear $disk1
+ log_must zpool labelclear $disk2
done
typeset badvals=("off" "on" "1" "8" "14" "1b" "ff" "-")
for badval in ${badvals[@]}
do
- log_must $ZPOOL create $TESTPOOL $disk1
- log_mustnot $ZPOOL add -o ashift="$badval" $disk2
- log_must $ZPOOL destroy $TESTPOOL
- log_must $ZPOOL labelclear $disk1
- log_must $ZPOOL labelclear $disk2
+ log_must zpool create $TESTPOOL $disk1
+ log_mustnot zpool add -o ashift="$badval" $disk2
+ log_must zpool destroy $TESTPOOL
+ log_must zpool labelclear $disk1
+ log_must zpool labelclear $disk2
done
log_pass "zpool add -o ashift=<n>' works with different ashift values"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
partition_disk $SIZE $DISK 7
else
- for disk in `$ECHO $DISKSARRAY`; do
+ for disk in `echo $DISKSARRAY`; do
cleanup_devices $disk
partition_disk $SIZE $disk 7
done
#
#
-# Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset vfstabdevs=""
typeset line
- $CAT $vfstab | $GREP "^${DEV_DSKDIR}" >$tmpfile
+ cat $vfstab | grep "^${DEV_DSKDIR}" >$tmpfile
while read -r line
do
- vfstabdev=`$ECHO "$line" | $AWK '{print $1}'`
+ vfstabdev=`echo "$line" | awk '{print $1}'`
vfstabdev=${vfstabdev%%:}
vfstabdevs="$vfstabdev $vfstabdevs"
done <$tmpfile
- $RM -f $tmpfile
- $ECHO $vfstabdevs
+ rm -f $tmpfile
+ echo $vfstabdevs
}
#
typeset mnttabdevs=""
typeset line
- $CAT $mnttab | $GREP "^${DEV_DSKDIR}" >$tmpfile
+ cat $mnttab | grep "^${DEV_DSKDIR}" >$tmpfile
while read -r line
do
- mnttabdev=`$ECHO "$line" | $AWK '{print $1}'`
+ mnttabdev=`echo "$line" | awk '{print $1}'`
mnttabdev=${mnttabdev%%:}
mnttabdevs="$mnttabdev $mnttabdevs"
done <$tmpfile
- $RM -f $tmpfile
- $ECHO $mnttabdevs
+ rm -f $tmpfile
+ echo $mnttabdevs
}
#
typeset dumpdev
typeset fnd="Dump device"
- dumpdev=`$DUMPADM | $GREP "$fnd" | $CUT -f2 -d : | \
- $AWK '{print $1}'`
- $ECHO $dumpdev
+ dumpdev=`dumpadm | grep "$fnd" | cut -f2 -d : | \
+ awk '{print $1}'`
+ echo $dumpdev
}
#
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for vdev in "${poolarray[@]}"; do
create_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE6}"
log_must poolexists "$TESTPOOL"
- log_must $ZPOOL add -f "$TESTPOOL" ${keywords[i]} $vdev
+ log_must zpool add -f "$TESTPOOL" ${keywords[i]} $vdev
log_must vdevs_in_pool "$TESTPOOL" "$vdev"
destroy_pool "$TESTPOOL"
done
"${disk}${SLICE_PREFIX}${SLICE4}" \
"${disk}${SLICE_PREFIX}${SLICE5}"
log_must poolexists "$TESTPOOL"
- log_must $ZPOOL add "$TESTPOOL" ${keywords[i]} $vdev
+ log_must zpool add "$TESTPOOL" ${keywords[i]} $vdev
log_must vdevs_in_pool "$TESTPOOL" "$vdev"
destroy_pool "$TESTPOOL"
done
"${disk}${SLICE_PREFIX}${SLICE4}" \
"${disk}${SLICE_PREFIX}${SLICE5}"
log_must poolexists "$TESTPOOL"
- log_must $ZPOOL add "$TESTPOOL" ${keywords[i]} $vdev
+ log_must zpool add "$TESTPOOL" ${keywords[i]} $vdev
log_must vdevs_in_pool "$TESTPOOL" "$vdev"
destroy_pool "$TESTPOOL"
done
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_add/zpool_add.kshlib
"${disk}${SLICE_PREFIX}${SLICE1}"
log_must poolexists "$TESTPOOL"
-log_mustnot $ZPOOL add "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE3}
+log_mustnot zpool add "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE3}
log_mustnot vdevs_in_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE3}"
-log_must $ZPOOL add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE3}
+log_must zpool add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE3}
log_must vdevs_in_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE3}"
log_pass "'zpool add -f <pool> <vdev> ...' executes successfully."
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
partition_cleanup
[[ -e $tmpfile ]] && \
- log_must $RM -f $tmpfile
+ log_must rm -f $tmpfile
}
log_assert "'zpool add -n <pool> <vdev> ...' can display the configuration" \
create_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE0}"
log_must poolexists "$TESTPOOL"
-$ZPOOL add -n "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE1} > $tmpfile
+zpool add -n "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE1} > $tmpfile
log_mustnot vdevs_in_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE1}"
str="would update '$TESTPOOL' to the following configuration:"
-$CAT $tmpfile | $GREP "$str" >/dev/null 2>&1
+cat $tmpfile | grep "$str" >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "'zpool add -n <pool> <vdev> ...' is executed as unexpected"
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool "$TESTPOOL"
datasetexists $TESTPOOL1/$TESTVOL && \
- log_must $ZFS destroy -f $TESTPOOL1/$TESTVOL
+ log_must zfs destroy -f $TESTPOOL1/$TESTVOL
poolexists $TESTPOOL1 && \
destroy_pool "$TESTPOOL1"
create_pool "$TESTPOOL1" "${disk}${SLICE_PREFIX}${SLICE1}"
log_must poolexists "$TESTPOOL1"
-log_must $ZFS create -V $VOLSIZE $TESTPOOL1/$TESTVOL
+log_must zfs create -V $VOLSIZE $TESTPOOL1/$TESTVOL
block_device_wait
-log_must $ZPOOL add "$TESTPOOL" $ZVOL_DEVDIR/$TESTPOOL1/$TESTVOL
+log_must zpool add "$TESTPOOL" /dev/zvol/dsk/$TESTPOOL1/$TESTVOL
log_must vdevs_in_pool "$TESTPOOL" "$ZVOL_DEVDIR/$TESTPOOL1/$TESTVOL"
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool "$TESTPOOL1"
if [[ -n $saved_dump_dev ]]; then
- log_must eval "$DUMPADM -u -d $saved_dump_dev > /dev/null"
+ log_must eval "dumpadm -u -d $saved_dump_dev > /dev/null"
fi
partition_cleanup
log_must poolexists "$TESTPOOL1"
unset NOINUSE_CHECK
-log_mustnot $ZPOOL add -f "$TESTPOOL" ${disk}s${SLICE1}
-log_mustnot $ZPOOL add -f "$TESTPOOL" $mnttab_dev
-log_mustnot $ZPOOL add -f "$TESTPOOL" $vfstab_dev
+log_mustnot zpool add -f "$TESTPOOL" ${disk}s${SLICE1}
+log_mustnot zpool add -f "$TESTPOOL" $mnttab_dev
+log_mustnot zpool add -f "$TESTPOOL" $vfstab_dev
-log_must $ECHO "y" | $NEWFS ${DEV_DSKDIR}/$dump_dev > /dev/null 2>&1
-log_must $DUMPADM -u -d ${DEV_DSKDIR}/$dump_dev > /dev/null
-log_mustnot $ZPOOL add -f "$TESTPOOL" $dump_dev
+log_must echo "y" | newfs ${DEV_DSKDIR}/$dump_dev > /dev/null 2>&1
+log_must dumpadm -u -d ${DEV_DSKDIR}/$dump_dev > /dev/null
+log_mustnot zpool add -f "$TESTPOOL" $dump_dev
log_pass "'zpool add' should fail with inapplicable scenarios."
#
#
-# Copyright (c) 2014, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
poolexists $TESTPOOL && \
destroy_pool $TESTPOOL
- [[ -d $TESTDIR ]] && log_must $RM -rf $TESTDIR
+ [[ -d $TESTDIR ]] && log_must rm -rf $TESTDIR
partition_cleanup
}
log_onexit cleanup
create_pool $TESTPOOL ${DISKS%% *}
-log_must $ZFS create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS
-log_must $MKFILE $MINVDEVSIZE $TESTDIR/file.00
+log_must zfs create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must mkfile $MINVDEVSIZE $TESTDIR/file.00
create_pool "$TESTPOOL1" "$TESTDIR/file.00"
-vdevs_list=$($ECHO $TESTDIR/file.{01..16})
-log_must $MKFILE $MINVDEVSIZE $vdevs_list
+vdevs_list=$(echo $TESTDIR/file.{01..16})
+log_must mkfile $MINVDEVSIZE $vdevs_list
-log_must $ZPOOL add -f "$TESTPOOL1" $vdevs_list
+log_must zpool add -f "$TESTPOOL1" $vdevs_list
log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list"
# Attempt to add a file based vdev that's too small.
-log_must $MKFILE 32m $TESTDIR/broken_file
-log_mustnot $ZPOOL add -f "$TESTPOOL1" ${TESTDIR}/broken_file
+log_must mkfile 32m $TESTDIR/broken_file
+log_mustnot zpool add -f "$TESTPOOL1" ${TESTDIR}/broken_file
log_mustnot vdevs_in_pool "$TESTPOOL1" "${TESTDIR}/broken_file"
log_pass "Adding a large number of file based vdevs to a zpool works."
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_add/zpool_add.kshlib
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZPOOL add ${args[i]}
+ log_mustnot zpool add ${args[i]}
((i = i + 1))
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_add/zpool_add.kshlib
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZPOOL add ${args[i]}
+ log_mustnot zpool add ${args[i]}
((i = i + 1))
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_add/zpool_add.kshlib
create_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE0}"
log_must poolexists "$TESTPOOL"
-log_mustnot $ZPOOL add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE1} \
+log_mustnot zpool add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE1} \
${disk}${SLICE_PREFIX}${SLICE1}
-log_mustnot $ZPOOL add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE0}
+log_mustnot zpool add -f "$TESTPOOL" ${disk}${SLICE_PREFIX}${SLICE0}
log_pass "'zpool add' get fail as expected if vdevs are the same or vdev is " \
"contained in the given pool."
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL attach ${args[$i]}
+ log_mustnot zpool attach ${args[$i]}
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $TESTPOOL1 && \
- log_must $ZPOOL destroy -f $TESTPOOL1
+ log_must zpool destroy -f $TESTPOOL1
- for file in `$LS $TESTDIR/file.*`; do
- log_must $RM -f $file
+ for file in `ls $TESTDIR/file.*`; do
+ log_must rm -f $file
done
}
#make raw files to create various configuration pools
typeset -i i=0
while (( i < 3 )); do
- log_must $MKFILE $FILESIZE $TESTDIR/file.$i
+ log_must mkfile $FILESIZE $TESTDIR/file.$i
(( i = i + 1 ))
done
typeset c_cksum=0
typeset tmpfile=/var/tmp/file.$$
typeset healthstr="pool '$pool' is healthy"
- typeset output="`$ZPOOL status -x $pool`"
+ typeset output="`zpool status -x $pool`"
[[ "$output" == "$healthstr" ]] && return $errnum
- $ZPOOL status -x $pool | $GREP -v "^$" | $GREP -v "pool:" \
- | $GREP -v "state:" | $GREP -v "config:" \
- | $GREP -v "errors:" > $tmpfile
+ zpool status -x $pool | grep -v "^$" | grep -v "pool:" \
+ | grep -v "state:" | grep -v "config:" \
+ | grep -v "errors:" > $tmpfile
typeset line
typeset -i fetchbegin=1
while read line; do
if (( $fetchbegin != 0 )); then
- $ECHO $line | $GREP "NAME" >/dev/null 2>&1
+ echo $line | grep "NAME" >/dev/null 2>&1
(( $? == 0 )) && (( fetchbegin = 0 ))
continue
fi
if [[ -n $checkvdev ]]; then
- $ECHO $line | $GREP $checkvdev >/dev/null 2>&1
+ echo $line | grep $checkvdev >/dev/null 2>&1
(( $? != 0 )) && continue
- c_read=`$ECHO $line | $AWK '{print $3}'`
- c_write=`$ECHO $line | $AWK '{print $4}'`
- c_cksum=`$ECHO $line | $AWK '{print $5}'`
+ c_read=`echo $line | awk '{print $3}'`
+ c_write=`echo $line | awk '{print $4}'`
+ c_cksum=`echo $line | awk '{print $5}'`
if [ $c_read != 0 ] || [ $c_write != 0 ] || \
[ $c_cksum != 0 ]
then
break
fi
- c_read=`$ECHO $line | $AWK '{print $3}'`
- c_write=`$ECHO $line | $AWK '{print $4}'`
- c_cksum=`$ECHO $line | $AWK '{print $5}'`
+ c_read=`echo $line | awk '{print $3}'`
+ c_write=`echo $line | awk '{print $4}'`
+ c_cksum=`echo $line | awk '{print $5}'`
if [ $c_read != 0 ] || [ $c_write != 0 ] || \
[ $c_cksum != 0 ]
then
shift
typeset vdev="$@"
- log_must $ZPOOL create -f $TESTPOOL1 $vdev
- log_must $ZFS create $FS
+ log_must zpool create -f $TESTPOOL1 $vdev
+ log_must zfs create $FS
#
# Fully fill up the zfs filesystem in order to make data block errors
# zfs filesystem
#
typeset -i ret=0
typeset -i i=0
- while $TRUE ; do
- $FILE_WRITE -o create -f $file.$i -b $BLOCKSZ -c $NUM_WRITES
+ while true ; do
+ file_write -o create -f $file.$i -b $BLOCKSZ -c $NUM_WRITES
ret=$?
(( $ret != 0 )) && break
(( i = i + 1 ))
done
- (( $ret != 28 )) && log_fail "$FILE_WRITE fails to fully fill up the $FS."
+ (( $ret != 28 )) && log_fail "file_write fails to fully fill up the $FS."
#
#Make errors to the testing pool by overwrite the vdev device with
(( wcount = FILESIZE/1024 - 512 ))
;;
esac
- $DD if=/dev/zero of=$fbase.$i seek=512 bs=1024 count=$wcount conv=notrunc \
+ dd if=/dev/zero of=$fbase.$i seek=512 bs=1024 count=$wcount conv=notrunc \
> /dev/null 2>&1
- log_must $SYNC
- log_must $ZPOOL scrub $TESTPOOL1
+ log_must sync
+ log_must zpool scrub $TESTPOOL1
# Wait for the completion of scrub operation
while is_pool_scrubbing $TESTPOOL1; do
- $SLEEP 1
+ sleep 1
done
check_err $TESTPOOL1 && \
log_fail "No error generated."
if [[ $type == "device" ]]; then
- log_must $ZPOOL clear $TESTPOOL1 $fbase.$i
+ log_must zpool clear $TESTPOOL1 $fbase.$i
! check_err $TESTPOOL1 $fbase.$i && \
log_fail "'zpool clear' fails to clear error for $fbase.$i device."
fi
if [[ $type == "pool" ]]; then
- log_must $ZPOOL clear $TESTPOOL1
+ log_must zpool clear $TESTPOOL1
! check_err $TESTPOOL1 && \
log_fail "'zpool clear' fails to clear error for pool $TESTPOOL1."
fi
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
}
log_note "'zpool clear' clears leaf-device error."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $TESTPOOL1 && \
- log_must $ZPOOL destroy -f $TESTPOOL1
+ log_must zpool destroy -f $TESTPOOL1
[[ -e $file ]] && \
- log_must $RM -f $file
+ log_must rm -f $file
}
log_assert "Execute 'zpool clear' using invalid parameters."
# Create another pool for negative testing, which clears pool error
# with vdev device not in the pool vdev devices.
file=$TESTDIR/file.$$
-log_must $MKFILE $FILESIZE $file
-log_must $ZPOOL create $TESTPOOL1 $file
+log_must mkfile $FILESIZE $file
+log_must zpool create $TESTPOOL1 $file
set -A args "" "-?" "--%" "-1234567" "0.0001" "0.7644" "-0.7644" \
"blah" "blah $DISK" "$TESTPOOL c0txdx" "$TESTPOOL $file" \
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZPOOL clear ${args[i]}
+ log_mustnot zpool clear ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $TESTPOOL1 && \
- log_must $ZPOOL destroy -f $TESTPOOL1
+ log_must zpool destroy -f $TESTPOOL1
- for file in `$LS $TESTDIR/file.*`; do
- log_must $RM -f $file
+ for file in `ls $TESTDIR/file.*`; do
+ log_must rm -f $file
done
}
#make raw files to create a spare pool
typeset -i i=0
while (( i < 5 )); do
- log_must $MKFILE $FILESIZE $TESTDIR/file.$i
+ log_must mkfile $FILESIZE $TESTDIR/file.$i
(( i = i + 1 ))
done
-log_must $ZPOOL create $TESTPOOL1 raidz $TESTDIR/file.1 $TESTDIR/file.2 \
+log_must zpool create $TESTPOOL1 raidz $TESTDIR/file.1 $TESTDIR/file.2 \
$TESTDIR/file.3 spare $TESTDIR/file.4
-log_mustnot $ZPOOL clear $TESTPOOL1 $TESTDIR/file.4
+log_mustnot zpool clear $TESTPOOL1 $TESTDIR/file.4
log_pass "'zpool clear' works on spare device failed as expected."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib
-[[ -z $FORMAT ]] || \
-[[ -z $MKDIR ]] || \
-[[ -z $LSBLK ]] || \
-[[ -z $READLINK ]] || \
-[[ -z $TOUCH ]] && \
- log_fail "Missing required commands"
-
verify_runnable "global"
if ! $(is_physical_device $DISKS) ; then
partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $DISK 7
else
- for disk in `$ECHO $DISKSARRAY`; do
+ for disk in `echo $DISKSARRAY`; do
cleanup_devices $disk
partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 7
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset size=$1
typeset file=$2
typeset disk=$3
- typeset dir=`$DIRNAME $file`
+ typeset dir=`dirname $file`
if [[ -d $dir ]]; then
ismounted $dir $NEWFS_DEFAULT_FS
(( $? == 0 )) && \
- log_must $UMOUNT -f $dir
+ log_must umount -f $dir
else
- log_must $MKDIR -p $dir
+ log_must mkdir -p $dir
fi
- $ECHO "y" | $NEWFS ${DEV_RDSKDIR}/$disk >/dev/null 2>&1
+ echo "y" | newfs ${DEV_RDSKDIR}/$disk >/dev/null 2>&1
(( $? != 0 )) &&
log_fail "Create file system fail."
- log_must $MOUNT ${DEV_DSKDIR}/$disk $dir
- log_must $MKFILE $size $file
+ log_must mount ${DEV_DSKDIR}/$disk $dir
+ log_must mkfile $size $file
}
#
if [[ -d $dir ]]; then
if is_linux; then
if ismounted $dir ext2; then
- typeset dev=$($DF -lht ext2 | \
- $GREP "$dir" | \
- $AWK '{print $1}')
- log_must $UMOUNT -f $dir
+ typeset dev=$(df -lht ext2 | \
+ grep "$dir" | \
+ awk '{print $1}')
+ log_must umount -f $dir
create_pool ${TESTPOOL}.tmp $dev
destroy_pool ${TESTPOOL}.tmp
fi
else
if ismounted $dir ufs; then
- typeset dev=$($DF -lhF ufs | \
- $GREP "$dir" | \
- $AWK '{print $1}')
- log_must $UMOUNT -f $dir
+ typeset dev=$(df -lhF ufs | \
+ grep "$dir" | \
+ awk '{print $1}')
+ log_must umount -f $dir
create_pool ${TESTPOOL}.tmp $dev
destroy_pool ${TESTPOOL}.tmp
fi
fi
- log_must $RM -rf $dir
+ log_must rm -rf $dir
fi
done
}
typeset vfstabdevs=""
typeset line
- $CAT $vfstab | $GREP "^${DEV_DSKDIR}" >$tmpfile
+ cat $vfstab | grep "^${DEV_DSKDIR}" >$tmpfile
while read -r line
do
- vfstabdev=`$ECHO "$line" | $AWK '{print $1}'`
+ vfstabdev=`echo "$line" | awk '{print $1}'`
vfstabdev=${vfstabdev%%:}
vfstabdevs="$vfstabdev $vfstabdevs"
done <$tmpfile
- $RM -f $tmpfile
- $ECHO $vfstabdevs
+ rm -f $tmpfile
+ echo $vfstabdevs
}
#
typeset dumpdev
typeset fnd="Dump device"
- dumpdev=`$DUMPADM | $GREP "$fnd" | $CUT -f2 -d : | \
- $AWK '{print $1}'`
- $ECHO $dumpdev
+ dumpdev=`dumpadm | grep "$fnd" | cut -f2 -d : | \
+ awk '{print $1}'`
+ echo $dumpdev
}
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for file in /var/tmp/$FILEDISK0 /var/tmp/$FILEDISK1 /var/tmp/$FILEDISK2
do
if [[ -e $file ]]; then
- $RM -rf $file
+ rm -rf $file
fi
done
disk=$DISK0
fi
create_pool "$TESTPOOL" "${disk}${SLICE_PREFIX}${SLICE0}"
-log_must $ECHO "y" | $NEWFS \
+log_must echo "y" | newfs \
${DEV_RDSKDIR}/${disk}${SLICE_PREFIX}${SLICE1} >/dev/null 2>&1
create_blockfile $FILESIZE $TESTDIR0/$FILEDISK0 ${disk}${SLICE_PREFIX}${SLICE4}
create_blockfile $FILESIZE1 $TESTDIR1/$FILEDISK1 ${disk}${SLICE_PREFIX}${SLICE5}
-log_must $MKFILE $SIZE /var/tmp/$FILEDISK0
-log_must $MKFILE $SIZE /var/tmp/$FILEDISK1
-log_must $MKFILE $SIZE /var/tmp/$FILEDISK2
+log_must mkfile $SIZE /var/tmp/$FILEDISK0
+log_must mkfile $SIZE /var/tmp/$FILEDISK1
+log_must mkfile $SIZE /var/tmp/$FILEDISK2
unset NOINUSE_CHECK
-log_must $ZPOOL export $TESTPOOL
+log_must zpool export $TESTPOOL
log_note "'zpool create' without '-f' will fail " \
"while device is belong to an exported pool."
-log_mustnot $ZPOOL create "$TESTPOOL1" "${disk}${SLICE_PREFIX}${SLICE0}"
+log_mustnot zpool create "$TESTPOOL1" "${disk}${SLICE_PREFIX}${SLICE0}"
create_pool "$TESTPOOL1" "${disk}${SLICE_PREFIX}${SLICE0}"
log_must poolexists $TESTPOOL1
log_note "'zpool create' without '-f' will fail " \
"while device is using by an ufs filesystem."
-log_mustnot $ZPOOL create "$TESTPOOL2" "${disk}${SLICE_PREFIX}${SLICE1}"
+log_mustnot zpool create "$TESTPOOL2" "${disk}${SLICE_PREFIX}${SLICE1}"
create_pool "$TESTPOOL2" "${disk}${SLICE_PREFIX}${SLICE1}"
log_must poolexists $TESTPOOL2
log_note "'zpool create' mirror without '-f' will fail " \
"while devices have different size."
-log_mustnot $ZPOOL create "$TESTPOOL3" "mirror" $TESTDIR0/$FILEDISK0 \
+log_mustnot zpool create "$TESTPOOL3" "mirror" $TESTDIR0/$FILEDISK0 \
$TESTDIR1/$FILEDISK1
create_pool "$TESTPOOL3" "mirror" $TESTDIR0/$FILEDISK0 $TESTDIR1/$FILEDISK1
log_must poolexists $TESTPOOL3
log_note "'zpool create' mirror without '-f' will fail " \
"while devices are of different types."
-log_mustnot $ZPOOL create "$TESTPOOL4" "mirror" /var/tmp/$FILEDISK0 \
+log_mustnot zpool create "$TESTPOOL4" "mirror" /var/tmp/$FILEDISK0 \
${disk}${SLICE_PREFIX}${SLICE3}
create_pool "$TESTPOOL4" "mirror" \
/var/tmp/$FILEDISK0 ${disk}${SLICE_PREFIX}${SLICE3}
"while device is part of potentially active pool."
create_pool "$TESTPOOL5" "mirror" /var/tmp/$FILEDISK1 \
/var/tmp/$FILEDISK2
-log_must $ZPOOL offline $TESTPOOL5 /var/tmp/$FILEDISK2
-log_must $ZPOOL export $TESTPOOL5
-log_mustnot $ZPOOL create "$TESTPOOL6" /var/tmp/$FILEDISK2
+log_must zpool offline $TESTPOOL5 /var/tmp/$FILEDISK2
+log_must zpool export $TESTPOOL5
+log_mustnot zpool create "$TESTPOOL6" /var/tmp/$FILEDISK2
create_pool $TESTPOOL6 /var/tmp/$FILEDISK2
log_must poolexists $TESTPOOL6
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $tmpfile ]] && log_must $RM -f $tmpfile
+ [[ -e $tmpfile ]] && log_must rm -f $tmpfile
}
tmpfile="/var/tmp/zpool_create_003.tmp$$"
create_pool $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0} > $tmpfile
destroy_pool $TESTPOOL
-$ZPOOL create -n $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0} > $tmpfile
+zpool create -n $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0} > $tmpfile
poolexists $TESTPOOL && \
log_fail "'zpool create -n <pool> <vspec> ...' fail."
str="would create '$TESTPOOL' with the following layout:"
-$CAT $tmpfile | $GREP "$str" >/dev/null 2>&1
+cat $tmpfile | grep "$str" >/dev/null 2>&1
(( $? != 0 )) && \
log_fail "'zpool create -n <pool> <vspec>...' is executed as unexpected."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
poolexists $TESTPOOL && destroy_pool $TESTPOOL
- [[ -d $TESTDIR ]] && log_must $RM -rf $TESTDIR
+ [[ -d $TESTDIR ]] && log_must rm -rf $TESTDIR
partition_disk $SIZE $disk 6
}
disk=${DISKS%% *}
create_pool $TESTPOOL $disk
-log_must $ZFS create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must zfs create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS
-vdevs_list=$($ECHO $TESTDIR/file.{01..16})
-log_must $MKFILE $MINVDEVSIZE $vdevs_list
+vdevs_list=$(echo $TESTDIR/file.{01..16})
+log_must mkfile $MINVDEVSIZE $vdevs_list
create_pool "$TESTPOOL1" $vdevs_list
log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list"
log_fail "Creating pool with large numbers of file-vdevs failed."
fi
-log_must $MKFILE 32m $TESTDIR/broken_file
+log_must mkfile 32m $TESTDIR/broken_file
vdevs_list="$vdevs_list $TESTDIR/broken_file"
-log_mustnot $ZPOOL create -f $TESTPOOL1 $vdevs_list
+log_mustnot zpool create -f $TESTPOOL1 $vdevs_list
log_pass "Storage pools with many file based vdevs can be created."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $TESTPOOL && \
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
for dir in $TESTDIR $TESTDIR1; do
- [[ -d $dir ]] && $RM -rf $dir
+ [[ -d $dir ]] && rm -rf $dir
done
}
done
#prepare raw file for file disk
-[[ -d $TESTDIR ]] && $RM -rf $TESTDIR
-log_must $MKDIR -p $TESTDIR
+[[ -d $TESTDIR ]] && rm -rf $TESTDIR
+log_must mkdir -p $TESTDIR
typeset -i i=1
while (( i < 4 )); do
- log_must $MKFILE $FILESIZE $TESTDIR/file.$i
+ log_must mkfile $FILESIZE $TESTDIR/file.$i
(( i = i + 1 ))
done
#Remove the directory with name as pool name if it exists
-[[ -d /$TESTPOOL ]] && $RM -rf /$TESTPOOL
+[[ -d /$TESTPOOL ]] && rm -rf /$TESTPOOL
file=$TESTDIR/file
for opt in "-R $TESTDIR1" "-m $TESTDIR1" \
while (( i < ${#pooltype[*]} )); do
#Remove the testing pool and its mount directory
poolexists $TESTPOOL && \
- log_must $ZPOOL destroy -f $TESTPOOL
- [[ -d $TESTDIR1 ]] && $RM -rf $TESTDIR1
- log_must $ZPOOL create $opt $TESTPOOL ${pooltype[i]} \
+ log_must zpool destroy -f $TESTPOOL
+ [[ -d $TESTDIR1 ]] && rm -rf $TESTDIR1
+ log_must zpool create $opt $TESTPOOL ${pooltype[i]} \
$file.1 $file.2 $file.3
! poolexists $TESTPOOL && \
log_fail "Createing pool with $opt fails."
- mpt=`$ZFS mount | $EGREP "^$TESTPOOL[^/]" | $AWK '{print $2}'`
+ mpt=`zfs mount | egrep "^$TESTPOOL[^/]" | awk '{print $2}'`
(( ${#mpt} == 0 )) && \
log_fail "$TESTPOOL created with $opt is not mounted."
mpt_val=$(get_prop "mountpoint" $TESTPOOL)
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while ((i < 10)); do
- log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i
+ log_must mkfile $MINVDEVSIZE $mntpnt/vdev$i
eval vdev$i=$mntpnt/vdev$i
((i += 1))
i=0
while ((i < ${#valid_args[@]})); do
- log_must $ZPOOL create $TESTPOOL1 ${valid_args[$i]}
- $SYNC; $SYNC
- log_must $ZPOOL destroy -f $TESTPOOL1
+ log_must zpool create $TESTPOOL1 ${valid_args[$i]}
+ sync; sync
+ log_must zpool destroy -f $TESTPOOL1
((i += 1))
done
i=0
while ((i < ${#forced_args[@]})); do
- log_mustnot $ZPOOL create $TESTPOOL1 ${forced_args[$i]}
- log_must $ZPOOL create -f $TESTPOOL1 ${forced_args[$i]}
- $SYNC; $SYNC
- log_must $ZPOOL destroy -f $TESTPOOL1
+ log_mustnot zpool create $TESTPOOL1 ${forced_args[$i]}
+ log_must zpool create -f $TESTPOOL1 ${forced_args[$i]}
+ sync; sync
+ log_must zpool destroy -f $TESTPOOL1
((i += 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL create ${args[i]}
+ log_mustnot zpool create ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
if [[ $exported_pool == true ]]; then
if [[ $force_pool == true ]]; then
- log_must $ZPOOL create \
+ log_must zpool create \
-f $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0}
else
- log_must $ZPOOL import $TESTPOOL
+ log_must zpool import $TESTPOOL
fi
fi
typeset format_file=/var/tmp/format_overlap.$$
typeset disk=$1
- $ECHO "partition" >$format_file
- $ECHO "0" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "0" >> $format_file
- $ECHO "200m" >> $format_file
- $ECHO "1" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "0" >> $format_file
- $ECHO "400m" >> $format_file
- $ECHO "label" >> $format_file
- $ECHO "" >> $format_file
- $ECHO "q" >> $format_file
- $ECHO "q" >> $format_file
-
- $FORMAT -e -s -d $disk -f $format_file
+ echo "partition" >$format_file
+ echo "0" >> $format_file
+ echo "" >> $format_file
+ echo "" >> $format_file
+ echo "0" >> $format_file
+ echo "200m" >> $format_file
+ echo "1" >> $format_file
+ echo "" >> $format_file
+ echo "" >> $format_file
+ echo "0" >> $format_file
+ echo "400m" >> $format_file
+ echo "label" >> $format_file
+ echo "" >> $format_file
+ echo "q" >> $format_file
+ echo "q" >> $format_file
+
+ format -e -s -d $disk -f $format_file
typeset -i ret=$?
- $RM -fr $format_file
+ rm -fr $format_file
if (( ret != 0 )); then
log_fail "unable to create overlap slice."
log_must create_overlap_slice $disk
unset NOINUSE_CHECK
-log_mustnot $ZPOOL create $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0}
-log_must $ZPOOL create -f $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0}
+log_mustnot zpool create $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0}
+log_must zpool create -f $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0}
destroy_pool $TESTPOOL
# exported device to be as spare vdev need -f to create pool
-log_must $ZPOOL create -f $TESTPOOL $disk
+log_must zpool create -f $TESTPOOL $disk
destroy_pool $TESTPOOL
log_must partition_disk $SIZE $disk 6
create_pool $TESTPOOL ${disk}${SLICE_PREFIX}${SLICE0} \
${disk}${SLICE_PREFIX}${SLICE1}
-log_must $ZPOOL export $TESTPOOL
+log_must zpool export $TESTPOOL
exported_pool=true
-log_mustnot $ZPOOL create $TESTPOOL1 ${disk}${SLICE_PREFIX}${SLICE3} \
+log_mustnot zpool create $TESTPOOL1 ${disk}${SLICE_PREFIX}${SLICE3} \
spare ${disk}${SLICE_PREFIX}${SLICE1}
create_pool $TESTPOOL1 ${disk}${SLICE_PREFIX}${SLICE3} \
spare ${disk}${SLICE_PREFIX}${SLICE1}
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Create two pools but using the same disks.
create_pool $TESTPOOL $opt $disk
- log_mustnot $ZPOOL create -f $TESTPOOL1 $opt $disk
+ log_mustnot zpool create -f $TESTPOOL1 $opt $disk
destroy_pool $TESTPOOL
# Create two pools and part of the devices were overlapped
create_pool $TESTPOOL $opt $disk
- log_mustnot $ZPOOL create -f $TESTPOOL1 $opt ${DISKS% *}
+ log_mustnot zpool create -f $TESTPOOL1 $opt ${DISKS% *}
destroy_pool $TESTPOOL
# Create one pool but using the same disks twice.
- log_mustnot $ZPOOL create -f $TESTPOOL $opt $disk $disk
+ log_mustnot zpool create -f $TESTPOOL $opt $disk $disk
done
log_pass "Using overlapping or in-use disks to create a new pool fails as expected."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
poolexists $TESTPOOL && destroy_pool $TESTPOOL
- [[ -d $TESTDIR ]] && $RM -rf $TESTDIR
+ [[ -d $TESTDIR ]] && rm -rf $TESTDIR
partition_disk $SIZE $disk 6
}
fi
create_pool $TESTPOOL $disk
-log_must $ZFS create $TESTPOOL/$TESTFS
-log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTFS
+log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
typeset -l devsize=$(($SPA_MINDEVSIZE - 1024 * 1024))
for files in $TESTDIR/file1 $TESTDIR/file2
do
- log_must $MKFILE $devsize $files
+ log_must mkfile $devsize $files
done
set -A args \
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL create ${args[i]}
+ log_mustnot zpool create ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
done
if [[ -n $saved_dump_dev ]]; then
- log_must $DUMPADM -u -d $saved_dump_dev
+ log_must dumpadm -u -d $saved_dump_dev
fi
partition_disk $SIZE $disk 6
unset NOINUSE_CHECK
typeset -i i=0
while (( i < ${#arg[*]} )); do
- log_mustnot $ZPOOL create ${arg[i]}
+ log_mustnot zpool create ${arg[i]}
(( i = i+1 ))
done
# now destroy the pool to be polite
-log_must $ZPOOL destroy -f $TESTPOOL
+log_must zpool destroy -f $TESTPOOL
# create/destroy a pool as a simple way to set the partitioning
# back to something normal so we can use this $disk as a dump device
-log_must $ZPOOL create -f $TESTPOOL3 $disk
-log_must $ZPOOL destroy -f $TESTPOOL3
+log_must zpool create -f $TESTPOOL3 $disk
+log_must zpool destroy -f $TESTPOOL3
-log_must $DUMPADM -d ${DEV_DSKDIR}/$specified_dump_dev
-log_mustnot $ZPOOL create -f $TESTPOOL1 "$specified_dump_dev"
+log_must dumpadm -d ${DEV_DSKDIR}/$specified_dump_dev
+log_mustnot zpool create -f $TESTPOOL1 "$specified_dump_dev"
# Also check to see that in-use checking prevents us from creating
# a zpool from just the first slice on the disk.
-log_mustnot $ZPOOL create \
+log_mustnot zpool create \
-f $TESTPOOL1 ${specified_dump_dev}${SLICE_PREFIX}${SLICE0}
log_pass "'zpool create' is failed as expected with inapplicable scenarios."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
fi
}
-typeset swap_disks=`$SWAP -l | $GREP "c[0-9].*d[0-9].*s[0-9]" | \
- $AWK '{print $1}'`
+typeset swap_disks=`swap -l | grep "c[0-9].*d[0-9].*s[0-9]" | \
+ awk '{print $1}'`
log_assert "'zpool create' should fail with disk slice in swap."
log_onexit cleanup
for sdisk in $swap_disks; do
for opt in "-n" "" "-f"; do
- log_mustnot $ZPOOL create $opt $TESTPOOL $sdisk
+ log_mustnot zpool create $opt $TESTPOOL $sdisk
done
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $vol_name; then
- $SWAP -l | $GREP $TMP_FILE > /dev/null 2>&1
+ swap -l | grep $TMP_FILE > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
- log_must $SWAP -d $TMP_FILE
+ log_must swap -d $TMP_FILE
fi
- $RM -f $TMP_FILE
- log_must $UMOUNT $mntp
- $ZFS destroy $vol_name
+ rm -f $TMP_FILE
+ log_must umount $mntp
+ zfs destroy $vol_name
fi
if poolexists $TESTPOOL; then
typeset TMP_FILE=$mntp/tmpfile.$$
create_pool $TESTPOOL $pool_dev
-log_must $ZFS create -V 100m $vol_name
-log_must $ECHO "y" | $NEWFS ${ZVOL_DEVDIR}/$vol_name > /dev/null 2>&1
-log_must $MOUNT ${ZVOL_DEVDIR}/$vol_name $mntp
+log_must zfs create -V 100m $vol_name
+log_must echo "y" | newfs ${ZVOL_DEVDIR}/$vol_name > /dev/null 2>&1
+log_must mount ${ZVOL_DEVDIR}/$vol_name $mntp
-log_must $MKFILE 50m $TMP_FILE
-log_must $SWAP -a $TMP_FILE
+log_must mkfile 50m $TMP_FILE
+log_must swap -a $TMP_FILE
for opt in "-n" "" "-f"; do
- log_mustnot $ZPOOL create $opt $TESTPOOL $TMP_FILE
+ log_mustnot zpool create $opt $TESTPOOL $TMP_FILE
done
log_pass "'zpool create' passed as expected with inapplicable scenario."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
# cleanup zfs pool and dataset
if datasetexists $vol_name; then
- $SWAP -l | $GREP ${ZVOL_DEVDIR}/$vol_name > /dev/null 2>&1
+ swap -l | grep ${ZVOL_DEVDIR}/$vol_name > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
- $SWAP -d ${ZVOL_DEVDIR}/${vol_name}
+ swap -d ${ZVOL_DEVDIR}/${vol_name}
fi
fi
# use zfs vol device in swap to create pool which should fail.
#
create_pool $TESTPOOL $pool_dev
-log_must $ZFS create -V 100m $vol_name
-log_must $SWAP -a ${ZVOl_DEVDIR}/$vol_name
+log_must zfs create -V 100m $vol_name
+log_must swap -a ${ZVOl_DEVDIR}/$vol_name
for opt in "-n" "" "-f"; do
- log_mustnot $ZPOOL create $opt $TESTPOOL1 ${ZVOL_DEVDIR}/${vol_name}
+ log_mustnot zpool create $opt $TESTPOOL1 ${ZVOL_DEVDIR}/${vol_name}
done
# cleanup
-log_must $SWAP -d ${ZVOL_DEVDIR}/${vol_name}
-log_must $ZFS destroy $vol_name
-log_must $ZPOOL destroy $TESTPOOL
+log_must swap -d ${ZVOL_DEVDIR}/${vol_name}
+log_must zfs destroy $vol_name
+log_must zpool destroy $TESTPOOL
log_pass "'zpool create' passed as expected with inapplicable scenario."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#recover swap devices
FSTAB=/tmp/fstab_$$
- $RM -f $FSTAB
+ rm -f $FSTAB
for sdisk in $swap_disks; do
- $ECHO "$sdisk - - swap - no -" >> $FSTAB
+ echo "$sdisk - - swap - no -" >> $FSTAB
done
if [ -e $FSTAB ]
then
- log_must $SWAPADD $FSTAB
+ log_must swapadd $FSTAB
fi
- $RM -f $FSTAB
+ rm -f $FSTAB
if [ $dump_device != "none" ]
then
- log_must $DUMPADM -u -d $dump_device
+ log_must dumpadm -u -d $dump_device
fi
}
disk=$DISK0
fi
typeset pool_dev=${disk}${SLICE_PREFIX}${SLICE0}
-typeset swap_disks=$($SWAP -l | $GREP -v "swapfile" | $AWK '{print $1}')
-typeset dump_device=$($DUMPADM | $GREP "Dump device" | $AWK '{print $3}')
+typeset swap_disks=$(swap -l | grep -v "swapfile" | awk '{print $1}')
+typeset dump_device=$(dumpadm | grep "Dump device" | awk '{print $3}')
log_assert "'zpool create' should success with no device in swap."
log_onexit cleanup
for sdisk in $swap_disks; do
log_note "Executing: swap -d $sdisk"
- $SWAP -d $sdisk >/dev/null 2>&1;
+ swap -d $sdisk >/dev/null 2>&1;
if [[ $? != 0 ]]; then
log_untested "Unable to delete swap device $sdisk because of" \
"insufficient RAM"
fi
done
-log_must $ZPOOL create $TESTPOOL $pool_dev
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool create $TESTPOOL $pool_dev
+log_must zpool destroy $TESTPOOL
log_pass "'zpool create' passed as expected with applicable scenario."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
if [[ -d $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
fi
}
log_onexit cleanup
if [[ ! -d $TESTDIR ]]; then
- log_must $MKDIR -p $TESTDIR
+ log_must mkdir -p $TESTDIR
fi
typeset -i i=0
while (( i < 2 )); do
- log_must $RM -rf $TESTDIR/*
+ log_must rm -rf $TESTDIR/*
if (( i == 0 )); then
- log_must $MKDIR $TESTDIR/testdir
+ log_must mkdir $TESTDIR/testdir
else
- log_must $TOUCH $TESTDIR/testfile
+ log_must touch $TESTDIR/testfile
fi
- log_mustnot $ZPOOL create -m $TESTDIR -f $TESTPOOL $pool_dev
+ log_mustnot zpool create -m $TESTDIR -f $TESTPOOL $pool_dev
log_mustnot poolexists $TESTPOOL
(( i = i + 1 ))
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $TESTPOOL && destroy_pool $TESTPOOL
- [[ -f $CPATH ]] && log_must $RM $CPATH
+ [[ -f $CPATH ]] && log_must rm $CPATH
}
log_onexit cleanup
typeset -i i=0;
while [ $i -lt "${#props[@]}" ]
do
- log_must $ZPOOL create -o ${props[$i]}=${vals[$i]} $TESTPOOL $disk
+ log_must zpool create -o ${props[$i]}=${vals[$i]} $TESTPOOL $disk
RESULT=$(get_pool_prop ${props[$i]} $TESTPOOL)
if [[ $RESULT != ${vals[$i]} ]]
then
- $ZPOOL get all $TESTPOOL
+ zpool get all $TESTPOOL
log_fail "Pool was created without setting the ${props[$i]} " \
"property"
fi
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
((i = i + 1))
done
poolexists $TESTPOOL && destroy_pool $TESTPOOL
# pick two properties, and verify we can create with those as well
-log_must $ZPOOL create -o delegation=off -o cachefile=$CPATH $TESTPOOL $disk
+log_must zpool create -o delegation=off -o cachefile=$CPATH $TESTPOOL $disk
RESULT=$(get_pool_prop delegation $TESTPOOL)
if [[ $RESULT != off ]]
then
- $ZPOOL get all $TESTPOOL
+ zpool get all $TESTPOOL
log_fail "Pool created without the delegation prop."
fi
RESULT=$(get_pool_prop cachefile $TESTPOOL)
if [[ $RESULT != $CPATH ]]
then
- $ZPOOL get all $TESTPOOL
+ zpool get all $TESTPOOL
log_fail "Pool created without the cachefile prop."
fi
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [ $i -lt "${#props[@]}" ]
do
# try to set each property in the prop list with it's corresponding val
- log_mustnot $ZPOOL create -o ${props[$i]}=${vals[$i]} $TESTPOOL $disk
+ log_mustnot zpool create -o ${props[$i]}=${vals[$i]} $TESTPOOL $disk
if poolexists $TESTPOOL
then
log_fail "$TESTPOOL was created when setting ${props[$i]}!"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
if [ -d ${TESTPOOL}.root ]
then
- log_must $RMDIR ${TESTPOOL}.root
+ log_must rmdir ${TESTPOOL}.root
fi
}
disk=$DISK0
fi
-log_must $MKDIR /${TESTPOOL}.root
-log_must $ZPOOL create -R /${TESTPOOL}.root $TESTPOOL $disk
+log_must mkdir /${TESTPOOL}.root
+log_must zpool create -R /${TESTPOOL}.root $TESTPOOL $disk
if [ ! -d /${TESTPOOL}.root ]
then
log_fail "Mountpoint was not create when using zpool with -R flag!"
fi
-FS=$($ZFS list $TESTPOOL)
+FS=$(zfs list $TESTPOOL)
if [ -z "$FS" ]
then
log_fail "Mounted filesystem at /${TESTPOOL}.root isn't ZFS!"
fi
-log_must $ZPOOL get all $TESTPOOL
-$ZPOOL get all $TESTPOOL > /tmp/values.$$
+log_must zpool get all $TESTPOOL
+zpool get all $TESTPOOL > /tmp/values.$$
# check for the cachefile property, verifying that it's set to 'none'
-$GREP "$TESTPOOL[ ]*cachefile[ ]*none" /tmp/values.$$ > /dev/null 2>&1
+grep "$TESTPOOL[ ]*cachefile[ ]*none" /tmp/values.$$ > /dev/null 2>&1
if [ $? -ne 0 ]
then
log_fail "zpool property \'cachefile\' was not set to \'none\'."
fi
# check that the root = /mountpoint property is set correctly
-$GREP "$TESTPOOL[ ]*altroot[ ]*/${TESTPOOL}.root" /tmp/values.$$ > /dev/null 2>&1
+grep "$TESTPOOL[ ]*altroot[ ]*/${TESTPOOL}.root" /tmp/values.$$ > /dev/null 2>&1
if [ $? -ne 0 ]
then
log_fail "zpool property root was not found in pool output."
fi
-$RM /tmp/values.$$
+rm /tmp/values.$$
# finally, check that the pool has no reference in /etc/zfs/zpool.cache
if [[ -f /etc/zfs/zpool.cache ]] ; then
- REF=$($STRINGS /etc/zfs/zpool.cache | $GREP ${TESTPOOL})
+ REF=$(strings /etc/zfs/zpool.cache | grep ${TESTPOOL})
if [ ! -z "$REF" ]
then
- $STRINGS /etc/zfs/zpool.cache
+ strings /etc/zfs/zpool.cache
log_fail "/etc/zfs/zpool.cache appears to have a reference to $TESTPOOL"
fi
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( $i < ${#RW_FS_PROP[*]} )); do
- log_must $ZPOOL create -O ${RW_FS_PROP[$i]} -f $TESTPOOL $DISKS
+ log_must zpool create -O ${RW_FS_PROP[$i]} -f $TESTPOOL $DISKS
datasetexists $TESTPOOL || \
log_fail "zpool create $TESTPOOL fail."
propertycheck $TESTPOOL ${RW_FS_PROP[i]} || \
log_fail "${RW_FS_PROP[i]} is failed to set."
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
log_onexit cleanup
(( i = i + 1 ))
done
-log_must $ZPOOL create $opts -f $TESTPOOL $DISKS
+log_must zpool create $opts -f $TESTPOOL $DISKS
datasetexists $TESTPOOL || log_fail "zpool create $TESTPOOL fail."
i=0
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
log_onexit cleanup
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZPOOL create -O ${args[i]} -f $TESTPOOL $DISKS
+ log_mustnot zpool create -O ${args[i]} -f $TESTPOOL $DISKS
((i = i + 1))
done
{
if [[ -n "$child_pids" ]]; then
for wait_pid in $child_pids; do
- $KILL $wait_pid 2>/dev/null
+ kill $wait_pid 2>/dev/null
done
fi
destroy_pool $pool
fi
- $RM -f $vdev0 $vdev1
+ rm -f $vdev0 $vdev1
done
fi
}
typeset retry=10
typeset j=0
- $TRUNCATE -s $FILESIZE $vdev0
- $TRUNCATE -s $FILESIZE $vdev1
+ truncate -s $FILESIZE $vdev0
+ truncate -s $FILESIZE $vdev1
while [[ $j -lt $iters ]]; do
((j = j + 1))
- $SLEEP 1
+ sleep 1
- $ZPOOL create $pool $vdev0 $vdev1
+ zpool create $pool $vdev0 $vdev1
if [ $? -ne 0 ]; then
return 1;
fi
while [[ $k -lt $retry ]]; do
((k = k + 1))
- $ZPOOL destroy $pool
+ zpool destroy $pool
if [ $? -eq 0 ]; then
break;
elif [ $k -eq $retry ]; then
return 1;
fi
- $SLEEP 3
+ sleep 3
done
done
- $RM -f $vdev0 $vdev1
+ rm -f $vdev0 $vdev1
return 0
}
# 1. Create 128 process each of which create/destroy a pool 5 times.
typeset i=0
while [[ $i -lt 128 ]]; do
- typeset uuid=$($UUIDGEN | $CUT -c1-13)
+ typeset uuid=$(uuidgen | cut -c1-13)
zpool_stress $TESTPOOL-$uuid 5 &
typeset pid=$!
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
function check_features
{
- for state in $($ZPOOL get all $TESTPOOL | \
- $AWK '$2 ~ /feature@/ { print $3 }'); do
+ for state in $(zpool get all $TESTPOOL | \
+ awk '$2 ~ /feature@/ { print $3 }'); do
if [[ "$state" != "enabled" && "$state" != "active" ]]; then
log_fail "some features are not enabled on new pool"
fi
log_assert "'zpool create' creates pools with all features enabled"
-log_must $ZPOOL create -f $TESTPOOL $DISKS
+log_must zpool create -f $TESTPOOL $DISKS
check_features
-log_must $ZPOOL destroy -f $TESTPOOL
+log_must zpool destroy -f $TESTPOOL
-log_must $ZPOOL create -f -o feature@async_destroy=enabled $TESTPOOL $DISKS
+log_must zpool create -f -o feature@async_destroy=enabled $TESTPOOL $DISKS
check_features
log_pass "'zpool create' creates pools with all features enabled"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
function check_features
{
- for prop in $($ZPOOL get all $TESTPOOL | $AWK '$2 ~ /feature@/ { print $2 }'); do
- state=$($ZPOOL list -Ho "$prop" $TESTPOOL)
+ for prop in $(zpool get all $TESTPOOL | awk '$2 ~ /feature@/ { print $2 }'); do
+ state=$(zpool list -Ho "$prop" $TESTPOOL)
if [[ "$state" != "disabled" ]]; then
log_fail "$prop is enabled on new pool"
fi
log_assert "'zpool create -d' creates pools with all features disabled"
-log_must $ZPOOL create -f -d $TESTPOOL $DISKS
+log_must zpool create -f -d $TESTPOOL $DISKS
check_features
-log_must $ZPOOL destroy -f $TESTPOOL
+log_must zpool destroy -f $TESTPOOL
-log_must $ZPOOL create -f -o version=28 $TESTPOOL $DISKS
+log_must zpool create -f -o version=28 $TESTPOOL $DISKS
check_features
log_pass
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
log_onexit cleanup
log_assert "'zpool create -d -o feature@async_destroy=enabled' only " \
"enables async_destroy"
-log_must $ZPOOL create -f -d -o feature@async_destroy=enabled $TESTPOOL $DISKS
+log_must zpool create -f -d -o feature@async_destroy=enabled $TESTPOOL $DISKS
-state=$($ZPOOL list -Ho feature@async_destroy $TESTPOOL)
+state=$(zpool list -Ho feature@async_destroy $TESTPOOL)
if [[ "$state" != "enabled" ]]; then
log_fail "async_destroy has state $state"
fi
-for prop in $($ZPOOL get all $TESTPOOL | $AWK '$2 ~ /feature@/ { print $2 }'); do
- state=$($ZPOOL list -Ho "$prop" $TESTPOOL)
+for prop in $(zpool get all $TESTPOOL | awk '$2 ~ /feature@/ { print $2 }'); do
+ state=$(zpool list -Ho "$prop" $TESTPOOL)
if [[ "$prop" != "feature@async_destroy" \
&& "$state" != "disabled" ]]; then
log_fail "$prop is enabled on new pool"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
log_assert "'zpool create' with invalid feature names/states fails"
log_onexit cleanup
for prop in $properties; do
- log_mustnot $ZPOOL create -f -o "$prop" $TESTPOOL $DISKS
+ log_mustnot zpool create -f -o "$prop" $TESTPOOL $DISKS
log_mustnot datasetexists $TESTPOOL
done
function cleanup
{
- datasetexists $TESTPOOL && log_must $ZPOOL destroy $TESTPOOL
+ datasetexists $TESTPOOL && log_must zpool destroy $TESTPOOL
}
function check_features
{
typeset feature="${1}"
- ${ZPOOL} get all ${TESTPOOL} | $GREP feature@ | while read line; do
+ zpool get all ${TESTPOOL} | grep feature@ | while read line; do
set -- $(echo "${line}")
if [[ "feature@${feature}" == "${2}" ]]; then
while (( $i < ${#features[*]} )); do
log_assert "'zpool create' creates pools with ${features[i]} disabled"
- log_must $ZPOOL create -f -o "feature@${features[i]}=disabled" \
+ log_must zpool create -f -o "feature@${features[i]}=disabled" \
$TESTPOOL $DISKS
log_must check_features "${features[i]}"
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
(( i = i+1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
poolexists $TESTPOOL2 && destroy_pool $TESTPOOL2
datasetexists $TESTPOOL1/$TESTVOL && \
- log_must $ZFS destroy -f $TESTPOOL1/$TESTVOL
+ log_must zfs destroy -f $TESTPOOL1/$TESTVOL
typeset pool
for pool in $TESTPOOL1 $TESTPOOL; do
create_pool "$TESTPOOL" "${DISK}${SLICE_PREFIX}${SLICE0}"
create_pool "$TESTPOOL1" "${DISK}${SLICE_PREFIX}${SLICE1}"
-log_must $ZFS create -s -V $VOLSIZE $TESTPOOL1/$TESTVOL
+log_must zfs create -s -V $VOLSIZE $TESTPOOL1/$TESTVOL
create_pool "$TESTPOOL2" "${ZVOL_DEVDIR}/$TESTPOOL1/$TESTVOL"
typeset -i i=0
while (( i < ${#datasets[*]} )); do
log_must poolexists "${datasets[i]}"
- log_must $ZPOOL destroy "${datasets[i]}"
+ log_must zpool destroy "${datasets[i]}"
log_mustnot poolexists "${datasets[i]}"
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
ismounted $TESTDIR
(( $? == 0 )) && \
log_must $UNMOUNT $TESTDIR
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
fi
typeset -i i=0
while (( $i < ${#datasets[*]} )); do
datasetexists ${datasets[i]} && \
- log_must $ZFS destroy ${datasets[i]}
+ log_must zfs destroy ${datasets[i]}
(( i = i + 1 ))
done
typeset cwd=""
create_pool "$TESTPOOL" "$DISK"
-log_must $ZFS create $TESTPOOL/$TESTFS
-log_must $MKDIR -p $TESTDIR
-log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
-log_must $ZFS create $TESTPOOL/$TESTCTR
-log_must $ZFS create $TESTPOOL/$TESTCTR/$TESTFS1
-log_must $ZFS create -V $VOLSIZE $TESTPOOL/$TESTVOL
+log_must zfs create $TESTPOOL/$TESTFS
+log_must mkdir -p $TESTDIR
+log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTCTR
+log_must zfs create $TESTPOOL/$TESTCTR/$TESTFS1
+log_must zfs create -V $VOLSIZE $TESTPOOL/$TESTVOL
typeset -i i=0
while (( $i < ${#datasets[*]} )); do
for dir in $TESTDIR /$TESTPOOL/$TESTCTR /$TESTPOOL/$TESTCTR/$TESTFS1 ; do
log_must cd $dir
- log_mustnot $ZPOOL destroy $TESTPOOL
+ log_mustnot zpool destroy $TESTPOOL
# Need mount here, otherwise some dataset may be unmounted.
- log_must $ZFS mount -a
+ log_must zfs mount -a
i=0
while (( i < ${#datasets[*]} )); do
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZPOOL destroy ${args[i]}
+ log_mustnot zpool destroy ${args[i]}
((i = i + 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL detach ${args[$i]}
+ log_mustnot zpool detach ${args[$i]}
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if poolexists $TESTPOOL1; then
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
fi
for i in 1 2 3; do
if datasetexists $VFS/vol$i; then
- log_must $ZFS destroy $VFS/vol$i
+ log_must zfs destroy $VFS/vol$i
fi
done
}
log_assert "zpool can be autoexpanded after set autoexpand=on on LUN expansion"
for i in 1 2 3; do
- log_must $ZFS create -V $org_size $VFS/vol$i
+ log_must zfs create -V $org_size $VFS/vol$i
done
for type in " " mirror raidz raidz2; do
- log_must $ZPOOL create -o autoexpand=on $TESTPOOL1 $type \
+ log_must zpool create -o autoexpand=on $TESTPOOL1 $type \
${ZVOL_DEVDIR}/$VFS/vol1 ${ZVOL_DEVDIR}/$VFS/vol2 \
${ZVOL_DEVDIR}/$VFS/vol3
fi
typeset prev_size=$(get_pool_prop size $TESTPOOL1)
- typeset zfs_prev_size=$($ZFS get -p avail $TESTPOOL1 | $TAIL -1 | \
- $AWK '{print $3}')
+ typeset zfs_prev_size=$(zfs get -p avail $TESTPOOL1 | tail -1 | \
+ awk '{print $3}')
for i in 1 2 3; do
- log_must $ZFS set volsize=$exp_size $VFS/vol$i
+ log_must zfs set volsize=$exp_size $VFS/vol$i
done
- $SYNC
- $SLEEP 10
- $SYNC
+ sync
+ sleep 10
+ sync
typeset expand_size=$(get_pool_prop size $TESTPOOL1)
- typeset zfs_expand_size=$($ZFS get -p avail $TESTPOOL1 | $TAIL -1 | \
- $AWK '{print $3}')
+ typeset zfs_expand_size=$(zfs get -p avail $TESTPOOL1 | tail -1 | \
+ awk '{print $3}')
log_note "$TESTPOOL1 $type has previous size: $prev_size and " \
"expanded size: $expand_size"
# check for zpool history for the pool size expansion
if [[ $type == " " ]]; then
typeset expansion_size=$(($exp_size-$org_size))
- typeset size_addition=$($ZPOOL history -il $TESTPOOL1 |\
- $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size}" | wc -l)
+ typeset size_addition=$(zpool history -il $TESTPOOL1 |\
+ grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size}" | wc -l)
if [[ $size_addition -ne $i ]]; then
log_fail "pool $TESTPOOL1 is not autoexpand " \
fi
elif [[ $type == "mirror" ]]; then
typeset expansion_size=$(($exp_size-$org_size))
- $ZPOOL history -il $TESTPOOL1 | \
- $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size})" >/dev/null 2>&1
+ zpool history -il $TESTPOOL1 | \
+ grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size})" >/dev/null 2>&1
if [[ $? -ne 0 ]] ; then
log_fail "pool $TESTPOOL1 is not autoexpand " \
fi
else
typeset expansion_size=$((3*($exp_size-$org_size)))
- $ZPOOL history -il $TESTPOOL1 | \
- $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size})" >/dev/null 2>&1
+ zpool history -il $TESTPOOL1 | \
+ grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size})" >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
log_fail "pool $TESTPOOL is not autoexpand " \
"expansion"
fi
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
for i in 1 2 3; do
- log_must $ZFS set volsize=$org_size $VFS/vol$i
+ log_must zfs set volsize=$org_size $VFS/vol$i
done
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
#
function cleanup
{
if poolexists $TESTPOOL1; then
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
fi
for i in 1 2 3; do
- [ -e ${TEMPFILE}.$i ] && log_must $RM ${TEMPFILE}.$i
+ [ -e ${TEMPFILE}.$i ] && log_must rm ${TEMPFILE}.$i
done
}
for type in " " mirror raidz raidz2; do
for i in 1 2 3; do
- log_must $TRUNCATE -s $org_size ${TEMPFILE}.$i
+ log_must truncate -s $org_size ${TEMPFILE}.$i
done
- log_must $ZPOOL create $TESTPOOL1 $type $TEMPFILE.1 \
+ log_must zpool create $TESTPOOL1 $type $TEMPFILE.1 \
$TEMPFILE.2 $TEMPFILE.3
typeset autoexp=$(get_pool_prop autoexpand $TESTPOOL1)
"$autoexp"
fi
typeset prev_size=$(get_pool_prop size $TESTPOOL1)
- typeset zfs_prev_size=$($ZFS get -p avail $TESTPOOL1 | $TAIL -1 | \
- $AWK '{print $3}')
+ typeset zfs_prev_size=$(zfs get -p avail $TESTPOOL1 | tail -1 | \
+ awk '{print $3}')
for i in 1 2 3; do
- log_must $TRUNCATE -s $exp_size ${TEMPFILE}.$i
+ log_must truncate -s $exp_size ${TEMPFILE}.$i
done
for i in 1 2 3; do
- log_must $ZPOOL online -e $TESTPOOL1 ${TEMPFILE}.$i
+ log_must zpool online -e $TESTPOOL1 ${TEMPFILE}.$i
done
- $SYNC
- $SLEEP 10
- $SYNC
+ sync
+ sleep 10
+ sync
typeset expand_size=$(get_pool_prop size $TESTPOOL1)
- typeset zfs_expand_size=$($ZFS get -p avail $TESTPOOL1 | $TAIL -1 | \
- $AWK '{print $3}')
+ typeset zfs_expand_size=$(zfs get -p avail $TESTPOOL1 | tail -1 | \
+ awk '{print $3}')
log_note "$TESTPOOL1 $type has previous size: $prev_size and " \
"expanded size: $expand_size"
# check for zpool history for the pool size expansion
if [[ $type == " " ]]; then
typeset expansion_size=$(($exp_size-$org_size))
- typeset size_addition=$($ZPOOL history -il $TESTPOOL1 \
- | $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size}" | wc -l)
+ typeset size_addition=$(zpool history -il $TESTPOOL1 \
+ | grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size}" | wc -l)
if [[ $size_addition -ne $i ]]; then
log_fail "pool $TESTPOOL1 is not autoexpand " \
fi
elif [[ $type == "mirror" ]]; then
typeset expansion_size=$(($exp_size-$org_size))
- $ZPOOL history -il $TESTPOOL1 | \
- $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size})" >/dev/null 2>&1
+ zpool history -il $TESTPOOL1 | \
+ grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size})" >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
log_fail "pool $TESTPOOL1 is not autoexpand " \
fi
else
typeset expansion_size=$((3*($exp_size-$org_size)))
- $ZPOOL history -il $TESTPOOL1 | \
- $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" | \
- $GREP "(+${expansion_size})" >/dev/null 2>&1
+ zpool history -il $TESTPOOL1 | \
+ grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" | \
+ grep "(+${expansion_size})" >/dev/null 2>&1
if [[ $? -ne 0 ]] ; then
log_fail "pool $TESTPOOL1 is not autoexpand " \
log_fail "pool $TESTPOOL1 is not autoexpanded after LUN " \
"expansion"
fi
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
done
log_pass "zpool can expand after zpool online -e zvol vdevs on LUN expansion"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if poolexists $TESTPOOL1; then
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
fi
for i in 1 2 3; do
if datasetexists $VFS/vol$i; then
- log_must $ZFS destroy $VFS/vol$i
+ log_must zfs destroy $VFS/vol$i
fi
done
}
log_assert "zpool can not expand if set autoexpand=off after LUN expansion"
for i in 1 2 3; do
- log_must $ZFS create -V $org_size $VFS/vol$i
+ log_must zfs create -V $org_size $VFS/vol$i
done
for type in " " mirror raidz raidz2; do
- log_must $ZPOOL create $TESTPOOL1 $type ${ZVOL_DEVDIR}/$VFS/vol1 \
+ log_must zpool create $TESTPOOL1 $type ${ZVOL_DEVDIR}/$VFS/vol1 \
${ZVOL_DEVDIR}/$VFS/vol2 ${ZVOL_DEVDIR}/$VFS/vol3
typeset autoexp=$(get_pool_prop autoexpand $TESTPOOL1)
typeset prev_size=$(get_pool_prop size $TESTPOOL1)
for i in 1 2 3; do
- log_must $ZFS set volsize=$exp_size $VFS/vol$i
+ log_must zfs set volsize=$exp_size $VFS/vol$i
done
- $SYNC
- $SLEEP 10
- $SYNC
+ sync
+ sleep 10
+ sync
# check for zpool history for the pool size expansion
- $ZPOOL history -il $TESTPOOL1 | $GREP "pool '$TESTPOOL1' size:" | \
- $GREP "vdev online" >/dev/null 2>&1
+ zpool history -il $TESTPOOL1 | grep "pool '$TESTPOOL1' size:" | \
+ grep "vdev online" >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
log_fail "pool $TESTPOOL1 is not autoexpand after LUN " \
log_fail "pool $TESTPOOL1 size changed after LUN expansion"
fi
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
for i in 1 2 3; do
- log_must $ZFS set volsize=$org_size $VFS/vol$i
+ log_must zfs set volsize=$org_size $VFS/vol$i
done
done
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_export/zpool_export.cfg
typeset dir=$(get_device_dir $DISKS)
datasetexists "$TESTPOOL/$TESTFS" || \
- log_must $ZPOOL import -d $dir $TESTPOOL
+ log_must zpool import -d $dir $TESTPOOL
ismounted "$TESTPOOL/$TESTFS"
(( $? != 0 )) && \
- log_must $ZFS mount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
}
log_onexit cleanup
log_assert "Verify a pool can be exported."
-log_must $ZFS umount $TESTDIR
-log_must $ZPOOL export $TESTPOOL
+log_must zfs umount $TESTDIR
+log_must zpool export $TESTPOOL
poolexists $TESTPOOL && \
log_fail "$TESTPOOL unexpectedly found in 'zpool list' output."
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
log_fail "Couldn't cd back to $olddir"
datasetexists "$TESTPOOL/$TESTFS" || \
- log_must $ZPOOL import -d $dir $TESTPOOL
+ log_must zpool import -d $dir $TESTPOOL
ismounted "$TESTPOOL/$TESTFS"
(( $? != 0 )) && \
- log_must $ZFS mount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
[[ -e $TESTDIR/$TESTFILE0 ]] && \
- log_must $RM -rf $TESTDIR/$TESTFILE0
+ log_must rm -rf $TESTDIR/$TESTFILE0
}
olddir=$PWD
cd $TESTDIR || \
log_fail "Couldn't cd to $TESTDIR"
-log_mustnot $ZPOOL export $TESTPOOL
+log_mustnot zpool export $TESTPOOL
poolexists $TESTPOOL || \
log_fail "$TESTPOOL not found in 'zpool list' output."
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
{
typeset dir=$(get_device_dir $DISKS)
datasetexists "$TESTPOOL/$TESTFS" || \
- log_must $ZPOOL import -d $dir $TESTPOOL
+ log_must zpool import -d $dir $TESTPOOL
ismounted "$TESTPOOL/$TESTFS"
(( $? != 0 )) && \
- log_must $ZFS mount $TESTPOOL/$TESTFS
+ log_must zfs mount $TESTPOOL/$TESTFS
}
log_onexit cleanup
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZPOOL export ${args[i]}
+ log_mustnot zpool export ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
mntpnt=$(get_prop mountpoint $TESTPOOL)
- datasetexists $TESTPOOL1 || log_must $ZPOOL import -d $mntpnt $TESTPOOL1
+ datasetexists $TESTPOOL1 || log_must zpool import -d $mntpnt $TESTPOOL1
datasetexists $TESTPOOL1 && destroy_pool $TESTPOOL1
datasetexists $TESTPOOL2 && destroy_pool $TESTPOOL2
typeset -i i=0
while ((i < 5)); do
if [[ -e $mntpnt/vdev$i ]]; then
- log_must $RM -f $mntpnt/vdev$i
+ log_must rm -f $mntpnt/vdev$i
fi
((i += 1))
done
typeset -i i=0
while ((i < 5)); do
- log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i
+ log_must mkfile $MINVDEVSIZE $mntpnt/vdev$i
eval vdev$i=$mntpnt/vdev$i
((i += 1))
done
-log_must $ZPOOL create $TESTPOOL1 mirror $vdev0 $vdev1 spare $vdev4
-log_must $ZPOOL create $TESTPOOL2 mirror $vdev2 $vdev3 spare $vdev4
+log_must zpool create $TESTPOOL1 mirror $vdev0 $vdev1 spare $vdev4
+log_must zpool create $TESTPOOL2 mirror $vdev2 $vdev3 spare $vdev4
-log_must $ZPOOL export $TESTPOOL1
-log_must $ZPOOL import -d $mntpnt $TESTPOOL1
+log_must zpool export $TESTPOOL1
+log_must zpool import -d $mntpnt $TESTPOOL1
-log_must $ZPOOL replace $TESTPOOL1 $vdev0 $vdev4
-log_must $ZPOOL detach $TESTPOOL1 $vdev4
-log_must $ZPOOL export $TESTPOOL1
-log_must $ZPOOL import -d $mntpnt $TESTPOOL1
+log_must zpool replace $TESTPOOL1 $vdev0 $vdev4
+log_must zpool detach $TESTPOOL1 $vdev4
+log_must zpool export $TESTPOOL1
+log_must zpool import -d $mntpnt $TESTPOOL1
-log_must $ZPOOL replace $TESTPOOL1 $vdev0 $vdev4
-log_mustnot $ZPOOL export $TESTPOOL1
+log_must zpool replace $TESTPOOL1 $vdev0 $vdev4
+log_mustnot zpool export $TESTPOOL1
-log_must $ZPOOL export -f $TESTPOOL1
-log_must $ZPOOL import -d $mntpnt $TESTPOOL1
+log_must zpool export -f $TESTPOOL1
+log_must zpool import -d $mntpnt $TESTPOOL1
log_pass "Verify zpool export succeed or fail with spare."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
log_assert "Zpool get usage message is displayed when called with no arguments."
-$ZPOOL get > /dev/null 2>&1
+zpool get > /dev/null 2>&1
RET=$?
if [ $RET != 2 ]
then
log_fail "\"zpool get\" exit status $RET should be equal to 2."
fi
-OUTPUT=$($ZPOOL get 2>&1 | $GREP -i usage)
+OUTPUT=$(zpool get 2>&1 | grep -i usage)
RET=$?
if [ $RET != 0 ]
then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
TESTPOOL=${TESTPOOL%%/*}
fi
-log_must $ZPOOL get all $TESTPOOL
-$ZPOOL get all $TESTPOOL > /tmp/values.$$
+log_must zpool get all $TESTPOOL
+zpool get all $TESTPOOL > /tmp/values.$$
log_note "Checking zpool get all output for a header."
-$GREP ^"NAME " /tmp/values.$$ > /dev/null 2>&1
+grep ^"NAME " /tmp/values.$$ > /dev/null 2>&1
if [ $? -ne 0 ]
then
log_fail "The header was not printed from zpool get all"
while [ $i -lt "${#properties[@]}" ]
do
log_note "Checking for ${properties[$i]} property"
- $GREP "$TESTPOOL *${properties[$i]}" /tmp/values.$$ > /dev/null 2>&1
+ grep "$TESTPOOL *${properties[$i]}" /tmp/values.$$ > /dev/null 2>&1
if [ $? -ne 0 ]
then
log_fail "zpool property ${properties[$i]} was not found\
# increment the counter to include the header line
i=$(( $i + 1 ))
-COUNT=$($WC /tmp/values.$$ | $AWK '{print $1}')
+COUNT=$(wc /tmp/values.$$ | awk '{print $1}')
if [ $i -ne $COUNT ]
then
log_fail "Found zpool features not in the zpool_get test config $i/$COUNT."
-$RM /tmp/values.$$
+rm /tmp/values.$$
log_pass "Zpool get all works as expected"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_get/zpool_get.cfg
while [ $i -lt "${#properties[@]}" ]
do
log_note "Checking for ${properties[$i]} property"
- log_must eval "$ZPOOL get ${properties[$i]} $TESTPOOL > /tmp/value.$$"
- $GREP "${properties[$i]}" /tmp/value.$$ > /dev/null 2>&1
+ log_must eval "zpool get ${properties[$i]} $TESTPOOL > /tmp/value.$$"
+ grep "${properties[$i]}" /tmp/value.$$ > /dev/null 2>&1
if [ $? -ne 0 ]
then
log_fail "${properties[$i]} not seen in output"
fi
- $GREP "^NAME " /tmp/value.$$ > /dev/null 2>&1
+ grep "^NAME " /tmp/value.$$ > /dev/null 2>&1
# only need to check this once.
if [ $i -eq 0 ] && [ $? -ne 0 ]
then
i=$(( $i + 1 ))
done
-$RM /tmp/value.$$
+rm /tmp/value.$$
log_pass "Zpool get returns values for all known properties"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
for arg in $arguments
do
- log_mustnot $ZPOOL get $arg
+ log_mustnot zpool get $arg
done
log_pass "Malformed zpool get commands are rejected"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- datasetexists $clone && log_must $ZFS destroy $clone
- datasetexists $snap && log_must $ZFS destroy $snap
+ datasetexists $clone && log_must zfs destroy $clone
+ datasetexists $snap && log_must zfs destroy $snap
}
log_assert "Verify 'zpool history' can deal with non-existent pools and " \
"garbage to the command."
log_onexit cleanup
-log_must $ZFS snapshot $snap
-log_must $ZFS clone $snap $clone
+log_must zfs snapshot $snap
+log_must zfs clone $snap $clone
for opt in "${neg_opt[@]}"; do
- log_mustnot eval "$ZPOOL history $opt > /dev/null"
+ log_mustnot eval "zpool history $opt > /dev/null"
done
log_pass "'zpool history' command line negation test passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
options="-i -l -il -li -lil -ili -lli -iill -liil"
for opt in $options; do
- log_must eval "$ZPOOL history $opt $TESTPOOL > /dev/null 2>&1"
+ log_must eval "zpool history $opt $TESTPOOL > /dev/null 2>&1"
done
log_pass "Verify zpool history can handle options [-il] passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for pool in "$TESTPOOL" "$TESTPOOL1"; do
datasetexists $pool/$TESTFS && \
- log_must $ZFS destroy -Rf $pool/$TESTFS
+ log_must zfs destroy -Rf $pool/$TESTFS
destroy_pool "$pool"
done
ismounted $DEVICE_DIR $NEWFS_DEFAULT_FS
-(( $? == 0 )) && log_must $UMOUNT -f $DEVICE_DIR
+(( $? == 0 )) && log_must umount -f $DEVICE_DIR
for dir in "$TESTDIR" "$TESTDIR1" "$DEVICE_DIR" ; do
[[ -d $dir ]] && \
- log_must $RM -rf $dir
+ log_must rm -rf $dir
done
DISK=${DISKS%% *}
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
create_pool "$TESTPOOL" "$ZFSSIDE_DISK1"
if [[ -d $TESTDIR ]]; then
- $RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
- $MKDIR -p $TESTDIR || log_unresolved Could not create $TESTDIR
+ rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+ mkdir -p $TESTDIR || log_unresolved Could not create $TESTDIR
fi
-log_must $ZFS create $TESTPOOL/$TESTFS
-log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTFS
+log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
-DISK2="$($ECHO $DISKS | $NAWK '{print $2}')"
+DISK2="$(echo $DISKS | nawk '{print $2}')"
if is_mpath_device $DISK2; then
- $ECHO "y" | $NEWFS -v $DEV_DSKDIR/$DISK2 >/dev/null 2>&1
+ echo "y" | newfs -v $DEV_DSKDIR/$DISK2 >/dev/null 2>&1
(( $? != 0 )) &&
log_untested "Unable to setup a $NEWFS_DEFAULT_FS file system"
[[ ! -d $DEVICE_DIR ]] && \
- log_must $MKDIR -p $DEVICE_DIR
+ log_must mkdir -p $DEVICE_DIR
- log_must $MOUNT $DEV_DSKDIR/$DISK2 $DEVICE_DIR
+ log_must mount $DEV_DSKDIR/$DISK2 $DEVICE_DIR
else
log_must set_partition 0 "" $FS_SIZE $ZFS_DISK2
- $ECHO "y" | $NEWFS -v $DEV_DSKDIR/$ZFSSIDE_DISK2 >/dev/null 2>&1
+ echo "y" | newfs -v $DEV_DSKDIR/$ZFSSIDE_DISK2 >/dev/null 2>&1
(( $? != 0 )) &&
log_untested "Unable to setup a $NEWFS_DEFAULT_FS file system"
[[ ! -d $DEVICE_DIR ]] && \
- log_must $MKDIR -p $DEVICE_DIR
+ log_must mkdir -p $DEVICE_DIR
- log_must $MOUNT $DEV_DSKDIR/$ZFSSIDE_DISK2 $DEVICE_DIR
+ log_must mount $DEV_DSKDIR/$ZFSSIDE_DISK2 $DEVICE_DIR
fi
i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
(( i = i + 1 ))
done
. $STF_SUITE/include/libtest.shlib
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
typeset -a disk_array=($(find_disks $DISKS))
case "${#disk_array[*]}" in
0)
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $($ECHO $ZFS_DISK1 | awk 'substr($1,18,1)\
+ if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $(echo $ZFS_DISK1 | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK1 ); then
ZFSSIDE_DISK1=${ZFS_DISK1}1
ZFSSIDE_DISK2=${ZFS_DISK2}2
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $($ECHO $ZFS_DISK1 | awk 'substr($1,18,1)\
+ if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $(echo $ZFS_DISK1 | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK1 ); then
ZFSSIDE_DISK1=${ZFS_DISK1}1
elif ( is_mpath_device $ZFS_DISK1 || is_loop_device $ZFS_DISK1 ); then
log_fail "$ZFS_DISK1 not supported for partitioning."
fi
ZFS_DISK2=${disk_array[1]}
- if ( is_mpath_device $ZFS_DISK2 ) && [[ -z $($ECHO $ZFS_DISK2 | awk 'substr($1,18,1)\
+ if ( is_mpath_device $ZFS_DISK2 ) && [[ -z $(echo $ZFS_DISK2 | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK2 ); then
ZFSSIDE_DISK2=${ZFS_DISK2}1
elif ( is_mpath_device $ZFS_DISK2 || is_loop_device $ZFS_DISK2 ); then
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while (( i < ${#pools[*]} )); do
poolexists ${pools[i]} && \
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
datasetexists "${pools[i]}/$TESTFS" || \
- log_must $ZPOOL import ${devs[i]} ${pools[i]}
+ log_must zpool import ${devs[i]} ${pools[i]}
ismounted "${pools[i]}/$TESTFS" || \
- log_must $ZFS mount ${pools[i]}/$TESTFS
+ log_must zfs mount ${pools[i]}/$TESTFS
[[ -e ${mtpts[i]}/$TESTFILE0 ]] && \
- log_must $RM -rf ${mtpts[i]}/$TESTFILE0
+ log_must rm -rf ${mtpts[i]}/$TESTFILE0
((i = i + 1))
done
destroy_pool $TESTPOOL1
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
}
log_onexit cleanup
setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
typeset -i i=0
typeset -i j=0
while (( i < ${#pools[*]} )); do
guid=$(get_config ${pools[i]} pool_guid)
- log_must $CP $MYTESTFILE ${mtpts[i]}/$TESTFILE0
+ log_must cp $MYTESTFILE ${mtpts[i]}/$TESTFILE0
- log_must $ZFS umount ${mtpts[i]}
+ log_must zfs umount ${mtpts[i]}
j=0
while (( j < ${#options[*]} )); do
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
typeset target=${pools[i]}
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
- log_must $ZPOOL import ${devs[i]} ${options[j]} $target
+ log_must zpool import ${devs[i]} ${options[j]} $target
log_must poolexists ${pools[i]}
[[ ! -e $basedir/$TESTFILE0 ]] && \
log_fail "$basedir/$TESTFILE0 missing after import."
- checksum2=$($SUM $basedir/$TESTFILE0 | $AWK '{print $1}')
+ checksum2=$(sum $basedir/$TESTFILE0 | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( i < ${#pools[*]} )); do
poolexists ${pools[i]} && \
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
datasetexists "${pools[i]}/$TESTFS" || \
- log_must $ZPOOL import ${devs[i]} ${pools[i]}
+ log_must zpool import ${devs[i]} ${pools[i]}
ismounted "${pools[i]}/$TESTFS" || \
- log_must $ZFS mount ${pools[i]}/$TESTFS
+ log_must zfs mount ${pools[i]}/$TESTFS
[[ -e ${mtpts[i]}/$TESTFILE0 ]] && \
- log_must $RM -rf ${mtpts[i]}/$TESTFILE0
+ log_must rm -rf ${mtpts[i]}/$TESTFILE0
((i = i + 1))
done
destroy_pool $TESTPOOL1
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
}
log_onexit cleanup
setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
typeset -i i=0
typeset -i j=0
while (( i < ${#pools[*]} )); do
guid=$(get_config ${pools[i]} pool_guid)
- log_must $CP $MYTESTFILE ${mtpts[i]}/$TESTFILE0
+ log_must cp $MYTESTFILE ${mtpts[i]}/$TESTFILE0
- log_must $ZFS umount ${mtpts[i]}
+ log_must zfs umount ${mtpts[i]}
j=0
while (( j < ${#options[*]} )); do
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
typeset target=${pools[i]}
if (( RANDOM % 2 == 0 )) ; then
log_note "Import by guid."
fi
- log_must $ZPOOL import ${devs[i]} ${options[j]} $target
+ log_must zpool import ${devs[i]} ${options[j]} $target
log_must poolexists ${pools[i]}
[[ ! -e $basedir/$TESTFILE0 ]] && \
log_fail "$basedir/$TESTFILE0 missing after import."
- checksum2=$($SUM $basedir/$TESTFILE0 | $AWK '{print $1}')
+ checksum2=$(sum $basedir/$TESTFILE0 | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
- log_mustnot $ZPOOL import ${devs[i]} $target
+ log_mustnot zpool import ${devs[i]} $target
((j = j + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
destroy_pool $TESTPOOL1
- log_must $RM $VDEV0 $VDEV1
- log_must $MKFILE $FILE_SIZE $VDEV0 $VDEV1
+ log_must rm $VDEV0 $VDEV1
+ log_must mkfile $FILE_SIZE $VDEV0 $VDEV1
}
log_assert "Destroyed pools are not listed unless with -D option is specified."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0 $VDEV1
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool create $TESTPOOL1 $VDEV0 $VDEV1
+log_must zpool destroy $TESTPOOL1
#
# 'pool:' is the keywords of 'zpool import -D' output.
#
-log_mustnot eval "$ZPOOL import -d $DEVICE_DIR | $GREP pool:"
-log_must eval "$ZPOOL import -d $DEVICE_DIR -D | $GREP pool:"
+log_mustnot eval "zpool import -d $DEVICE_DIR | grep pool:"
+log_must eval "zpool import -d $DEVICE_DIR -D | grep pool:"
log_pass "Destroyed pool only can be listed with -D option."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
destroy_pool $TESTPOOL1
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
"it still can be imported correctly."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL1
log_note "Devices was moved to different directories."
-log_must $MKDIR $DEVICE_DIR/newdir1 $DEVICE_DIR/newdir2
-log_must $MV $VDEV1 $DEVICE_DIR/newdir1
-log_must $MV $VDEV2 $DEVICE_DIR/newdir2
-log_must $ZPOOL import -d $DEVICE_DIR/newdir1 -d $DEVICE_DIR/newdir2 \
+log_must mkdir $DEVICE_DIR/newdir1 $DEVICE_DIR/newdir2
+log_must mv $VDEV1 $DEVICE_DIR/newdir1
+log_must mv $VDEV2 $DEVICE_DIR/newdir2
+log_must zpool import -d $DEVICE_DIR/newdir1 -d $DEVICE_DIR/newdir2 \
-d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy -f $TESTPOOL1
+log_must zpool destroy -f $TESTPOOL1
log_note "Devices was moved to same directory."
-log_must $MV $VDEV0 $DEVICE_DIR/newdir2
-log_must $MV $DEVICE_DIR/newdir1/* $DEVICE_DIR/newdir2
-log_must $ZPOOL import -d $DEVICE_DIR/newdir2 -D -f $target
-log_must $ZPOOL destroy -f $TESTPOOL1
+log_must mv $VDEV0 $DEVICE_DIR/newdir2
+log_must mv $DEVICE_DIR/newdir1/* $DEVICE_DIR/newdir2
+log_must zpool import -d $DEVICE_DIR/newdir2 -D -f $target
+log_must zpool destroy -f $TESTPOOL1
log_pass "Destroyed pools devices was moved, 'zpool import -D' passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
destroy_pool $TESTPOOL1
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
"correctly."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL1
log_note "Part of devices was renamed in the same directory."
-log_must $MV $VDEV0 $DEVICE_DIR/vdev0-new
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy -f $TESTPOOL1
+log_must mv $VDEV0 $DEVICE_DIR/vdev0-new
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy -f $TESTPOOL1
log_note "All of devices was rename to different directories."
-log_must $MKDIR $DEVICE_DIR/newdir1 $DEVICE_DIR/newdir2
-log_must $MV $VDEV1 $DEVICE_DIR/newdir1/vdev1-new
-log_must $MV $VDEV2 $DEVICE_DIR/newdir2/vdev2-new
-log_must $ZPOOL import -d $DEVICE_DIR/newdir1 -d $DEVICE_DIR/newdir2 \
+log_must mkdir $DEVICE_DIR/newdir1 $DEVICE_DIR/newdir2
+log_must mv $VDEV1 $DEVICE_DIR/newdir1/vdev1-new
+log_must mv $VDEV2 $DEVICE_DIR/newdir2/vdev2-new
+log_must zpool import -d $DEVICE_DIR/newdir1 -d $DEVICE_DIR/newdir2 \
-d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy -f $TESTPOOL1
+log_must zpool destroy -f $TESTPOOL1
log_pass "Destroyed pools devices was renamed, 'zpool import -D' passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool $TESTPOOL2
destroy_pool $TESTPOOL1
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
"by other pool, it still can be imported correctly."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 mirror $VDEV0 $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL1 mirror $VDEV0 $VDEV1 $VDEV2
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL create $TESTPOOL2 $VDEV0 $VDEV2
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool create $TESTPOOL2 $VDEV0 $VDEV2
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL destroy $TESTPOOL2
-log_must $RM -rf $VDEV2
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL2
+log_must rm -rf $VDEV2
+log_must zpool import -d $DEVICE_DIR -D -f $target
log_pass "zpool import -D mirror passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool $TESTPOOL2
destroy_pool $TESTPOOL1
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
"other pool, it still can be imported correctly."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 raidz $VDEV0 $VDEV1 $VDEV2 $VDIV3
+log_must zpool create $TESTPOOL1 raidz $VDEV0 $VDEV1 $VDEV2 $VDIV3
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL create $TESTPOOL2 $VDEV0
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool create $TESTPOOL2 $VDEV0
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL destroy $TESTPOOL2
-log_must $RM -rf $VDEV0
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL2
+log_must rm -rf $VDEV0
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL1
log_note "For raidz, two destroyed pool's devices were used, import failed."
-log_must $MKFILE $FILE_SIZE $VDEV0
-log_must $ZPOOL create $TESTPOOL2 $VDEV0 $VDEV1
-log_mustnot $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL2
+log_must mkfile $FILE_SIZE $VDEV0
+log_must zpool create $TESTPOOL2 $VDEV0 $VDEV1
+log_mustnot zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL2
log_pass "zpool import -D raidz passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool $TESTPOOL2
destroy_pool $TESTPOOL1
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
"other pool, it still can be imported correctly."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 raidz2 $VDEV0 $VDEV1 $VDEV2 $VDIV3
+log_must zpool create $TESTPOOL1 raidz2 $VDEV0 $VDEV1 $VDEV2 $VDIV3
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL create $TESTPOOL2 $VDEV0 $VDEV1
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool create $TESTPOOL2 $VDEV0 $VDEV1
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL1
-log_must $ZPOOL destroy $TESTPOOL2
-log_must $RM -rf $VDEV0 $VDEV1
-log_must $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL1
+log_must zpool destroy $TESTPOOL2
+log_must rm -rf $VDEV0 $VDEV1
+log_must zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL1
log_note "For raidz2, more than two destroyed pool's devices were used, " \
"import failed."
-log_must $MKFILE $FILE_SIZE $VDEV0 $VDEV1
-log_must $ZPOOL create $TESTPOOL2 $VDEV0 $VDEV1 $VDEV2
-log_mustnot $ZPOOL import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL2
+log_must mkfile $FILE_SIZE $VDEV0 $VDEV1
+log_must zpool create $TESTPOOL2 $VDEV0 $VDEV1 $VDEV2
+log_mustnot zpool import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL2
log_pass "zpool import -D raidz2 passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while (( i < ${#pools[*]} )); do
poolexists ${pools[i]} && \
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
datasetexists "${pools[i]}/$TESTFS" || \
- log_must $ZPOOL import ${devs[i]} ${pools[i]}
+ log_must zpool import ${devs[i]} ${pools[i]}
ismounted "${pools[i]}/$TESTFS" || \
- log_must $ZFS mount ${pools[i]}/$TESTFS
+ log_must zfs mount ${pools[i]}/$TESTFS
((i = i + 1))
done
setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1
-log_must $ZPOOL export $TESTPOOL
+log_must zpool export $TESTPOOL
typeset -i i=0
while (( i < ${#args[*]} )); do
- log_mustnot $ZPOOL import ${args[i]}
+ log_mustnot zpool import ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool $dt
done
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
poolA=poolA.$$; poolB=poolB.$$; poolC=poolC.$$; poolD=poolD.$$; poolE=poolE.$$
-log_must $ZPOOL create $poolA mirror $VDEV0 $VDEV1 $VDEV2 $VDEV3 $VDEV4
-log_must $ZPOOL destroy $poolA
+log_must zpool create $poolA mirror $VDEV0 $VDEV1 $VDEV2 $VDEV3 $VDEV4
+log_must zpool destroy $poolA
-log_must $ZPOOL create $poolB $VDEV1
-log_must $ZPOOL destroy $poolB
+log_must zpool create $poolB $VDEV1
+log_must zpool destroy $poolB
-log_must $ZPOOL create $poolC raidz2 $VDEV2 $VDEV3 $VDEV4
-log_must $ZPOOL destroy $poolC
+log_must zpool create $poolC raidz2 $VDEV2 $VDEV3 $VDEV4
+log_must zpool destroy $poolC
-log_must $ZPOOL create $poolD raidz $VDEV3 $VDEV4
-log_must $ZPOOL destroy $poolD
+log_must zpool create $poolD raidz $VDEV3 $VDEV4
+log_must zpool destroy $poolD
-log_must $ZPOOL create $poolE $VDEV4
-log_must $ZPOOL destroy $poolE
+log_must zpool create $poolE $VDEV4
+log_must zpool destroy $poolE
-log_must $ZPOOL import -d $DEVICE_DIR -D -f -a
+log_must zpool import -d $DEVICE_DIR -D -f -a
for dt in $poolA $poolB $poolC $poolD $poolE; do
log_must datasetexists $dt
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# Recreate virtual devices to avoid destroyed pool information on files.
#
- log_must $RM -rf $VDEV0 $VDEV1 $VDEV2
- log_must $MKFILE $FILE_SIZE $VDEV0 $VDEV1 $VDEV2
+ log_must rm -rf $VDEV0 $VDEV1 $VDEV2
+ log_must mkfile $FILE_SIZE $VDEV0 $VDEV1 $VDEV2
}
log_assert "For strip pool, any destroyed pool devices was demaged," \
"zpool import -D will failed."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
+log_must zpool create $TESTPOOL1 $VDEV0 $VDEV1 $VDEV2
typeset guid=$(get_config $TESTPOOL1 pool_guid)
typeset target=$TESTPOOL1
if (( RANDOM % 2 == 0 )) ; then
target=$guid
log_note "Import by guid."
fi
-log_must $ZPOOL destroy $TESTPOOL1
-log_must $ZPOOL create $TESTPOOL2 $VDEV2
+log_must zpool destroy $TESTPOOL1
+log_must zpool create $TESTPOOL2 $VDEV2
-log_mustnot $ZPOOL import -d $DEVICE_DIR -D -f $target
+log_mustnot zpool import -d $DEVICE_DIR -D -f $target
-log_must $ZPOOL destroy $TESTPOOL2
-log_mustnot $ZPOOL import -d $DEVICE_DIR -D -f $target
+log_must zpool destroy $TESTPOOL2
+log_mustnot zpool import -d $DEVICE_DIR -D -f $target
log_pass "Any strip pool devices damaged, pool can't be import passed."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while ((i < ${#pools[*]})); do
if poolexists ${pools[i]}; then
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
log_note "Try to import ${devs[i]} ${pools[i]}"
- $ZPOOL import ${devs[i]} ${pools[i]}
+ zpool import ${devs[i]} ${pools[i]}
else
log_note "Try to import $option ${devs[i]} ${pools[i]}"
- $ZPOOL import $option ${devs[i]} ${pools[i]}
+ zpool import $option ${devs[i]} ${pools[i]}
fi
if poolexists ${pools[i]}; then
is_shared ${pools[i]} && \
- log_must $ZFS set sharenfs=off ${pools[i]}
+ log_must zfs set sharenfs=off ${pools[i]}
ismounted "${pools[i]}/$TESTFS" || \
- log_must $ZFS mount ${pools[i]}/$TESTFS
+ log_must zfs mount ${pools[i]}/$TESTFS
fi
((i = i + 1))
destroy_pool $TESTPOOL1
if datasetexists $TESTPOOL/$TESTFS; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS
fi
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
}
log_onexit cleanup
setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1
# create a hierarchy of filesystem
for pool in ${pools[@]} ; do
- log_must $ZFS create $pool/$TESTFS/$TESTCTR
- log_must $ZFS create $pool/$TESTFS/$TESTCTR/$TESTCTR1
- log_must $ZFS set canmount=off $pool/$TESTFS/$TESTCTR
- log_must $ZFS set canmount=off $pool/$TESTFS/$TESTCTR/$TESTCTR1
- log_must $ZFS create $pool/$TESTFS/$TESTCTR/$TESTFS1
- log_must $ZFS create $pool/$TESTFS/$TESTCTR/$TESTCTR1/$TESTFS1
- log_must $ZFS create $pool/$TESTFS/$TESTFS1
- log_must $ZFS snapshot $pool/$TESTFS/$TESTFS1@snap
- log_must $ZFS clone $pool/$TESTFS/$TESTFS1@snap $pool/$TESTCLONE1
+ log_must zfs create $pool/$TESTFS/$TESTCTR
+ log_must zfs create $pool/$TESTFS/$TESTCTR/$TESTCTR1
+ log_must zfs set canmount=off $pool/$TESTFS/$TESTCTR
+ log_must zfs set canmount=off $pool/$TESTFS/$TESTCTR/$TESTCTR1
+ log_must zfs create $pool/$TESTFS/$TESTCTR/$TESTFS1
+ log_must zfs create $pool/$TESTFS/$TESTCTR/$TESTCTR1/$TESTFS1
+ log_must zfs create $pool/$TESTFS/$TESTFS1
+ log_must zfs snapshot $pool/$TESTFS/$TESTFS1@snap
+ log_must zfs clone $pool/$TESTFS/$TESTFS1@snap $pool/$TESTCLONE1
done
typeset mount_fs="$TESTFS $TESTFS/$TESTFS1 $TESTCLONE1 \
typeset nfs_flag="sharenfs=off"
if ((nfs_share_bit == 1)); then
log_note "Set sharenfs=on $pool"
- log_must $ZFS set sharenfs=on $pool
+ log_must zfs set sharenfs=on $pool
log_must is_shared $pool
f_share="true"
nfs_flag="sharenfs=on"
while ((guid_bit <= 1)); do
typeset guid_flag="pool name"
if [[ -z $option ]]; then
- log_must $ZPOOL export $pool
+ log_must zpool export $pool
else
- log_must $ZPOOL destroy $pool
+ log_must zpool destroy $pool
fi
typeset target=$pool
fi
log_note "Import with $nfs_flag and " \
"$guid_flag"
- $ZPOOL import $option ${devs[i]} \
+ zpool import $option ${devs[i]} \
${options[j]} $target
#import by GUID if import by pool name fails
if [[ $? != 0 ]]; then
log_note "Possible pool name" \
"duplicates. Try GUID import"
target=$guid
- log_must $ZPOOL import $option \
+ log_must zpool import $option \
${devs[i]} ${options[j]} \
$target
fi
done
# reset nfsshare=off
if [[ -n $f_share ]]; then
- log_must $ZFS set sharenfs=off $pool
+ log_must zfs set sharenfs=off $pool
log_mustnot is_shared $pool
fi
((nfs_share_bit = nfs_share_bit + 1))
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
log_note "Creating pool from $POOL_FILE"
- log_must $BZCAT \
+ log_must bzcat \
$STF_SUITE/tests/functional/cli_root/zpool_import/$POOL_FILE.bz2 \
> /$TESTPOOL/$POOL_FILE
return 0
function cleanup
{
- poolexists $POOL_NAME && log_must $ZPOOL destroy $POOL_NAME
- [[ -e /$TESTPOOL/$POOL_FILE ]] && $RM /$TESTPOOL/$POOL_FILE
+ poolexists $POOL_NAME && log_must zpool destroy $POOL_NAME
+ [[ -e /$TESTPOOL/$POOL_FILE ]] && rm /$TESTPOOL/$POOL_FILE
return 0
}
log_onexit cleanup
uncompress_pool
-log_mustnot $ZPOOL import -d /$TESTPOOL $POOL_NAME
-log_must $ZPOOL import -d /$TESTPOOL -f $POOL_NAME
+log_mustnot zpool import -d /$TESTPOOL $POOL_NAME
+log_must zpool import -d /$TESTPOOL -f $POOL_NAME
log_pass "'zpool import' fails for pool that was not cleanly exported"
destroy_pool $dt
done
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
typeset poolname=$2
typeset labelname
- $ZDB -e -l $device | $GREP " name:" | {
+ zdb -e -l $device | grep " name:" | {
while read labelname ; do
if [[ "name: '$poolname'" != "$labelname" ]]; then
return 1
poolA=poolA.$$; poolB=poolB.$$;
-log_must $ZPOOL create $poolA $VDEV0
-log_must $ZPOOL export $poolA
+log_must zpool create $poolA $VDEV0
+log_must zpool export $poolA
-log_must $ZPOOL import -t $poolA $poolB -d $DEVICE_DIR
-log_must $ZPOOL export $poolB
+log_must zpool import -t $poolA $poolB -d $DEVICE_DIR
+log_must zpool export $poolB
log_must eval "verify_pool_name $VDEV0 $poolA"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
setup_filesystem "$disk" "$pool" "$fs" "$mtpt"
- log_must $CP $MYTESTFILE $mtpt/$TESTFILE0
+ log_must cp $MYTESTFILE $mtpt/$TESTFILE0
- log_must $ZPOOL export $pool
+ log_must zpool export $pool
[[ -d $mtpt ]] && \
- $RM -rf $mtpt
+ rm -rf $mtpt
}
function cleanup_all
#
# Try import individually if 'import -a' failed.
#
- for pool in `$ZPOOL import | $GREP "pool:" | $AWK '{print $2}'`; do
- $ZPOOL import -f $pool
+ for pool in `zpool import | grep "pool:" | awk '{print $2}'`; do
+ zpool import -f $pool
done
- for pool in `$ZPOOL import -d $DEVICE_DIR | $GREP "pool:" | $AWK '{print $2}'`; do
- log_must $ZPOOL import -d $DEVICE_DIR -f $pool
+ for pool in `zpool import -d $DEVICE_DIR | grep "pool:" | awk '{print $2}'`; do
+ log_must zpool import -d $DEVICE_DIR -f $pool
done
while (( id < number )); do
fi
if (( id == 0 )); then
- log_must $ZPOOL export ${TESTPOOL}-$id
+ log_must zpool export ${TESTPOOL}-$id
[[ -d /${TESTPOOL}-$id ]] && \
- log_must $RM -rf /${TESTPOOL}-$id
+ log_must rm -rf /${TESTPOOL}-$id
- log_must $ZPOOL import -f ${TESTPOOL}-$id $TESTPOOL
+ log_must zpool import -f ${TESTPOOL}-$id $TESTPOOL
[[ -e $TESTDIR/$TESTFILE0 ]] && \
- log_must $RM -rf $TESTDIR/$TESTFILE0
+ log_must rm -rf $TESTDIR/$TESTFILE0
else
cleanup_filesystem "${TESTPOOL}-$id" $TESTFS
done
[[ -d $ALTER_ROOT ]] && \
- $RM -rf $ALTER_ROOT
+ rm -rf $ALTER_ROOT
}
function checksum_all #alter_root
[[ ! -e $file ]] && \
log_fail "$file missing after import."
- checksum2=$($SUM $file | $AWK '{print $1}')
+ checksum2=$(sum $file | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
log_onexit cleanup_all
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import $TESTPOOL ${TESTPOOL}-0
-log_must $CP $MYTESTFILE $TESTDIR/$TESTFILE0
-log_must $ZPOOL export ${TESTPOOL}-0
+log_must zpool export $TESTPOOL
+log_must zpool import $TESTPOOL ${TESTPOOL}-0
+log_must cp $MYTESTFILE $TESTDIR/$TESTFILE0
+log_must zpool export ${TESTPOOL}-0
[[ -d /${TESTPOOL}-0 ]] && \
- log_must $RM -rf /${TESTPOOL}-0
+ log_must rm -rf /${TESTPOOL}-0
#
# setup exported pools on normal devices
while (( i < ${#options[*]} )); do
- log_must $ZPOOL import -d ${DEV_DSKDIR} -d $DEVICE_DIR ${options[i]} -a -f
+ log_must zpool import -d ${DEV_DSKDIR} -d $DEVICE_DIR ${options[i]} -a -f
# destroy unintentional imported pools
- typeset exclude=`eval $ECHO \"'(${KEEP})'\"`
- for unwantedpool in $($ZPOOL list -H -o name \
- | $EGREP -v "$exclude" | $GREP -v $TESTPOOL); do
- log_must $ZPOOL export $unwantedpool
+ typeset exclude=`eval echo \"'(${KEEP})'\"`
+ for unwantedpool in $(zpool list -H -o name \
+ | egrep -v "$exclude" | grep -v $TESTPOOL); do
+ log_must zpool export $unwantedpool
done
if [[ -n ${options[i]} ]]; then
id=0
while (( id < number )); do
if poolexists ${TESTPOOL}-$id ; then
- log_must $ZPOOL export ${TESTPOOL}-$id
+ log_must zpool export ${TESTPOOL}-$id
fi
(( id = id + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
- log_must $RM $VDEV0
- log_must $MKFILE $FILE_SIZE $VDEV0
+ log_must rm $VDEV0
+ log_must mkfile $FILE_SIZE $VDEV0
}
log_assert "Pool with inactive unsupported features can be imported."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0
-log_must $ZPOOL export $TESTPOOL1
+log_must zpool create $TESTPOOL1 $VDEV0
+log_must zpool export $TESTPOOL1
for feature in $features; do
- log_must $ZHACK -d $DEVICE_DIR feature enable $TESTPOOL1 $feature
+ log_must zhack -d $DEVICE_DIR feature enable $TESTPOOL1 $feature
done
-log_must $ZPOOL import -d $DEVICE_DIR $TESTPOOL1
+log_must zpool import -d $DEVICE_DIR $TESTPOOL1
for feature in $features; do
- state=$($ZPOOL list -Ho unsupported@$feature $TESTPOOL1)
+ state=$(zpool list -Ho unsupported@$feature $TESTPOOL1)
if [[ "$state" != "inactive" ]]; then
log_fail "unsupported@$feature is '$state'"
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
- log_must $RM $VDEV0
- log_must $MKFILE $FILE_SIZE $VDEV0
+ log_must rm $VDEV0
+ log_must mkfile $FILE_SIZE $VDEV0
}
log_assert "Pool with active unsupported features cannot be imported."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0
-log_must $ZPOOL export $TESTPOOL1
+log_must zpool create $TESTPOOL1 $VDEV0
+log_must zpool export $TESTPOOL1
for feature in $enabled_features $active_features; do
- log_must $ZHACK -d $DEVICE_DIR feature enable $TESTPOOL1 $feature
+ log_must zhack -d $DEVICE_DIR feature enable $TESTPOOL1 $feature
done
for feature in $active_features; do
- log_must $ZHACK -d $DEVICE_DIR feature ref $TESTPOOL1 $feature
+ log_must zhack -d $DEVICE_DIR feature ref $TESTPOOL1 $feature
done
-log_mustnot $ZPOOL import -d $DEVICE_DIR $TESTPOOL1
+log_mustnot zpool import -d $DEVICE_DIR $TESTPOOL1
# error message should not mention "readonly"
-log_mustnot eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 | $GREP readonly"
+log_mustnot eval "zpool import -d $DEVICE_DIR $TESTPOOL1 | grep readonly"
log_mustnot poolexists $TESTPOOL1
for feature in $active_features; do
- log_must eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 \
- | $GREP $feature"
+ log_must eval "zpool import -d $DEVICE_DIR $TESTPOOL1 \
+ | grep $feature"
log_mustnot poolexists $TESTPOOL1
done
for feature in $enabled_features; do
- log_mustnot eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 \
- | $GREP $feature"
+ log_mustnot eval "zpool import -d $DEVICE_DIR $TESTPOOL1 \
+ | grep $feature"
log_mustnot poolexists $TESTPOOL1
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
- log_must $RM $VDEV0
- log_must $MKFILE $FILE_SIZE $VDEV0
+ log_must rm $VDEV0
+ log_must mkfile $FILE_SIZE $VDEV0
}
log_assert "Pool with active read-only compatible features can be imported."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL1 $VDEV0
-log_must $ZPOOL export $TESTPOOL1
+log_must zpool create $TESTPOOL1 $VDEV0
+log_must zpool export $TESTPOOL1
for feature in $enabled_features $active_features; do
- log_must $ZHACK -d $DEVICE_DIR feature enable -r $TESTPOOL1 $feature
+ log_must zhack -d $DEVICE_DIR feature enable -r $TESTPOOL1 $feature
done
for feature in $active_features; do
- log_must $ZHACK -d $DEVICE_DIR feature ref $TESTPOOL1 $feature
+ log_must zhack -d $DEVICE_DIR feature ref $TESTPOOL1 $feature
done
-log_mustnot $ZPOOL import -d $DEVICE_DIR $TESTPOOL1
+log_mustnot zpool import -d $DEVICE_DIR $TESTPOOL1
# error message should mention "readonly"
-log_must eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 | $GREP readonly"
+log_must eval "zpool import -d $DEVICE_DIR $TESTPOOL1 | grep readonly"
log_mustnot poolexists $TESTPOOL1
for feature in $enabled_features; do
- log_mustnot eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 \
- | $GREP $feature"
+ log_mustnot eval "zpool import -d $DEVICE_DIR $TESTPOOL1 \
+ | grep $feature"
log_mustnot poolexists $TESTPOOL1
done
for feature in $active_features; do
- log_must eval "$ZPOOL import -d $DEVICE_DIR $TESTPOOL1 \
- | $GREP $feature"
+ log_must eval "zpool import -d $DEVICE_DIR $TESTPOOL1 \
+ | grep $feature"
log_mustnot poolexists $TESTPOOL1
done
-log_must $ZPOOL import -o readonly=on -d $DEVICE_DIR $TESTPOOL1
+log_must zpool import -o readonly=on -d $DEVICE_DIR $TESTPOOL1
for feature in $enabled_features; do
- state=$($ZPOOL list -Ho unsupported@$feature $TESTPOOL1)
+ state=$(zpool list -Ho unsupported@$feature $TESTPOOL1)
if [[ "$state" != "inactive" ]]; then
log_fail "unsupported@$feature is '$state'"
fi
done
for feature in $active_features; do
- state=$($ZPOOL list -Ho unsupported@$feature $TESTPOOL1)
+ state=$(zpool list -Ho unsupported@$feature $TESTPOOL1)
if [[ "$state" != "readonly" ]]; then
log_fail "unsupported@$feature is '$state'"
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
recreate_files
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
}
function recreate_files
destroy_pool $TESTPOOL1
fi
- log_must $RM -rf $DEVICE_DIR/*
+ log_must rm -rf $DEVICE_DIR/*
typeset i=0
while (( i < $MAX_NUM )); do
- log_must $MKFILE $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
+ log_must mkfile $FILE_SIZE ${DEVICE_DIR}/${DEVICE_FILE}$i
((i += 1))
done
}
CWD=$PWD
cd $DEVICE_DIR || log_fail "Unable change directory to $DEVICE_DIR"
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
typeset -i i=0
typeset -i j=0
backup=""
guid=$(get_config $TESTPOOL1 pool_guid)
- log_must $CP $MYTESTFILE $TESTDIR1/$TESTFILE0
+ log_must cp $MYTESTFILE $TESTDIR1/$TESTFILE0
- log_must $ZFS umount $TESTDIR1
+ log_must zfs umount $TESTDIR1
j=0
while (( j < ${#options[*]} )); do
# Restore all device files.
#
[[ -n $backup ]] && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
for device in $DEVICE_FILES ; do
- log_must $RM -f $device
+ log_must rm -f $device
poolexists $TESTPOOL1 && \
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
#
# Backup all device files while filesystem prepared.
#
if [[ -z $backup ]]; then
- log_must $TAR cf $DEVICE_DIR/$DEVICE_ARCHIVE \
+ log_must tar cf $DEVICE_DIR/$DEVICE_ARCHIVE \
${DEVICE_FILE}*
backup="true"
fi
target=$guid
log_note "Import by guid."
fi
- $action $ZPOOL import \
+ $action zpool import \
-d $DEVICE_DIR ${options[j]} $target
[[ $action == "log_mustnot" ]] && continue
log_must poolexists $TESTPOOL1
- health=$($ZPOOL list -H -o health $TESTPOOL1)
+ health=$(zpool list -H -o health $TESTPOOL1)
[[ $health == "DEGRADED" ]] || \
log_fail "$TESTPOOL1: Incorrect health($health)"
[[ ! -e $basedir/$TESTFILE0 ]] && \
log_fail "$basedir/$TESTFILE0 missing after import."
- checksum2=$($SUM $basedir/$TESTFILE0 | $AWK '{print $1}')
+ checksum2=$(sum $basedir/$TESTFILE0 | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
cd $DEVICE_DIR || log_fail "Unable change directory to $DEVICE_DIR"
[[ -e $DEVICE_DIR/$DEVICE_ARCHIVE ]] && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
poolexists $TESTPOOL1 || \
- log_must $ZPOOL import -d $DEVICE_DIR $TESTPOOL1
+ log_must zpool import -d $DEVICE_DIR $TESTPOOL1
cleanup_filesystem $TESTPOOL1 $TESTFS
while (( i < $MAX_NUM )); do
typeset dev_file=${DEVICE_DIR}/${DEVICE_FILE}$i
if [[ ! -e ${dev_file} ]]; then
- log_must $MKFILE $FILE_SIZE ${dev_file}
+ log_must mkfile $FILE_SIZE ${dev_file}
fi
((i += 1))
done
- log_must $RM -f $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must rm -f $DEVICE_DIR/$DEVICE_ARCHIVE
cd $CWD || log_fail "Unable change directory to $CWD"
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
[[ -d $BACKUP_DEVICE_DIR ]] && \
- log_must $RM -rf $BACKUP_DEVICE_DIR
+ log_must rm -rf $BACKUP_DEVICE_DIR
}
log_onexit cleanup_all
CWD=$PWD
[[ ! -d $BACKUP_DEVICE_DIR ]] &&
- log_must $MKDIR -p $BACKUP_DEVICE_DIR
+ log_must mkdir -p $BACKUP_DEVICE_DIR
cd $DEVICE_DIR || log_fail "Unable change directory to $DEVICE_DIR"
while (( i < ${#vdevs[*]} )); do
(( i != 0 )) && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
setup_filesystem "$DEVICE_FILES" \
$TESTPOOL1 $TESTFS $TESTDIR1 \
guid=$(get_config $TESTPOOL1 pool_guid)
backup=""
- log_must $CP $MYTESTFILE $TESTDIR1/$TESTFILE0
+ log_must cp $MYTESTFILE $TESTDIR1/$TESTFILE0
- log_must $ZFS umount $TESTDIR1
+ log_must zfs umount $TESTDIR1
j=0
while (( j < ${#options[*]} )); do
# Restore all device files.
#
[[ -n $backup ]] && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
- log_must $RM -f $BACKUP_DEVICE_DIR/*
+ log_must rm -f $BACKUP_DEVICE_DIR/*
for device in $DEVICE_FILES ; do
poolexists $TESTPOOL1 && \
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
#
# Backup all device files while filesystem prepared.
#
if [[ -z $backup ]] ; then
- log_must $TAR cf $DEVICE_DIR/$DEVICE_ARCHIVE ${DEVICE_FILE}*
+ log_must tar cf $DEVICE_DIR/$DEVICE_ARCHIVE ${DEVICE_FILE}*
backup="true"
fi
- log_must $MV $device $BACKUP_DEVICE_DIR
+ log_must mv $device $BACKUP_DEVICE_DIR
(( count = count + 1 ))
target=$guid
log_note "Import by guid."
fi
- $action $ZPOOL import \
+ $action zpool import \
-d $DEVICE_DIR ${options[j]} $target
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_must poolexists $pool
- myhealth=$($ZPOOL list -H -o health $pool)
+ myhealth=$(zpool list -H -o health $pool)
[[ $myhealth == $health ]] || \
log_fail "$pool: Incorrect health ($myhealth), " \
[[ ! -e $mtpt/$file ]] && \
log_fail "$mtpt/$file missing after import."
- checksum2=$($SUM $mymtpt/$file | $AWK '{print $1}')
+ checksum2=$(sum $mymtpt/$file | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
done
[[ -e $DEVICE_DIR/$DEVICE_ARCHIVE ]] && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
}
function cleanup_all
while (( i < $MAX_NUM )); do
typeset file=${DEVICE_DIR}/${DEVICE_FILE}$i
if [[ -e $file ]]; then
- log_must $RM $file
+ log_must rm $file
fi
- log_must $MKFILE $FILE_SIZE $file
+ log_must mkfile $FILE_SIZE $file
((i += 1))
done
- log_must $RM -f $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must rm -f $DEVICE_DIR/$DEVICE_ARCHIVE
cd $CWD || log_fail "Unable change directory to $CWD"
}
CWD=$PWD
cd $DEVICE_DIR || log_fail "Unable change directory to $DEVICE_DIR"
-log_must $TAR cf $DEVICE_DIR/$DEVICE_ARCHIVE ${DEVICE_FILE}*
+log_must tar cf $DEVICE_DIR/$DEVICE_ARCHIVE ${DEVICE_FILE}*
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
typeset -i i=0
typeset -i j=0
while (( j < ${#vdevs[*]} )); do
(( j != 0 )) && \
- log_must $TAR xf $DEVICE_DIR/$DEVICE_ARCHIVE
+ log_must tar xf $DEVICE_DIR/$DEVICE_ARCHIVE
typeset -i overlap=1
typeset -i begin
setup_filesystem "$vdev1" $TESTPOOL1 $TESTFS $TESTDIR1 \
"" ${vdevs[i]}
- log_must $CP $MYTESTFILE $TESTDIR1/$TESTFILE0
- log_must $ZFS umount $TESTDIR1
+ log_must cp $MYTESTFILE $TESTDIR1/$TESTFILE0
+ log_must zfs umount $TESTDIR1
poolexists $TESTPOOL1 && \
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
setup_filesystem "$vdev2" $TESTPOOL2 $TESTFS $TESTDIR2 \
"" ${vdevs[j]}
- log_must $CP $MYTESTFILE $TESTDIR2/$TESTFILE0
- log_must $ZFS umount $TESTDIR2
+ log_must cp $MYTESTFILE $TESTDIR2/$TESTFILE0
+ log_must zfs umount $TESTDIR2
poolexists $TESTPOOL2 && \
- log_must $ZPOOL export $TESTPOOL2
+ log_must zpool export $TESTPOOL2
action=log_must
case "${vdevs[i]}" in
;;
esac
- $action $ZPOOL import -d $DEVICE_DIR $TESTPOOL1
- log_must $ZPOOL import -d $DEVICE_DIR $TESTPOOL2
+ $action zpool import -d $DEVICE_DIR $TESTPOOL1
+ log_must zpool import -d $DEVICE_DIR $TESTPOOL2
if [[ $action == log_must ]]; then
verify "$TESTPOOL1" "$TESTFS" "$TESTDIR1" \
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( i < ${#pools[*]} )); do
if poolexists "${pools[i]}-new" ; then
- log_must $ZPOOL export "${pools[i]}-new"
+ log_must zpool export "${pools[i]}-new"
[[ -d /${pools[i]}-new ]] && \
- log_must $RM -rf /${pools[i]}-new
+ log_must rm -rf /${pools[i]}-new
- log_must $ZPOOL import ${devs[i]} \
+ log_must zpool import ${devs[i]} \
"${pools[i]}-new" ${pools[i]}
fi
datasetexists "${pools[i]}" || \
- log_must $ZPOOL import ${devs[i]} ${pools[i]}
+ log_must zpool import ${devs[i]} ${pools[i]}
ismounted "${pools[i]}/$TESTFS" || \
- log_must $ZFS mount ${pools[i]}/$TESTFS
+ log_must zfs mount ${pools[i]}/$TESTFS
[[ -e ${mtpts[i]}/$TESTFILE0 ]] && \
- log_must $RM -rf ${mtpts[i]}/$TESTFILE0
+ log_must rm -rf ${mtpts[i]}/$TESTFILE0
((i = i + 1))
destroy_pool $TESTPOOL1
[[ -d $ALTER_ROOT ]] && \
- log_must $RM -rf $ALTER_ROOT
+ log_must rm -rf $ALTER_ROOT
[[ -e $VDEV_FILE ]] && \
- log_must $RM $VDEV_FILE
+ log_must rm $VDEV_FILE
}
log_onexit cleanup
log_assert "Verify that an imported pool can be renamed."
setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1
-checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}')
+checksum1=$(sum $MYTESTFILE | awk '{print $1}')
typeset -i i=0
typeset -i j=0
while (( i < ${#pools[*]} )); do
guid=$(get_config ${pools[i]} pool_guid)
- log_must $CP $MYTESTFILE ${mtpts[i]}/$TESTFILE0
+ log_must cp $MYTESTFILE ${mtpts[i]}/$TESTFILE0
- log_must $ZFS umount ${mtpts[i]}
+ log_must zfs umount ${mtpts[i]}
j=0
while (( j < ${#options[*]} )); do
- log_must $ZPOOL export ${pools[i]}
+ log_must zpool export ${pools[i]}
[[ -d /${pools[i]} ]] && \
- log_must $RM -rf /${pools[i]}
+ log_must rm -rf /${pools[i]}
typeset target=${pools[i]}
if (( RANDOM % 2 == 0 )) ; then
log_note "Import by guid."
fi
- log_must $ZPOOL import ${devs[i]} ${options[j]} \
+ log_must zpool import ${devs[i]} ${options[j]} \
$target ${pools[i]}-new
log_must poolexists "${pools[i]}-new"
[[ ! -e $basedir/$TESTFILE0 ]] && \
log_fail "$basedir/$TESTFILE0 missing after import."
- checksum2=$($SUM $basedir/$TESTFILE0 | $AWK '{print $1}')
+ checksum2=$(sum $basedir/$TESTFILE0 | awk '{print $1}')
[[ "$checksum1" != "$checksum2" ]] && \
log_fail "Checksums differ ($checksum1 != $checksum2)"
- log_must $ZPOOL export "${pools[i]}-new"
+ log_must zpool export "${pools[i]}-new"
[[ -d /${pools[i]}-new ]] && \
- log_must $RM -rf /${pools[i]}-new
+ log_must rm -rf /${pools[i]}-new
target=${pools[i]}-new
if (( RANDOM % 2 == 0 )) ; then
target=$guid
fi
- log_must $ZPOOL import ${devs[i]} $target ${pools[i]}
+ log_must zpool import ${devs[i]} $target ${pools[i]}
((j = j + 1))
done
VDEV_FILE=$(mktemp /tmp/tmp.XXXXXX)
-log_must $MKFILE -n 128M $VDEV_FILE
-log_must $ZPOOL create testpool $VDEV_FILE
-log_must $ZFS create testpool/testfs
-ID=$($ZPOOL get -Ho value guid testpool)
-log_must $ZPOOL export testpool
-log_mustnot $ZPOOL import $(echo $ID) $($PRINTF "%*s\n" 250 "" | $TR ' ' 'c')
+log_must mkfile -n 128M $VDEV_FILE
+log_must zpool create testpool $VDEV_FILE
+log_must zfs create testpool/testfs
+ID=$(zpool get -Ho value guid testpool)
+log_must zpool export testpool
+log_mustnot zpool import $(echo id) $(printf "%*s\n" 250 "" | tr ' ' 'c')
log_pass "Successfully imported and renamed a ZPOOL"
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
# Ensure we don't leave disks in the offline state
#
for disk in $DISKLIST; do
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "Unable to online $disk"
i=0
while [[ $i -lt ${#args[*]} ]]; do
if (( j < num )) ; then
- log_must $ZPOOL offline ${args[$i]} $TESTPOOL $disk
+ log_must zpool offline ${args[$i]} $TESTPOOL $disk
check_state $TESTPOOL $disk "offline"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match offline state"
fi
else
- log_mustnot $ZPOOL offline ${args[$i]} $TESTPOOL $disk
+ log_mustnot zpool offline ${args[$i]} $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match online state"
i=0
while [[ $i -lt $iters ]]; do
index=`expr $RANDOM % ${#args[*]}`
- log_must $ZPOOL offline ${args[$index]} $TESTPOOL $disk
+ log_must zpool offline ${args[$index]} $TESTPOOL $disk
check_state $TESTPOOL $disk "offline"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL is not offline."
(( i = i + 1 ))
done
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match online state"
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL offline ${args[$i]}
+ log_mustnot zpool offline ${args[$i]}
(( i = i + 1 ))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
# Ensure we don't leave disks in temporary online state (-t)
#
for disk in $DISKLIST; do
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "Unable to online $disk"
for disk in $DISKLIST; do
i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must $ZPOOL offline $TESTPOOL $disk
+ log_must zpool offline $TESTPOOL $disk
check_state $TESTPOOL $disk "offline"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match offline state"
fi
- log_must $ZPOOL online ${args[$i]} $TESTPOOL $disk
+ log_must zpool online ${args[$i]} $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match online state"
i=0
while [[ $i -lt $iters ]]; do
index=`expr $RANDOM % ${#args[*]}`
- log_must $ZPOOL online ${args[$index]} $TESTPOOL $disk
+ log_must zpool online ${args[$index]} $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match online state"
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL online ${args[$i]}
+ log_mustnot zpool online ${args[$i]}
(( i = i + 1 ))
done
export DISK=${DISKS%% *}
export SIZE="200m"
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
export DISKSARRAY=$DISKS
if is_linux; then
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dev
for dev in $devs; do
- log_mustnot $ZPOOL remove $dev
+ log_mustnot zpool remove $dev
done
destroy_pool $pool
typeset -i i=0
while [[ $i -lt ${#create_args[*]} ]]; do
- log_must $ZPOOL create $TESTPOOL ${create_args[i]}
+ log_must zpool create $TESTPOOL ${create_args[i]}
check_remove $TESTPOOL "${verify_disks[i]}"
(( i = i + 1))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool remove can only remove inactive hotspare device from pool"
log_note "check hotspare device which is created by zpool create"
-log_must $ZPOOL create $TESTPOOL $spare_devs1 spare $spare_devs2
-log_must $ZPOOL remove $TESTPOOL $spare_devs2
+log_must zpool create $TESTPOOL $spare_devs1 spare $spare_devs2
+log_must zpool remove $TESTPOOL $spare_devs2
log_note "check hotspare device which is created by zpool add"
-log_must $ZPOOL add $TESTPOOL spare $spare_devs2
-log_must $ZPOOL remove $TESTPOOL $spare_devs2
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool add $TESTPOOL spare $spare_devs2
+log_must zpool remove $TESTPOOL $spare_devs2
+log_must zpool destroy $TESTPOOL
log_pass "zpool remove can only remove inactive hotspare device from pool"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
" active to inactive in pool"
log_note "Check spare device which state go through active to inactive"
-log_must $ZPOOL create $TESTPOOL $spare_devs1 $spare_devs2 spare \
+log_must zpool create $TESTPOOL $spare_devs1 $spare_devs2 spare \
$spare_devs3 $spare_devs4
-log_must $ZPOOL replace $TESTPOOL $spare_devs2 $spare_devs3
-log_mustnot $ZPOOL remove $TESTPOOL $spare_devs3
-log_must $ZPOOL detach $TESTPOOL $spare_devs3
-log_must $ZPOOL remove $TESTPOOL $spare_devs3
+log_must zpool replace $TESTPOOL $spare_devs2 $spare_devs3
+log_mustnot zpool remove $TESTPOOL $spare_devs3
+log_must zpool detach $TESTPOOL $spare_devs3
+log_must zpool remove $TESTPOOL $spare_devs3
log_pass "'zpool remove device passed as expected.'"
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL replace ${args[$i]}
+ log_mustnot zpool replace ${args[$i]}
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
mntpnt=$(get_prop mountpoint $TESTPOOL)
# Create 100MB of data
-log_must $FILE_WRITE -b 1048576 -c 100 -o create -d 0 -f $mntpnt/bigfile
+log_must file_write -b 1048576 -c 100 -o create -d 0 -f $mntpnt/bigfile
log_pass
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
export DISK1=${DISKS%% *}
-export DISK2=$($ECHO $DISKS | $AWK '{print $2}')
+export DISK2=$(echo $DISKS | awk '{print $2}')
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL scrub ${args[i]}
+ log_mustnot zpool scrub ${args[i]}
((i = i + 1))
done
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_scrub/zpool_scrub.cfg
verify_runnable "global"
log_assert "Verify scrub -s works correctly."
-log_must $ZINJECT -d $DISK1 -D10:1 $TESTPOOL
-log_must $ZPOOL scrub $TESTPOOL
-log_must $ZPOOL scrub -s $TESTPOOL
+log_must zinject -d $DISK1 -D10:1 $TESTPOOL
+log_must zpool scrub $TESTPOOL
+log_must zpool scrub -s $TESTPOOL
log_must is_pool_scrub_stopped $TESTPOOL
-log_must $ZINJECT -c all
+log_must zinject -c all
log_pass "Verify scrub -s works correctly."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_scrub/zpool_scrub.cfg
function get_scrub_percent
{
typeset -i percent
- percent=$($ZPOOL status $TESTPOOL | $GREP "^ scrub" | \
- $AWK '{print $7}' | $AWK -F. '{print $1}')
+ percent=$(zpool status $TESTPOOL | grep "^ scrub" | \
+ awk '{print $7}' | awk -F. '{print $1}')
if is_pool_scrubbed $TESTPOOL ; then
percent=100
fi
- $ECHO $percent
+ echo $percent
}
log_assert "scrub command terminates the existing scrub process and starts" \
"a new scrub."
-log_must $ZINJECT -d $DISK1 -D10:1 $TESTPOOL
-log_must $ZPOOL scrub $TESTPOOL
+log_must zinject -d $DISK1 -D10:1 $TESTPOOL
+log_must zpool scrub $TESTPOOL
typeset -i PERCENT=30 percent=0
while ((percent < PERCENT)) ; do
percent=$(get_scrub_percent)
done
-log_must $ZPOOL scrub $TESTPOOL
+log_must zpool scrub $TESTPOOL
percent=$(get_scrub_percent)
if ((percent > PERCENT)); then
log_fail "zpool scrub don't stop existing scrubbing process."
fi
-log_must $ZINJECT -c all
+log_must zinject -c all
log_pass "scrub command terminates the existing scrub process and starts" \
"a new scrub."
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Resilver prevent scrub from starting until the resilver completes"
-log_must $ZPOOL detach $TESTPOOL $DISK2
-log_must $ZINJECT -d $DISK1 -D10:1 $TESTPOOL
-log_must $ZPOOL attach $TESTPOOL $DISK1 $DISK2
+log_must zpool detach $TESTPOOL $DISK2
+log_must zinject -d $DISK1 -D10:1 $TESTPOOL
+log_must zpool attach $TESTPOOL $DISK1 $DISK2
log_must is_pool_resilvering $TESTPOOL
-log_mustnot $ZPOOL scrub $TESTPOOL
+log_mustnot zpool scrub $TESTPOOL
# Allow the resilver to finish, or it will interfere with the next test.
while ! is_pool_resilvered $TESTPOOL; do
- $SLEEP 1
+ sleep 1
done
-log_must $ZINJECT -c all
+log_must zinject -c all
log_pass "Resilver prevent scrub from starting until the resilver completes"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "When scrubbing, detach device should not break system."
-log_must $ZPOOL scrub $TESTPOOL
-log_must $ZPOOL detach $TESTPOOL $DISK2
-log_must $ZPOOL attach $TESTPOOL $DISK1 $DISK2
+log_must zpool scrub $TESTPOOL
+log_must zpool detach $TESTPOOL $DISK2
+log_must zpool attach $TESTPOOL $DISK1 $DISK2
while ! is_pool_resilvered $TESTPOOL; do
- $SLEEP 1
+ sleep 1
done
-log_must $ZPOOL scrub $TESTPOOL
-log_must $ZPOOL detach $TESTPOOL $DISK1
-log_must $ZPOOL attach $TESTPOOL $DISK2 $DISK1
+log_must zpool scrub $TESTPOOL
+log_must zpool detach $TESTPOOL $DISK1
+log_must zpool attach $TESTPOOL $DISK2 $DISK1
log_pass "When scrubbing, detach device should not break system."
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
# DESCRIPTION:
log_assert "zpool set usage message is displayed when called with no arguments"
-$ZPOOL set > /dev/null 2>&1
+zpool set > /dev/null 2>&1
RET=$?
if [ $RET != 2 ]
then
log_fail "\"zpool set\" exit status $RET should be equal to 2."
fi
-OUTPUT=$($ZPOOL set 2>&1 | $GREP -i usage)
+OUTPUT=$(zpool set 2>&1 | grep -i usage)
if [ $? != 0 ]
then
log_fail "Usage message for zpool set did not contain the word 'usage'."
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# before running this test...
function cleanup {
- $ZPOOL destroy bootfs
- $RM /tmp/zpool_set_002.$$.dat
+ zpool destroy bootfs
+ rm /tmp/zpool_set_002.$$.dat
}
log_assert "Malformed zpool set commands are rejected"
# Create a pool called bootfs (so-called, so as to trip any clashes between
# property name, and pool name)
# Also create a filesystem in this pool
-log_must $MKFILE $MINVDEVSIZE /tmp/zpool_set_002.$$.dat
-log_must $ZPOOL create bootfs /tmp/zpool_set_002.$$.dat
-log_must $ZFS create bootfs/root
+log_must mkfile $MINVDEVSIZE /tmp/zpool_set_002.$$.dat
+log_must zpool create bootfs /tmp/zpool_set_002.$$.dat
+log_must zfs create bootfs/root
typeset -i i=0;
while [ $i -lt "${#arguments[@]}" ]
do
- log_mustnot eval "$ZPOOL set ${arguments[$i]} > /dev/null 2>&1"
+ log_mustnot eval "zpool set ${arguments[$i]} > /dev/null 2>&1"
# now also try with a valid pool in the argument list
- log_mustnot eval "$ZPOOL set ${arguments[$i]}bootfs > /dev/null 2>&1"
+ log_mustnot eval "zpool set ${arguments[$i]}bootfs > /dev/null 2>&1"
# now also try with two valid pools in the argument list
- log_mustnot eval "$ZPOOL set ${arguments[$i]}bootfs bootfs > /dev/null"
+ log_mustnot eval "zpool set ${arguments[$i]}bootfs bootfs > /dev/null"
i=$(( $i + 1))
done
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $ZPOOL destroy $TESTPOOL
- $RM /tmp/zpool_set_003.$$.dat
+ zpool destroy $TESTPOOL
+ rm /tmp/zpool_set_003.$$.dat
}
set -A props "available" "capacity" "guid" "health" "size" "used"
log_assert "zpool set cannot set a readonly property"
-log_must $MKFILE $MINVDEVSIZE /tmp/zpool_set_003.$$.dat
-log_must $ZPOOL create $TESTPOOL /tmp/zpool_set_003.$$.dat
+log_must mkfile $MINVDEVSIZE /tmp/zpool_set_003.$$.dat
+log_must zpool create $TESTPOOL /tmp/zpool_set_003.$$.dat
typeset -i i=0;
while [ $i -lt "${#props[@]}" ]
do
# try to set each property in the prop list with it's corresponding val
- log_mustnot eval "$ZPOOL set ${props[$i]}=${vals[$i]} $TESTPOOL \
+ log_mustnot eval "zpool set ${props[$i]}=${vals[$i]} $TESTPOOL \
> /dev/null 2>&1"
i=$(( $i + 1))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL status ${args[$i]}
+ log_mustnot zpool status ${args[$i]}
(( i = i + 1 ))
done
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
while [[ $i -lt ${#args[*]} ]]; do
- log_must $ZPOOL status ${args[$i]}
+ log_must zpool status ${args[$i]}
(( i = i + 1 ))
done
log_note "Creating $pool_name from $pool_files"
for pool_file in $pool_files; do
- log_must $BZCAT \
+ log_must bzcat \
$STF_SUITE/tests/functional/cli_root/zpool_upgrade/$pool_file.bz2 \
>/$TESTPOOL/$pool_file
done
- log_must $ZPOOL import -d /$TESTPOOL $pool_name
+ log_must zpool import -d /$TESTPOOL $pool_name
# Put some random contents into the pool
for i in {1..1024} ; do
- $DD if=/dev/urandom of=/$pool_name/random.$i \
+ dd if=/dev/urandom of=/$pool_name/random.$i \
count=1 bs=1024 > /dev/null 2>&1
done
}
log_note "Checking if we can upgrade from ZFS version $vers"
pre_upgrade_checksum=$(check_pool $pool_name pre)
- log_must $ZPOOL upgrade $pool_name
+ log_must zpool upgrade $pool_name
post_upgrade_checksum=$(check_pool $pool_name post)
log_note "Checking that there are no differences between checksum output"
- log_must $DIFF $pre_upgrade_checksum $post_upgrade_checksum
- $RM $pre_upgrade_checksum $post_upgrade_checksum
+ log_must diff $pre_upgrade_checksum $post_upgrade_checksum
+ rm $pre_upgrade_checksum $post_upgrade_checksum
}
# A function to destroy an upgraded pool, plus the files it was based on.
typeset -n pool_files=ZPOOL_VERSION_${vers}_FILES
typeset -n pool_name=ZPOOL_VERSION_${vers}_NAME
- destroy_pool $pool_name
+ if poolexists $pool_name; then
+ log_must zpool destroy $pool_name
+ fi
for file in $pool_files; do
- $RM -f /$TESTPOOL/$file
+ rm -f /$TESTPOOL/$file
done
}
{
typeset pool=$1
typeset flag=$2
- $FIND /$pool -type f -exec $CKSUM {} + > \
+ find /$pool -type f -exec cksum {} + > \
/$TESTPOOL/pool-checksums.$pool.$flag
echo /$TESTPOOL/pool-checksums.$pool.$flag
}
typeset actual
# check version using zdb
- actual=$($ZDB -C $pool | $SED -n 's/^.*version: \(.*\)$/\1/p')
+ actual=$(zdb -C $pool | sed -n 's/^.*version: \(.*\)$/\1/p')
if [[ $actual != $vers ]] ; then
log_fail "$pool: zdb reported version $actual, expected $vers"
fi
# check version using zpool upgrade
- actual=$($ZPOOL upgrade | $GREP $pool$ | \
- $AWK '{print $1}' | $SED -e 's/ //g')
+ actual=$(zpool upgrade | grep $pool$ | \
+ awk '{print $1}' | sed -e 's/ //g')
if [[ $actual != $vers ]] ; then
log_fail "$pool: zpool reported version $actual, expected $vers"
fi
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
log_assert "Executing 'zpool upgrade -v' command succeeds"
-log_must $ZPOOL upgrade -v
+log_must zpool upgrade -v
# We also check that the usage message contains a description of legacy
# versions and a note about feature flags.
-log_must eval "$ZPOOL upgrade -v | $HEAD -1 | $GREP 'feature flags'"
+log_must eval "zpool upgrade -v | head -1 | grep 'feature flags'"
-$ZPOOL upgrade -v > /tmp/zpool-versions.$$
+zpool upgrade -v > /tmp/zpool-versions.$$
#
# Current output for 'zpool upgrade -v' has different indent space
#
for version in {1..28}; do
log_note "Checking for a description of pool version $version"
- log_must eval "$AWK '/^ $version / { print $1 }' /tmp/zpool-versions.$$ | $GREP $version"
+ log_must eval "awk '/^ $version / { print $1 }' /tmp/zpool-versions.$$ | grep $version"
done
-$RM /tmp/zpool-versions.$$
+rm /tmp/zpool-versions.$$
log_pass "Executing 'zpool upgrade -v' command succeeds"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
# upgrade them all at once
export __ZFS_POOL_RESTRICT="$TEST_POOLS"
-log_must $ZPOOL upgrade -a
+log_must zpool upgrade -a
unset __ZFS_POOL_RESTRICT
# verify their contents then destroy them
typeset -n pool_name=ZPOOL_VERSION_${config}_NAME
check_pool $pool_name post > /dev/null
- log_must $DIFF /$TESTPOOL/pool-checksums.$pool_name.pre \
+ log_must diff /$TESTPOOL/pool-checksums.$pool_name.pre \
/$TESTPOOL/pool-checksums.$pool_name.post
- $RM /$TESTPOOL/pool-checksums.$pool_name.pre \
+ rm /$TESTPOOL/pool-checksums.$pool_name.pre \
/$TESTPOOL/pool-checksums.$pool_name.post
destroy_upgraded_pool $config
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
"return with non-zero status"
for arg in "/tmp" "-?" "-va" "-v fakepool" "-a fakepool" ; do
- log_mustnot $ZPOOL upgrade $arg
+ log_mustnot zpool upgrade $arg
done
log_pass "Variations of upgrade -v print usage message," \
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
if poolexists $NO_POOL ; then
NO_POOL="${NO_POOL}x"
else
- log_mustnot $ZPOOL upgrade $NO_POOL
+ log_mustnot zpool upgrade $NO_POOL
break
fi
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
typeset ver_new=$(random $ver_old $MAX_VER)
create_old_pool $ver_old
- log_must $ZPOOL upgrade -V $ver_new $pool_name > /dev/null
+ log_must zpool upgrade -V $ver_new $pool_name > /dev/null
check_poolversion $pool_name $ver_new
destroy_upgraded_pool $ver_old
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
# Copyright 2015 Nexenta Systems, Inc. All rights reserved.
#
typeset -n pool_name=ZPOOL_VERSION_${config}_NAME
create_old_pool $config
-log_mustnot $ZPOOL upgrade -V 999 $pool_name
-log_mustnot $ZPOOL upgrade -V 999
+log_mustnot zpool upgrade -V 999 $pool_name
+log_mustnot zpool upgrade -V 999
check_poolversion $pool_name $config
destroy_upgraded_pool $config
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must eval "$ARC_SUMMARY ${args[i]} > /dev/null"
+ log_must eval "arc_summary.py ${args[i]} > /dev/null"
((i = i + 1))
done
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must eval "$ARCSTAT ${args[i]} > /dev/null"
+ log_must eval "arcstat.py ${args[i]} > /dev/null"
((i = i + 1))
done
log_pass "arcstat.py generates output and doesn't return an error code"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if poolexists $TESTPOOL.virt
then
- log_must $ZPOOL destroy $TESTPOOL.virt
+ log_must zpool destroy $TESTPOOL.virt
fi
if poolexists v1-pool
then
- log_must $ZPOOL destroy v1-pool
+ log_must zpool destroy v1-pool
fi
if [[ -f /tmp/zfstest_datastream.dat ]]
then
- log_must $RM -f /tmp/zfstest_datastream.dat
+ log_must rm -f /tmp/zfstest_datastream.dat
fi
default_cleanup
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must eval "$DBUFSTAT ${args[i]} > /dev/null"
+ log_must eval "dbufstat.py ${args[i]} > /dev/null"
((i = i + 1))
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# create a snapshot and a clone to test clone promote
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap
-log_must $ZFS clone $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS/clone
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap
+log_must zfs clone $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS/clone
# create a file in the filesystem that isn't in the above snapshot
-$TOUCH /$TESTDIR/file.txt
+touch /$TESTDIR/file.txt
# create a non-default property and a child we can use to test inherit
-log_must $ZFS create $TESTPOOL/$TESTFS/$TESTFS2
-log_must $ZFS set snapdir=hidden $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTFS/$TESTFS2
+log_must zfs set snapdir=hidden $TESTPOOL/$TESTFS
# create an unmounted filesystem to test unmount
-log_must $ZFS create $TESTPOOL/$TESTFS/$TESTFS2.unmounted
-log_must $ZFS unmount $TESTPOOL/$TESTFS/$TESTFS2.unmounted
+log_must zfs create $TESTPOOL/$TESTFS/$TESTFS2.unmounted
+log_must zfs unmount $TESTPOOL/$TESTFS/$TESTFS2.unmounted
# send our snapshot to a known file in /tmp
-$ZFS send $TESTPOOL/$TESTFS@snap > /tmp/zfstest_datastream.dat
+zfs send $TESTPOOL/$TESTFS@snap > /tmp/zfstest_datastream.dat
if [ ! -s /tmp/zfstest_datastream.dat ]
then
log_fail "ZFS send datafile was not created!"
fi
-log_must $CHMOD 644 /tmp/zfstest_datastream.dat
+log_must chmod 644 /tmp/zfstest_datastream.dat
# create a filesystem that has particular properties to test set/get
-log_must $ZFS create -o version=1 $TESTPOOL/$TESTFS/prop
+log_must zfs create -o version=1 $TESTPOOL/$TESTFS/prop
set -A props $PROP_NAMES
set -A prop_vals $PROP_VALS
typeset -i i=0
do
prop_name=${props[$i]}
prop_val=${prop_vals[$i]}
- log_must $ZFS set $prop_name=$prop_val $TESTPOOL/$TESTFS/prop
+ log_must zfs set $prop_name=$prop_val $TESTPOOL/$TESTFS/prop
i=$(( $i + 1 ))
done
# create a filesystem we don't mind renaming
-log_must $ZFS create $TESTPOOL/$TESTFS/renameme
+log_must zfs create $TESTPOOL/$TESTFS/renameme
if is_global_zone && !is_linux
then
# create a filesystem we can share
- log_must $ZFS create $TESTPOOL/$TESTFS/unshared
- log_must $ZFS set sharenfs=off $TESTPOOL/$TESTFS/unshared
+ log_must zfs create $TESTPOOL/$TESTFS/unshared
+ log_must zfs set sharenfs=off $TESTPOOL/$TESTFS/unshared
# create a filesystem that we can unshare
- log_must $ZFS create $TESTPOOL/$TESTFS/shared
- log_must $ZFS set sharenfs=on $TESTPOOL/$TESTFS/shared
+ log_must zfs create $TESTPOOL/$TESTFS/shared
+ log_must zfs set sharenfs=on $TESTPOOL/$TESTFS/shared
fi
-log_must $ZFS create -o version=1 $TESTPOOL/$TESTFS/version1
-log_must $ZFS create -o version=1 $TESTPOOL/$TESTFS/allowed
-log_must $ZFS allow everyone create $TESTPOOL/$TESTFS/allowed
+log_must zfs create -o version=1 $TESTPOOL/$TESTFS/version1
+log_must zfs create -o version=1 $TESTPOOL/$TESTFS/allowed
+log_must zfs allow everyone create $TESTPOOL/$TESTFS/allowed
if is_global_zone
then
# Now create several virtual disks to test zpool with
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk1.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk2.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk3.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk-additional.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk-export.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk-offline.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk-spare1.dat
- $MKFILE $MINVDEVSIZE /$TESTDIR/disk-spare2.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk1.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk2.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk3.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk-additional.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk-export.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk-offline.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk-spare1.dat
+ mkfile $MINVDEVSIZE /$TESTDIR/disk-spare2.dat
# and create a pool we can perform attach remove replace,
# etc. operations with
- log_must $ZPOOL create $TESTPOOL.virt mirror /$TESTDIR/disk1.dat \
+ log_must zpool create $TESTPOOL.virt mirror /$TESTDIR/disk1.dat \
/$TESTDIR/disk2.dat /$TESTDIR/disk3.dat /$TESTDIR/disk-offline.dat \
spare /$TESTDIR/disk-spare1.dat
# Offline one of the disks to test online
- log_must $ZPOOL offline $TESTPOOL.virt /$TESTDIR/disk-offline.dat
+ log_must zpool offline $TESTPOOL.virt /$TESTDIR/disk-offline.dat
# create an exported pool to test import
- log_must $ZPOOL create $TESTPOOL.exported /$TESTDIR/disk-export.dat
- log_must $ZPOOL export $TESTPOOL.exported
+ log_must zpool create $TESTPOOL.exported /$TESTDIR/disk-export.dat
+ log_must zpool export $TESTPOOL.exported
set -A props $POOL_PROPS
set -A prop_vals $POOL_VALS
do
prop_name=${props[$i]}
prop_val=${prop_vals[$i]}
- log_must $ZPOOL set $prop_name=$prop_val $TESTPOOL
+ log_must zpool set $prop_name=$prop_val $TESTPOOL
i=$(( $i + 1 ))
done
# copy a v1 pool from cli_root
- $CP $STF_SUITE/tests/functional/cli_root/zpool_upgrade/zfs-pool-v1.dat.bz2 \
+ cp $STF_SUITE/tests/functional/cli_root/zpool_upgrade/zfs-pool-v1.dat.bz2 \
/$TESTDIR
- log_must $BUNZIP2 /$TESTDIR/zfs-pool-v1.dat.bz2
- log_must $ZPOOL import -d /$TESTDIR v1-pool
+ log_must bunzip2 /$TESTDIR/zfs-pool-v1.dat.bz2
+ log_must zpool import -d /$TESTDIR v1-pool
fi
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_zdb
{
$@ > /tmp/zdb.$$
- $GREP "Dataset mos" /tmp/zdb.$$
+ grep "Dataset mos" /tmp/zdb.$$
if [ $? -eq 0 ]
then
log_fail "$@ exited 0 when run as a non root user!"
fi
- $RM /tmp/zdb.$$
+ rm /tmp/zdb.$$
}
{
if [ -e /tmp/zdb_001_neg.$$.txt ]
then
- $RM /tmp/zdb_001_neg.$$.txt
+ rm /tmp/zdb_001_neg.$$.txt
fi
}
log_assert "zdb can't run as a user on datasets, but can run without arguments"
log_onexit cleanup
-log_must eval "$ZDB > /tmp/zdb_001_neg.$$.txt"
+log_must eval "zdb > /tmp/zdb_001_neg.$$.txt"
# verify the output looks okay
-log_must $GREP pool_guid /tmp/zdb_001_neg.$$.txt
-log_must $RM /tmp/zdb_001_neg.$$.txt
+log_must grep pool_guid /tmp/zdb_001_neg.$$.txt
+log_must rm /tmp/zdb_001_neg.$$.txt
# we shouldn't able to run it on any dataset
-check_zdb $ZDB $TESTPOOL
-check_zdb $ZDB $TESTPOOL/$TESTFS
-check_zdb $ZDB $TESTPOOL/$TESTFS@snap
-check_zdb $ZDB $TESTPOOL/$TESTFS.clone
+check_zdb zdb $TESTPOOL
+check_zdb zdb $TESTPOOL/$TESTFS
+check_zdb zdb $TESTPOOL/$TESTFS@snap
+check_zdb zdb $TESTPOOL/$TESTFS.clone
log_pass "zdb can't run as a user on datasets, but can run without arguments"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
if [ -e /tmp/zfs_001_neg.$$.txt ]
then
- $RM /tmp/zfs_001_neg.$$.txt
+ rm /tmp/zfs_001_neg.$$.txt
fi
}
log_onexit cleanup
log_assert "zfs shows a usage message when run as a user"
-eval "$ZFS > /tmp/zfs_001_neg.$$.txt 2>&1"
-log_must $GREP "usage: zfs command args" /tmp/zfs_001_neg.$$.txt
+eval "zfs > /tmp/zfs_001_neg.$$.txt 2>&1"
+log_must grep "usage: zfs command args" /tmp/zfs_001_neg.$$.txt
log_pass "zfs shows a usage message when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# check to see if we have zfs allow
-$ZFS 2>&1 | $GREP "allow" > /dev/null
+zfs 2>&1 | grep "allow" > /dev/null
if (($? != 0)) then
log_unsupported "ZFS allow not supported on this machine."
fi
log_assert "zfs allow returns an error when run as a user"
-log_must $ZFS allow $TESTPOOL/$TESTFS
-log_mustnot $ZFS allow $($LOGNAME) create $TESTPOOL/$TESTFS
+log_must zfs allow $TESTPOOL/$TESTFS
+log_mustnot zfs allow $(logname) create $TESTPOOL/$TESTFS
# now verify that the above command actually did nothing by
# checking for any allow output. ( if no allows are granted,
# nothing should be output )
-OUTPUT=$($ZFS allow $TESTPOOL/$TESTFS | $GREP "Local+Descendent" )
+OUTPUT=$(zfs allow $TESTPOOL/$TESTFS | grep "Local+Descendent" )
if [ -n "$OUTPUT" ]
then
log_fail "zfs allow permissions were granted on $TESTPOOL/$TESTFS"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
log_assert "zfs clone returns an error when run as a user"
-log_mustnot $ZFS clone $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS.myclone
+log_mustnot zfs clone $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS.myclone
# check to see that the above command really did nothing
if datasetexists $TESTPOOL/$TESTFS.myclone
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
do
PROP=${props[$i]}
EXPECTED=${prop_vals[$i]}
- ACTUAL=$( $ZFS get $PROP -o value -H snapdir $TESTPOOl/$TESTFS/prop )
+ ACTUAL=$( zfs get $PROP -o value -H snapdir $TESTPOOl/$TESTFS/prop )
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_fail "Property $PROP value was $ACTUAL, expected $EXPECTED"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
log_assert "zfs inherit returns an error when run as a user"
-log_mustnot $ZFS inherit snapdir $TESTPOOL/$TESTFS/$TESTFS2
+log_mustnot zfs inherit snapdir $TESTPOOL/$TESTFS/$TESTFS2
# check to see that the above command really did nothing
-PROP=$($ZFS get snapdir $TESTPOOL/$TESTFS)
+PROP=$(zfs get snapdir $TESTPOOL/$TESTFS)
if [ "$PROP" = "visible" ]
then
log_fail "snapdir property inherited from the $TESTPOOL/$TESTFS!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs mount returns an error when run as a user"
-log_mustnot $ZFS mount $TESTPOOL/$TESTFS/$TESTFS2.unmounted
+log_mustnot zfs mount $TESTPOOL/$TESTFS/$TESTFS2.unmounted
# now verify that the above command didn't do anything
-MOUNTED=$($MOUNT | $GREP $TESTPOOL/$TESTFS/$TESTFS2.unmounted)
+MOUNTED=$(mount | grep $TESTPOOL/$TESTFS/$TESTFS2.unmounted)
if [ -n "$MOUNTED" ]
then
log_fail "Filesystem $TESTPOOL/$TESTFS/$TESTFS2.unmounted was mounted!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs promote returns an error when run as a user"
-log_mustnot $ZFS promote $TESTPOOL/$TESTFS/clone
+log_mustnot zfs promote $TESTPOOL/$TESTFS/clone
# Now verify that the above command didn't do anything
if datasetexists $TESTPOOL/$TESTFS/clone@snap
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs receive returns an error when run as a user"
-log_mustnot eval "$ZFS receive -d $TESTPOOL/$TESTFS/$TESTFS2 \
+log_mustnot eval "zfs receive -d $TESTPOOL/$TESTFS/$TESTFS2 \
< /tmp/zfstest_datastream.dat"
# verify that command actually did nothing
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs rename returns an error when run as a user"
-log_mustnot $ZFS rename $TESTPOOL/$TESTFS/renameme $TESTPOOL/$TESTFS/renameme1
+log_mustnot zfs rename $TESTPOOL/$TESTFS/renameme $TESTPOOL/$TESTFS/renameme1
# now verify the above command didn't actually do anything
if datasetexists $TESTPOOL/$TESTFS/renameme1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs rollback returns an error when run as a user"
-log_mustnot $ZFS rollback $TESTPOOL/$TESTFS@snap
+log_mustnot zfs rollback $TESTPOOL/$TESTFS@snap
# now verify the above command didn't actually do anything
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
if [ -e /tmp/zfstest_datastream.$$ ]
then
- log_must $RM /tmp/zfstest_datastream.$$
+ log_must rm /tmp/zfstest_datastream.$$
fi
}
log_assert "zfs send returns an error when run as a user"
log_onexit cleanup
-log_mustnot eval "$ZFS send $TESTPOOL/$TESTFS@snap > /tmp/zfstest_datastream.$$"
+log_mustnot eval "zfs send $TESTPOOL/$TESTFS@snap > /tmp/zfstest_datastream.$$"
# Now check that the above command actually did nothing
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
PROP=${props[$i]}
EXPECTED=${prop_vals[$i]}
NEW=${prop_new[$i]}
- log_mustnot $ZFS set $PROP=$NEW $TESTPOOL/$TESTFS/prop
+ log_mustnot zfs set $PROP=$NEW $TESTPOOL/$TESTFS/prop
# Now verify that the above command did nothing
- ACTUAL=$($ZFS get $PROP -o value -H snapdir $TESTPOOl/$TESTFS/prop )
+ ACTUAL=$(zfs get $PROP -o value -H snapdir $TESTPOOl/$TESTFS/prop )
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_fail "Property $PROP was set to $ACTUAL, expected $EXPECTED"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_fail "$TESTPOOL/$TESTFS/unshared was incorrectly shared initially!"
fi
-log_mustnot $ZFS share $TESTPOOL/$TESTFS/unshared
+log_mustnot zfs share $TESTPOOL/$TESTFS/unshared
# Now verify that the above command didn't actually do anything
if is_shared $TESTDIR/unshared
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs snapshot returns an error when run as a user"
-log_mustnot $ZFS snapshot $TESTPOOL/$TESTFS@usersnap1
+log_mustnot zfs snapshot $TESTPOOL/$TESTFS@usersnap1
# Now verify that the above command didn't actually do anything
if datasetexists $TESTPOOL/$TESTFS@usersnap1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# check to see if we have zfs unallow
-$ZFS 2>&1 | $GREP "unallow" > /dev/null
+zfs 2>&1 | grep "unallow" > /dev/null
if (($? != 0)) then
log_unsupported "ZFS unallow not supported on this machine."
fi
log_assert "zfs unallow returns an error when run as a user"
-log_mustnot $ZFS unallow everyone $TESTPOOL/$TESTFS/allowed
+log_mustnot zfs unallow everyone $TESTPOOL/$TESTFS/allowed
# now check with zfs allow to see if the permissions are still there
-OUTPUT=$($ZFS allow $TESTPOOL/$TESTFS/allowed | $GREP "Local+Descendent" )
+OUTPUT=$(zfs allow $TESTPOOL/$TESTFS/allowed | grep "Local+Descendent" )
if [ -z "$OUTPUT" ]
then
log_fail "Error - create permissions were unallowed on \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_fail "$TESTPOOL/$TESTFS/shared was not shared initially at all!"
fi
-log_mustnot $ZFS unshare $TESTPOOL/$TESTFS/shared
+log_mustnot zfs unshare $TESTPOOL/$TESTFS/shared
# now verify that the above command didn't do anything
if not_shared $TESTDIR/shared
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# check to see if we have upgrade capability
-$ZFS upgrade > /dev/null 2>&1
+zfs upgrade > /dev/null 2>&1
HAS_UPGRADE=$?
if [ $HAS_UPGRADE -ne 0 ]
then
log_assert "zfs upgrade returns an error when run as a user"
-log_mustnot $ZFS upgrade $TESTPOOL/$TESTFS/version1
+log_mustnot zfs upgrade $TESTPOOL/$TESTFS/version1
# now check to see the above command didn't do anything
-VERSION=$($ZFS upgrade $TESTPOOL/$TESTFS/version1 2>&1 \
- | $GREP "already at this version")
+VERSION=$(zfs upgrade $TESTPOOL/$TESTFS/version1 2>&1 \
+ | grep "already at this version")
if [ -n "$VERSION" ]
then
log_fail "A filesystem was upgraded!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
if [ -e /tmp/zpool_001_neg.$$.txt ]
then
- $RM /tmp/zpool_001_neg.$$.txt
+ rm /tmp/zpool_001_neg.$$.txt
fi
}
log_onexit cleanup
log_assert "zpool shows a usage message when run as a user"
-eval "$ZPOOL > /tmp/zpool_001_neg.$$.txt 2>&1"
-log_must $GREP "usage: zpool command args" /tmp/zpool_001_neg.$$.txt
+eval "zpool > /tmp/zpool_001_neg.$$.txt 2>&1"
+log_must grep "usage: zpool command args" /tmp/zpool_001_neg.$$.txt
log_pass "zpool shows a usage message when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL ${args[i]}
+ log_mustnot zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_attach
{
- RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk-additional.dat)
+ RESULT=$(zpool status -v $TESTPOOL.virt | grep disk-additional.dat)
if [ -n "$RESULT" ]
then
log_fail "A disk was attached to the pool!"
log_assert "zpool attach returns an error when run as a user"
-log_mustnot $ZPOOL attach $TESTPOOL.virt /$TESTDIR/disk1.dat \
+log_mustnot zpool attach $TESTPOOL.virt /$TESTDIR/disk1.dat \
/$TESTDIR/disk-additional.dat
check_for_attach
-log_mustnot $ZPOOL attach -f $TESTPOOL.virt /$TESTDIR/disk1.dat \
+log_mustnot zpool attach -f $TESTPOOL.virt /$TESTDIR/disk1.dat \
/$TESTDIR/disk-additional.dat
check_for_attach
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool clear returns an error when run as a user"
-log_mustnot $ZPOOL clear $TESTPOOL
+log_mustnot zpool clear $TESTPOOL
log_pass "zpool clear returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL ${args[i]}
+ log_mustnot zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL ${args[i]}
+ log_mustnot zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool detach returns an error when run as a user"
-log_mustnot $ZPOOL detach $TESTPOOL.virt /$TESTDIR/disk1.dat
+log_mustnot zpool detach $TESTPOOL.virt /$TESTDIR/disk1.dat
-RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk1.dat)
+RESULT=$(zpool status -v $TESTPOOL.virt | grep disk1.dat)
if [ -z "$RESULT" ]
then
log_fail "A disk was detached from the pool!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_export
{
- RESULT=$($ZPOOL list | $GREP $TESTPOOL.virt )
+ RESULT=$(zpool list | grep $TESTPOOL.virt )
if [ -z "$RESULT" ]
then
log_fail "A pool was exported!"
log_assert "zpool export returns an error when run as a user"
-log_mustnot $ZPOOL export $TESTPOOL.virt
+log_mustnot zpool export $TESTPOOL.virt
check_for_export
-log_mustnot $ZPOOL export -f $TESTPOOL.virt
+log_mustnot zpool export -f $TESTPOOL.virt
check_for_export
log_pass "zpool export returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
do
PROP=${props[$i]}
EXPECTED=${prop_vals[$i]}
- ACTUAL=$( $ZPOOL get $PROP $TESTPOOL | $GREP $PROP | $AWK '{print $1}' )
+ ACTUAL=$( zpool get $PROP $TESTPOOL | grep $PROP | awk '{print $1}' )
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_fail "Property $PROP value was $ACTUAL, expected $EXPECTED"
i=$(( $i + 1 ))
done
-log_must $ZPOOL get all $TESTPOOL
+log_must zpool get all $TESTPOOL
log_pass "zpool get works when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool history returns an error when run as a user"
-log_mustnot $ZPOOL history
-log_mustnot $ZPOOL history $TESTPOOL
-log_mustnot $ZPOOL history -i $TESTPOOL
-log_mustnot $ZPOOL history -l $TESTPOOL
-log_mustnot $ZPOOL history -il $TESTPOOL
+log_mustnot zpool history
+log_mustnot zpool history $TESTPOOL
+log_mustnot zpool history -i $TESTPOOL
+log_mustnot zpool history -l $TESTPOOL
+log_mustnot zpool history -il $TESTPOOL
log_assert "zpool history returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_import
{
- RESULT=$($ZPOOL list -H -o name | $GREP $TESTPOOL.exported)
+ RESULT=$(zpool list -H -o name | grep $TESTPOOL.exported)
if [ -n "$RESULT" ]
then
log_fail "Pool $TESTPOOL.export was successfully imported!"
verify_runnable "global"
log_assert "zpool import returns an error when run as a user"
-log_mustnot $ZPOOL import
+log_mustnot zpool import
-log_mustnot $ZPOOL import -a
+log_mustnot zpool import -a
check_for_import
-log_mustnot $ZPOOL import -d /$TESTDIR $TESTPOOL.exported
+log_mustnot zpool import -d /$TESTDIR $TESTPOOL.exported
check_for_import
log_pass "zpool import returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL import ${args[i]}
+ log_mustnot zpool import ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_offline
{
- RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk-1.dat \
- | $GREP OFFLINE )
+ RESULT=$(zpool status -v $TESTPOOL.virt | grep disk-1.dat \
+ | grep OFFLINE )
if [ -n "$RESULT" ]
then
log_fail "A disk was taken offline!"
log_assert "zpool offline returns an error when run as a user"
-log_mustnot $ZPOOL offline $TESTPOOL.virt /$TESTDIR/disk-1.dat
+log_mustnot zpool offline $TESTPOOL.virt /$TESTDIR/disk-1.dat
check_for_offline
-log_mustnot $ZPOOL offline -t $TESTPOOL.virt /$TESTDIR/disk-1.dat
+log_mustnot zpool offline -t $TESTPOOL.virt /$TESTDIR/disk-1.dat
check_for_offline
log_pass "zpool offline returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_online
{
- RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk-offline.dat \
- | $GREP ONLINE )
+ RESULT=$(zpool status -v $TESTPOOL.virt | grep disk-offline.dat \
+ | grep ONLINE )
if [ -n "$RESULT" ]
then
log_fail "A disk was brough online!"
log_assert "zpool online returns an error when run as a user"
-log_mustnot $ZPOOL online $TESTPOOL.virt /$TESTDIR/disk-offline.dat
+log_mustnot zpool online $TESTPOOL.virt /$TESTDIR/disk-offline.dat
check_for_online
-log_mustnot $ZPOOL online -t $TESTPOOL.virt /$TESTDIR/disk-offline.dat
+log_mustnot zpool online -t $TESTPOOL.virt /$TESTDIR/disk-offline.dat
check_for_online
log_pass "zpool online returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool remove returns an error when run as a user"
-log_mustnot $ZPOOL remove $TESTPOOL.virt /$TESTDIR/disk-spare1.dat
+log_mustnot zpool remove $TESTPOOL.virt /$TESTDIR/disk-spare1.dat
-RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk-spare1.dat)
+RESULT=$(zpool status -v $TESTPOOL.virt | grep disk-spare1.dat)
if [ -z "$RESULT" ]
then
log_fail "A disk was removed from the pool!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_for_replace
{
- $SLEEP 10
- RESULT=$($ZPOOL status -v $TESTPOOL.virt | $GREP disk-additional.dat)
+ sleep 10
+ RESULT=$(zpool status -v $TESTPOOL.virt | grep disk-additional.dat)
if [ -n "$RESULT" ]
then
log_fail "A disk was replaced in the pool!"
log_assert "zpool replace returns an error when run as a user"
-log_mustnot $ZPOOL replace $TESTPOOL.virt /$TESTDIR/disk-1.dat \
+log_mustnot zpool replace $TESTPOOL.virt /$TESTDIR/disk-1.dat \
/$TESTDIR/disk-additional.dat
check_for_replace
-log_mustnot $ZPOOL replace -f $TESTPOOL.virt /$TESTDIR/disk-1.dat \
+log_mustnot zpool replace -f $TESTPOOL.virt /$TESTDIR/disk-1.dat \
/$TESTDIR/disk-additional.dat
check_for_replace
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool scrub returns an error when run as a user"
-log_mustnot $ZPOOL scrub $TESTPOOL
-log_mustnot $ZPOOL scrub -s $TESTPOOL
+log_mustnot zpool scrub $TESTPOOL
+log_mustnot zpool scrub -s $TESTPOOL
log_pass "zpool scrub returns an error when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_mustnot $POOL set $PROP=$NEW $TESTPOOL
# Now verify that the above command did nothing
- ACTUAL=$( $ZPOOL get $PROP $TESTPOOL | $GREP $PROP | $AWK '{print $1}' )
+ ACTUAL=$( zpool get $PROP $TESTPOOL | grep $PROP | awk '{print $1}' )
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_fail "Property $PROP was set to $ACTUAL, expected $EXPECTED"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_pool_status
{
- RESULT=$($GREP "pool:" /tmp/pool-status.$$)
+ RESULT=$(grep "pool:" /tmp/pool-status.$$)
if [ -z "$RESULT" ]
then
log_fail "No pool: string found in zpool status output!"
fi
- $RM /tmp/pool-status.$$
+ rm /tmp/pool-status.$$
}
verify_runnable "global"
log_assert "zpool status works when run as a user"
-log_must eval "$ZPOOL status > /tmp/pool-status.$$"
+log_must eval "zpool status > /tmp/pool-status.$$"
check_pool_status
-log_must eval "$ZPOOL status -v > /tmp/pool-status.$$"
+log_must eval "zpool status -v > /tmp/pool-status.$$"
check_pool_status
-log_must eval "$ZPOOL status $TESTPOOL> /tmp/pool-status.$$"
+log_must eval "zpool status $TESTPOOL> /tmp/pool-status.$$"
check_pool_status
-log_must eval "$ZPOOL status -v $TESTPOOL > /tmp/pool-status.$$"
+log_must eval "zpool status -v $TESTPOOL > /tmp/pool-status.$$"
check_pool_status
# Make sure -c option works, and that VDEV_PATH and VDEV_UPATH get set.
# grep for '^\s+/' to just get the vdevs (not pools). All vdevs will start with
# a '/' when we specify the path (-P) flag. We check for "{}" to see if one
# of the VDEV variables isn't set.
-C1=$($ZPOOL status -P | $GREP -E '^\s+/' | $WC -l)
-C2=$($ZPOOL status -P -c 'echo vdev_test{$VDEV_PATH}{$VDEV_UPATH}' | \
- $GREP -E '^\s+/' | $GREP -v '{}' | $WC -l)
+C1=$(zpool status -P | grep -E '^\s+/' | wc -l)
+C2=$(zpool status -P -c 'echo vdev_test{$VDEV_PATH}{$VDEV_UPATH}' | \
+ grep -E '^\s+/' | grep -v '{}' | wc -l)
if [ "$C1" != "$C2" ] ; then
log_fail "zpool status -c option failed. Expected $C1 vdevs, got $C2"
fi
# $TESTPOOL.virt has an offline device, so -x will show it
-log_must eval "$ZPOOL status -x $TESTPOOL.virt > /tmp/pool-status.$$"
+log_must eval "zpool status -x $TESTPOOL.virt > /tmp/pool-status.$$"
check_pool_status
log_pass "zpool status works when run as a user"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_onexit cleanup
# zpool upgrade returns 0 when it can't do anything
-log_must $ZPOOL upgrade $TESTPOOL.virt
+log_must zpool upgrade $TESTPOOL.virt
# Now try to upgrade our version 1 pool
-log_mustnot $ZPOOL upgrade v1-pool
+log_mustnot zpool upgrade v1-pool
# if the pool has been upgraded, then v1-pool won't be listed in the output
# of zpool upgrade anymore
-RESULT=$($ZPOOL upgrade | $GREP v1-pool)
+RESULT=$(zpool upgrade | grep v1-pool)
if [ -z "$RESULT" ]
then
log_fail "A pool was upgraded successfully!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i index=0
for dataset in $DATASETS
do
- log_must $ZFS create $TESTPOOL/$TESTFS/$dataset
- $SLEEP 1
- log_must $ZFS snapshot $TESTPOOL/$TESTFS/${dataset}@snap
+ log_must zfs create $TESTPOOL/$TESTFS/$dataset
+ sleep 1
+ log_must zfs snapshot $TESTPOOL/$TESTFS/${dataset}@snap
- $SLEEP 1
+ sleep 1
if is_global_zone ; then
- log_must $ZFS create -V 64M $TESTPOOL/$TESTFS/${dataset}-vol
- $SLEEP 1
- log_must $ZFS snapshot $TESTPOOL/$TESTFS/${dataset}-vol@snap
+ log_must zfs create -V 64M $TESTPOOL/$TESTFS/${dataset}-vol
+ sleep 1
+ log_must zfs snapshot $TESTPOOL/$TESTFS/${dataset}-vol@snap
fi
# sleep to ensure that the datasets have different creation dates
- $SLEEP 1
- log_must $ZFS set checksum=${cksumarray[$index]} \
+ sleep 1
+ log_must zfs set checksum=${cksumarray[$index]} \
$TESTPOOL/$TESTFS/$dataset
if datasetexists $TESTPOOL/$TESTFS/${dataset}-vol; then
- log_must $ZFS set checksum=${cksumarray[$index]} \
+ log_must zfs set checksum=${cksumarray[$index]} \
$TESTPOOL/$TESTFS/${dataset}-vol
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
ACTUAL=$(basename $dataset)
if [ "$dataset" != "$TESTPOOL/$TESTFS" ]
then
- EXPECTED=$($ECHO $list | $AWK "{print \$$index}")
+ EXPECTED=$(echo $list | awk "{print \$$index}")
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_note "WARNING:" \
done
# finally check to see if we have the expected number of elements
- if [ $index -ne $($ECHO $list | $AWK '{print split($0,arr)+1}') ]
+ if [ $index -ne $(echo $list | awk '{print split($0,arr)+1}') ]
then
log_fail "Warning: " \
"unexpected number of filesystems found in list output!"
typeset name=$3
# set our index to the be number of elements in the list
- typeset -i index=$($ECHO $list | $AWK '{print split($0,arr)}')
+ typeset -i index=$(echo $list | awk '{print split($0,arr)}')
log_note "Checking reverse sort by '$name'," \
"expecting the reverse of '$list'"
ACTUAL=$(basename $dataset)
if [ "$dataset" != "$TESTPOOL/$TESTFS" ]
then
- EXPECTED=$($ECHO $list | $AWK "{print \$$index}")
+ EXPECTED=$(echo $list | awk "{print \$$index}")
if [ "$ACTUAL" != "$EXPECTED" ]
then
log_note "Warning:" \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must eval "$ZFS ${args[i]} > /dev/null"
+ log_must eval "zfs ${args[i]} > /dev/null"
((i = i + 1))
done
cd /tmp
typeset -i i=0
while [[ $i -lt ${#pathargs[*]} ]]; do
- log_must eval "$ZFS ${pathargs[i]} > /dev/null"
+ log_must eval "zfs ${pathargs[i]} > /dev/null"
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_user/zfs_list/zfs_list.kshlib
# sort by creation
verify_sort \
- "$ZFS list -H -r -o name -s creation -t filesystem $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s creation -t filesystem $TESTPOOL/$TESTFS" \
"$fs_creation" "creation date"
if is_global_zone ; then
verify_sort \
- "$ZFS list -H -r -o name -s creation -t volume $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s creation -t volume $TESTPOOL/$TESTFS" \
"$vol_creation" "creation date"
fi
verify_sort \
- "$ZFS list -H -r -o name -s creation -t snapshot $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s creation -t snapshot $TESTPOOL/$TESTFS" \
"$snap_creation" "creation date"
# sort by checksum
verify_sort \
- "$ZFS list -H -r -o name -s checksum -t filesystem $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s checksum -t filesystem $TESTPOOL/$TESTFS" \
"$fs_cksum" "checksum"
if is_global_zone ; then
verify_sort \
- "$ZFS list -H -r -o name -s checksum -t volume $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s checksum -t volume $TESTPOOL/$TESTFS" \
"$vol_cksum" "checksum"
fi
verify_sort \
- "$ZFS list -H -r -o name -s checksum -t snapshot $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s checksum -t snapshot $TESTPOOL/$TESTFS" \
"$snap_cksum" "checksum"
verify_sort \
- "$ZFS list -H -r -o name -S checksum -t snapshot $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S checksum -t snapshot $TESTPOOL/$TESTFS" \
"$snap_cksum" "checksum"
# sort by name
verify_sort \
- "$ZFS list -H -r -o name -s name -t filesystem $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s name -t filesystem $TESTPOOL/$TESTFS" \
"$fs_name" "name"
if is_global_zone ; then
verify_sort \
- "$ZFS list -H -r -o name -s name -t volume $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s name -t volume $TESTPOOL/$TESTFS" \
"$vol_name" "name"
fi
verify_sort \
- "$ZFS list -H -r -o name -s name -t snapshot $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -s name -t snapshot $TESTPOOL/$TESTFS" \
"$snap_name" "name"
# reverse sort by creation
verify_reverse_sort \
- "$ZFS list -H -r -o name -S creation -t filesystem $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S creation -t filesystem $TESTPOOL/$TESTFS" \
"$fs_creation" "creation date"
if is_global_zone ; then
verify_reverse_sort \
- "$ZFS list -H -r -o name -S creation -t volume $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S creation -t volume $TESTPOOL/$TESTFS" \
"$vol_creation" "creation date"
fi
verify_reverse_sort \
- "$ZFS list -H -r -o name -S creation -t snapshot $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S creation -t snapshot $TESTPOOL/$TESTFS" \
"$snap_creation" "creation date"
# reverse sort by checksum
verify_reverse_sort \
- "$ZFS list -H -r -o name -S checksum -t filesystem $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S checksum -t filesystem $TESTPOOL/$TESTFS" \
"$fs_rev_cksum" "checksum"
if is_global_zone ; then
verify_reverse_sort \
- "$ZFS list -H -r -o name -S checksum -t volume $TESTPOOL/$TESTFS" \
+ "zfs list -H -r -o name -S checksum -t volume $TESTPOOL/$TESTFS" \
"$vol_rev_cksum" "checksum"
fi
# reverse sort by name
verify_reverse_sort \
- "$ZFS list -H -r -o name -S name -t filesystem $TESTPOOL/$TESTFS"\
+ "zfs list -H -r -o name -S name -t filesystem $TESTPOOL/$TESTFS"\
"$fs_name" "name"
if is_global_zone ; then
verify_reverse_sort \
- "$ZFS list -H -r -o name -S name -t volume $TESTPOOL/$TESTFS"\
+ "zfs list -H -r -o name -S name -t volume $TESTPOOL/$TESTFS"\
"$vol_name" "name"
fi
verify_reverse_sort \
- "$ZFS list -H -r -o name -S name -t snapshot $TESTPOOL/$TESTFS"\
+ "zfs list -H -r -o name -S name -t snapshot $TESTPOOL/$TESTFS"\
"$snap_name" "name"
log_pass "The sort functionality in 'zfs list' works as expected."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if [[ -f $tmpfile ]]; then
- $RM -f $tmpfile
+ rm -f $tmpfile
fi
}
cd /tmp
for path in $TESTPOOL/$TESTFS $TESTDIR ./../$TESTDIR ; do
- $ZFS list -rH -o name $path > $tmpfile
+ zfs list -rH -o name $path > $tmpfile
for fs in $children ; do
- $GREP "^${fs}$" $tmpfile > /dev/null 2>&1
+ grep "^${fs}$" $tmpfile > /dev/null 2>&1
if (( $? != 0 )); then
log_fail "$fs not shown in the output list."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
cd /tmp
for fs in $paths ; do
- log_mustnot $ZFS list $fs
- log_mustnot $ZFS list -r $fs
+ log_mustnot zfs list $fs
+ log_mustnot zfs list -r $fs
done
log_pass "'zfs list [-r]' fails while the given dataset/path does not exist " \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
function cleanup
{
- log_must $RM -f $DEPTH_OUTPUT
- log_must $RM -f $EXPECT_OUTPUT
+ log_must rm -f $DEPTH_OUTPUT
+ log_must rm -f $EXPECT_OUTPUT
}
log_onexit cleanup
while (( fs<${#fs_type[*]} )); do
if [[ "$dp" == "0" ]] && \
[[ "${fs_type[$fs]}" == "volume" || "${fs_type[$fs]}" == "snapshot" ]]; then
- log_must eval "$ZFS list -H -d $dp -o name -t ${fs_type[$fs]} $DEPTH_FS > $DEPTH_OUTPUT"
+ log_must eval "zfs list -H -d $dp -o name -t ${fs_type[$fs]} $DEPTH_FS > $DEPTH_OUTPUT"
[[ -s "$DEPTH_OUTPUT" ]] && \
log_fail "$DEPTH_OUTPUT should be null."
- log_mustnot $ZFS list -rH -o name -t ${fs_type[$fs]} $DEPTH_FS | $EGREP -e '$eg_opt'
+ log_mustnot zfs list -rH -o name -t ${fs_type[$fs]} $DEPTH_FS | egrep -e '$eg_opt'
else
- log_must eval "$ZFS list -H -d $dp -o name -t ${fs_type[$fs]} $DEPTH_FS > $DEPTH_OUTPUT"
- log_must eval "$ZFS list -rH -o name -t ${fs_type[$fs]} $DEPTH_FS | $EGREP -e '$eg_opt' > $EXPECT_OUTPUT"
- log_must $DIFF $DEPTH_OUTPUT $EXPECT_OUTPUT
+ log_must eval "zfs list -H -d $dp -o name -t ${fs_type[$fs]} $DEPTH_FS > $DEPTH_OUTPUT"
+ log_must eval "zfs list -rH -o name -t ${fs_type[$fs]} $DEPTH_FS | egrep -e '$eg_opt' > $EXPECT_OUTPUT"
+ log_must diff $DEPTH_OUTPUT $EXPECT_OUTPUT
fi
(( fs+=1 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/cli_root/zfs_get/zfs_get_list_d.kshlib
typeset -i i=0
while (( i < ${#badargs[*]} ))
do
- log_mustnot eval "$ZFS list -d ${badargs[i]} $DEPTH_FS >/dev/null 2>&1"
+ log_mustnot eval "zfs list -d ${badargs[i]} $DEPTH_FS >/dev/null 2>&1"
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must $ZPOOL ${args[i]}
+ log_must zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if [[ -f $tmpfile ]]; then
- $RM -f $tmpfile
+ rm -f $tmpfile
fi
}
TESTPOOL=${TESTPOOL%%/*}
fi
-$ZPOOL iostat $TESTPOOL 1 4 > $tmpfile 2>&1 &
+zpool iostat $TESTPOOL 1 4 > $tmpfile 2>&1 &
sleep 4
-stat_count=$($GREP $TESTPOOL $tmpfile | $WC -l)
+stat_count=$(grep $TESTPOOL $tmpfile | wc -l)
if [[ $stat_count -ne 4 ]]; then
log_fail "zpool iostat [pool_name] [interval] [count] failed"
fi
# Test a floating point interval value
-log_must $ZPOOL iostat -v 0.5 1
+log_must zpool iostat -v 0.5 1
log_pass "zpool iostat [pool_name ...] [interval] [count] passed"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=1
while [[ $i -lt ${#args[*]} ]]; do
- log_assert "doing $ZPOOL iostat ${args[i]}"
- log_mustnot $ZPOOL iostat ${args[i]}
+ log_assert "doing zpool iostat ${args[i]}"
+ log_mustnot zpool iostat ${args[i]}
((i = i + 1))
done
typeset -i i=1
while [[ $i -lt ${#args[*]} ]]; do
- log_note "doing $ZPOOL iostat ${args[i]}"
- log_must $ZPOOL iostat ${args[i]}
+ log_note "doing zpool iostat ${args[i]}"
+ log_must zpool iostat ${args[i]}
((i = i + 1))
done
# a '/' when we specify the path (-P) flag. We check for "{}" to see if one
# of the VDEV variables isn't set.
#
-C1=$($ZPOOL iostat -Pv $testpool | $GREP -E '^\s+/' | $WC -l)
-C2=$($ZPOOL iostat -Pv -c 'echo vdev_test{$VDEV_PATH}{$VDEV_UPATH}' $testpool \
- | $GREP -E '^\s+/' | $GREP -v '{}' | $WC -l)
+C1=$(zpool iostat -Pv $testpool | grep -E '^\s+/' | wc -l)
+C2=$(zpool iostat -Pv -c 'echo vdev_test{$VDEV_PATH}{$VDEV_UPATH}' $testpool \
+ | grep -E '^\s+/' | grep -v '{}' | wc -l)
if [ "$C1" != "$C2" ] ; then
log_fail "zpool iostat -c failed, expected $C1 vdevs, got $C2"
else
# run on the vdev. We write the command results to a temp file to verify that
# the command actually gets run, rather than just verifying that the results
# are *displayed* for the specific vdev.
-TMP=$($MKTEMP)
-FIRST_VDEV=$($ZPOOL iostat -Pv $testpool | $GREP -Eo '^\s+/[^ ]+' | $HEAD -n 1)
-log_must $ZPOOL iostat -Pv -c "echo \$VDEV_PATH >> $TMP" $testpool \
+TMP=$(mktemp)
+FIRST_VDEV=$(zpool iostat -Pv $testpool | grep -Eo '^\s+/[^ ]+' | head -n 1)
+log_must zpool iostat -Pv -c "echo \$VDEV_PATH >> $TMP" $testpool \
$FIRST_VDEV > /dev/null
-C2=$($WC -w < $TMP)
-$RM $TMP
+C2=$(wc -w < $TMP)
+rm $TMP
if [ "$C2" != "1" ] ; then
log_fail "zpool iostat -c <VDEV> failed, expected 1 vdev, got $C2"
else
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while [[ $i -lt ${#args[*]} ]]; do
- log_must $ZPOOL ${args[i]}
+ log_must zpool ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=1
while [[ $i -lt ${#args[*]} ]]; do
- log_mustnot $ZPOOL list ${args[i]}
+ log_mustnot zpool list ${args[i]}
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Ensure that compressed files are smaller."
log_note "Ensure compression is off"
-log_must $ZFS set compression=off $TESTPOOL/$TESTFS
+log_must zfs set compression=off $TESTPOOL/$TESTFS
log_note "Writing file without compression..."
-log_must $FILE_WRITE -o $OP -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
+log_must file_write -o $OP -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
log_note "Add compression property to the dataset and write another file"
-log_must $ZFS set compression=on $TESTPOOL/$TESTFS
+log_must zfs set compression=on $TESTPOOL/$TESTFS
-log_must $FILE_WRITE -o $OP -f $TESTDIR/$TESTFILE1 -b $BLOCKSZ \
+log_must file_write -o $OP -f $TESTDIR/$TESTFILE1 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
-$SLEEP 60
+sleep 60
-FILE0_BLKS=`$DU -k $TESTDIR/$TESTFILE0 | $AWK '{ print $1}'`
-FILE1_BLKS=`$DU -k $TESTDIR/$TESTFILE1 | $AWK '{ print $1}'`
+FILE0_BLKS=`du -k $TESTDIR/$TESTFILE0 | awk '{ print $1}'`
+FILE1_BLKS=`du -k $TESTDIR/$TESTFILE1 | awk '{ print $1}'`
if [[ $FILE0_BLKS -le $FILE1_BLKS ]]; then
log_fail "$TESTFILE0 is smaller than $TESTFILE1" \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Ensure that compressed files in a dataset are smaller."
log_note "Ensure compression is off"
-log_must $ZFS set compression=off $TESTPOOL/$TESTCTR
+log_must zfs set compression=off $TESTPOOL/$TESTCTR
log_note "Writing file without compression..."
-log_must $FILE_WRITE -o $OP -f $TESTDIR1/$TESTFILE0 -b $BLOCKSZ \
+log_must file_write -o $OP -f $TESTDIR1/$TESTFILE0 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
log_note "Add compression property to the dataset and write another file"
-log_must $ZFS set compression=on $TESTPOOL/$TESTCTR
+log_must zfs set compression=on $TESTPOOL/$TESTCTR
-log_must $FILE_WRITE -o $OP -f $TESTDIR1/$TESTFILE1 -b $BLOCKSZ \
+log_must file_write -o $OP -f $TESTDIR1/$TESTFILE1 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
-$SLEEP 60
+sleep 60
-FILE0_BLKS=`$DU -k $TESTDIR1/$TESTFILE0 | $AWK '{ print $1}'`
-FILE1_BLKS=`$DU -k $TESTDIR1/$TESTFILE1 | $AWK '{ print $1}'`
+FILE0_BLKS=`du -k $TESTDIR1/$TESTFILE0 | awk '{ print $1}'`
+FILE1_BLKS=`du -k $TESTDIR1/$TESTFILE1 | awk '{ print $1}'`
if [[ $FILE0_BLKS -le $FILE1_BLKS ]]; then
log_fail "$TESTFILE0 is smaller than $TESTFILE1" \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -f $TESTDIR/*
+ rm -f $TESTDIR/*
}
log_assert "Changing blocksize doesn't cause system panic with compression settings"
do
for value in $(get_compress_opts zfs_compress)
do
- log_must $ZFS set $propname=$value $fs
+ log_must zfs set $propname=$value $fs
if [[ $value == "gzip-6" ]]; then
value="gzip"
fi
(( blksize = 512 ))
while (( blksize <= 131072 )); do
- log_must $ZFS set recordsize=$blksize $fs
+ log_must zfs set recordsize=$blksize $fs
(( offset = $RANDOM ))
if (( offset > blksize )); then
(( offset = offset % blksize ))
(( offset = offset + 1 ))
fi
(( fsize = offset ))
- log_must $MKFILE $fsize $single_blk_file
+ log_must mkfile $fsize $single_blk_file
(( fsize = blksize + offset ))
- log_must $MKFILE $fsize $multi_blk_file
+ log_must mkfile $fsize $multi_blk_file
(( blksize = blksize * 2 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -f $TESTDIR/*
+ rm -f $TESTDIR/*
}
function create_free_testing #<file size> <file>
fi
fi
- log_must $RANDFREE_FILE -l fsz -s $start \
+ log_must randfree_file -l fsz -s $start \
-n $len $file
[[ -e $file ]] && \
- log_must $RM -f $file
+ log_must rm -f $file
done
done
}
do
for value in $(get_compress_opts zfs_compress)
do
- log_must $ZFS set compression=$value $fs
+ log_must zfs set compression=$value $fs
real_val=$(get_prop $propname $fs)
if [[ $value == "gzip-6" ]]; then
value="gzip"
(( blksize = 512 ))
while (( blksize <= 131072 )); do
- log_must $ZFS set recordsize=$blksize $fs
+ log_must zfs set recordsize=$blksize $fs
# doing single block testing
(( fsize = $RANDOM ))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if ! is_linux; then
# restore the state of svc:/network/nis/client:default
if [[ -e $NISSTAFILE ]]; then
- log_must $SVCADM enable svc:/network/nis/client:default
- log_must $RM -f $NISSTAFILE
+ log_must svcadm enable svc:/network/nis/client:default
+ log_must rm -f $NISSTAFILE
fi
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
function restore_root_datasets
{
if datasetexists $ROOT_TESTFS ; then
- log_must $ZFS destroy -Rf $ROOT_TESTFS
+ log_must zfs destroy -Rf $ROOT_TESTFS
fi
- log_must $ZFS create $ROOT_TESTFS
+ log_must zfs create $ROOT_TESTFS
if is_global_zone ; then
if datasetexists $ROOT_TESTVOL ; then
- log_must $ZFS destroy -Rf $ROOT_TESTVOL
+ log_must zfs destroy -Rf $ROOT_TESTVOL
fi
- log_must $ZFS create -V $VOLSIZE $ROOT_TESTVOL
+ log_must zfs create -V $VOLSIZE $ROOT_TESTVOL
block_device_wait
fi
fi
typeset type=$(get_prop type $dtst)
- permissions=$($ECHO $permissions | $TR -s "," " ")
+ permissions=$(echo $permissions | tr -s "," " ")
typeset user
for user in $@; do
fi
typeset type=$(get_prop type $dtst)
- permissions=$($ECHO $permissions | $TR -s "," " ")
+ permissions=$(echo $permissions | tr -s "," " ")
typeset user
for user in $@; do
{
log_must restore_root_datasets
- log_must $ZFS create $SUBFS
+ log_must zfs create $SUBFS
for dtst in $DATASETS ; do
- log_must $ZFS allow -l $STAFF1 $LOCAL_SET $dtst
- log_must $ZFS allow -d $STAFF2 $DESC_SET $dtst
- log_must $ZFS allow $OTHER1 $LOCAL_DESC_SET $dtst
- log_must $ZFS allow $OTHER2 $LOCAL_DESC_SET $dtst
+ log_must zfs allow -l $STAFF1 $LOCAL_SET $dtst
+ log_must zfs allow -d $STAFF2 $DESC_SET $dtst
+ log_must zfs allow $OTHER1 $LOCAL_DESC_SET $dtst
+ log_must zfs allow $OTHER2 $LOCAL_DESC_SET $dtst
log_must verify_perm $dtst $LOCAL_SET $STAFF1
log_must verify_perm $dtst $LOCAL_DESC_SET $OTHER1
typeset dtst=$3
typeset oldval
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset snap=$dtst@snap.$stamp
typeset -i ret=1
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
typeset bak_user=/tmp/bak.$user.$stamp
typeset bak_root=/tmp/bak.root.$stamp
- user_run $user eval "$ZFS send $snap > $bak_user"
- log_must eval "$ZFS send $snap > $bak_root"
+ user_run $user eval "zfs send $snap > $bak_user"
+ log_must eval "zfs send $snap > $bak_root"
if [[ $(checksum $bak_user) == $(checksum $bak_root) ]]; then
ret=0
fi
- $RM -rf $bak_user > /dev/null
- $RM -rf $bak_root > /dev/null
+ rm -rf $bak_user > /dev/null
+ rm -rf $bak_root > /dev/null
return $ret
}
typeset fs=$3
typeset dtst
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset newfs=$fs/newfs.$stamp
typeset newvol=$fs/newvol.$stamp
typeset bak_user=/tmp/bak.$user.$stamp
typeset bak_root=/tmp/bak.root.$stamp
- log_must $ZFS create $newfs
+ log_must zfs create $newfs
typeset datasets="$newfs"
if is_global_zone ; then
- log_must $ZFS create -V $VOLSIZE $newvol
+ log_must zfs create -V $VOLSIZE $newvol
block_device_wait
datasets="$newfs $newvol"
fi
for dtst in $datasets ; do
typeset dtstsnap=$dtst@snap.$stamp
- log_must $ZFS snapshot $dtstsnap
+ log_must zfs snapshot $dtstsnap
- log_must eval "$ZFS send $dtstsnap > $bak_root"
- log_must $ZFS destroy -rf $dtst
+ log_must eval "zfs send $dtstsnap > $bak_root"
+ log_must zfs destroy -rf $dtst
- user_run $user eval "$ZFS receive $dtst < $bak_root"
+ user_run $user eval "zfs receive $dtst < $bak_root"
if datasetexists $dtstsnap ; then
return 1
fi
- log_must $ZFS allow $user create $fs
- user_run $user eval "$ZFS receive $dtst < $bak_root"
- log_must $ZFS unallow $user create $fs
+ log_must zfs allow $user create $fs
+ user_run $user eval "zfs receive $dtst < $bak_root"
+ log_must zfs unallow $user create $fs
if datasetexists $dtstsnap ; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- user_run $user eval "$ZFS receive $dtst < $bak_root"
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ user_run $user eval "zfs receive $dtst < $bak_root"
+ log_must zfs unallow $user mount $fs
if datasetexists $dtstsnap ; then
return 1
fi
- log_must $ZFS allow $user mount,create $fs
- user_run $user eval "$ZFS receive $dtst < $bak_root"
- log_must $ZFS unallow $user mount,create $fs
+ log_must zfs allow $user mount,create $fs
+ user_run $user eval "zfs receive $dtst < $bak_root"
+ log_must zfs unallow $user mount,create $fs
if ! datasetexists $dtstsnap ; then
return 1
fi
# check the data integrity
- log_must eval "$ZFS send $dtstsnap > $bak_user"
- log_must $ZFS destroy -rf $dtst
- log_must eval "$ZFS receive $dtst < $bak_root"
- log_must eval "$ZFS send $dtstsnap > $bak_root"
- log_must $ZFS destroy -rf $dtst
+ log_must eval "zfs send $dtstsnap > $bak_user"
+ log_must zfs destroy -rf $dtst
+ log_must eval "zfs receive $dtst < $bak_root"
+ log_must eval "zfs send $dtstsnap > $bak_root"
+ log_must zfs destroy -rf $dtst
if [[ $(checksum $bak_user) != $(checksum $bak_root) ]]; then
return 1
fi
- $RM -rf $bak_user > /dev/null
- $RM -rf $bak_root > /dev/null
+ rm -rf $bak_user > /dev/null
+ rm -rf $bak_root > /dev/null
done
typeset perm=$2
typeset dtst=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
- user_run $user $ZFS set "$user:ts=$stamp" $dtst
+ user_run $user zfs set "$user:ts=$stamp" $dtst
if [[ $stamp != $(get_prop "$user:ts" $dtst) ]]; then
return 1
fi
elif [[ $oldval == "off" ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $dtst"
- user_run $user $ZFS set $perm=${modes[$n]} $dtst
+ log_note "$user zfs set $perm=${modes[$n]} $dtst"
+ user_run $user zfs set $perm=${modes[$n]} $dtst
if [[ ${modes[$n]} != $(get_prop $perm $dtst) ]]; then
return 1
fi
elif [[ $oldval -eq 3 ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $dtst"
- user_run $user $ZFS set $perm=${modes[$n]} $dtst
+ log_note "$user zfs set $perm=${modes[$n]} $dtst"
+ user_run $user zfs set $perm=${modes[$n]} $dtst
if [[ ${modes[$n]} != $(get_prop $perm $dtst) ]]; then
return 1
fi
typeset value32m=$(( 1024 * 1024 * 32 ))
typeset oldval=$(get_prop reservation $dtst)
- user_run $user $ZFS set reservation=$value32m $dtst
+ user_run $user zfs set reservation=$value32m $dtst
if [[ $value32m != $(get_prop reservation $dtst) ]]; then
- log_must $ZFS set reservation=$oldval $dtst
+ log_must zfs set reservation=$oldval $dtst
return 1
fi
- log_must $ZFS set reservation=$oldval $dtst
+ log_must zfs set reservation=$oldval $dtst
return 0
}
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset newfs=$fs/nfs.$stamp
typeset newvol=$fs/nvol.$stamp
- user_run $user $ZFS create $newfs
+ user_run $user zfs create $newfs
if datasetexists $newfs ; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS create $newfs
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs create $newfs
+ log_must zfs unallow $user mount $fs
if ! datasetexists $newfs ; then
return 1
fi
- log_must $ZFS destroy $newfs
+ log_must zfs destroy $newfs
if is_global_zone ; then
# mount permission is required for sparse volume
- user_run $user $ZFS create -V 150m -s $newvol
+ user_run $user zfs create -V 150m -s $newvol
block_device_wait
if datasetexists $newvol ; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS create -V 150m -s $newvol
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs create -V 150m -s $newvol
+ log_must zfs unallow $user mount $fs
if ! datasetexists $newvol ; then
return 1
fi
block_device_wait
- log_must $ZFS destroy $newvol
+ log_must zfs destroy $newvol
block_device_wait
# mount and reserveration permission are
# required for normal volume
- user_run $user $ZFS create -V 150m $newvol
+ user_run $user zfs create -V 150m $newvol
block_device_wait
if datasetexists $newvol ; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS create -V 150m $newvol
+ log_must zfsallow $user mount $fs
+ user_run $user zfscreate -V 150m $newvol
block_device_wait
- log_must $ZFS unallow $user mount $fs
+ log_must zfsunallow $user mount $fs
if datasetexists $newvol ; then
return 1
fi
- log_must $ZFS allow $user reservation $fs
- user_run $user $ZFS create -V 150m $newvol
+ log_must zfsallow $user reservation $fs
+ user_run $user zfscreate -V 150m $newvol
block_device_wait
- log_must $ZFS unallow $user reservation $fs
+ log_must zfsunallow $user reservation $fs
if datasetexists $newvol ; then
return 1
fi
- log_must $ZFS allow $user refreservation $fs
- user_run $user $ZFS create -V 150m $newvol
+ log_must zfsallow $user refreservation $fs
+ user_run $user zfscreate -V 150m $newvol
block_device_wait
- log_must $ZFS unallow $user refreservation $fs
+ log_must zfsunallow $user refreservation $fs
if datasetexists $newvol ; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- log_must $ZFS allow $user reservation $fs
- log_must $ZFS allow $user refreservation $fs
- user_run $user $ZFS create -V 150m $newvol
- log_must $ZFS unallow $user mount $fs
- log_must $ZFS unallow $user reservation $fs
- log_must $ZFS unallow $user refreservation $fs
+ log_must zfs allow $user mount $fs
+ log_must zfs allow $user reservation $fs
+ log_must zfs allow $user refreservation $fs
+ user_run $user zfs create -V 150m $newvol
+ log_must zfs unallow $user mount $fs
+ log_must zfs unallow $user reservation $fs
+ log_must zfs unallow $user refreservation $fs
if ! datasetexists $newvol ; then
return 1
fi
block_device_wait
- log_must $ZFS destroy $newvol
+ log_must zfsdestroy $newvol
block_device_wait
fi
typeset fs=$3
if ! ismounted $fs ; then
- user_run $user $ZFS destroy $fs
+ user_run $user zfs destroy $fs
if datasetexists $fs ; then
return 1
fi
fi
if ismounted $fs ; then
- user_run $user $ZFS destroy $fs
+ user_run $user zfs destroy $fs
if ! datasetexists $fs ; then
return 1
fi
# mount permission is required
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS destroy $fs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs destroy $fs
if datasetexists $fs ; then
return 1
fi
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset snap=$fs@snap.$stamp
typeset mntpt=$(get_prop mountpoint $fs)
if [[ "yes" == $(get_prop mounted $fs) ]]; then
- log_must $ZFS umount $fs
+ log_must zfs umount $fs
fi
- user_run $user $ZFS snapshot $snap
+ user_run $user zfs snapshot $snap
if ! datasetexists $snap ; then
return 1
fi
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
if [[ "no" == $(get_prop mounted $fs) ]]; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
- user_run $user $ZFS snapshot $snap
+ user_run $user zfs snapshot $snap
if ! datasetexists $snap ; then
return 1
fi
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
typeset snapdir=${mntpt}/.zfs/snapshot/snap.$stamp
- user_run $user $MKDIR $snapdir
+ user_run $user mkdir $snapdir
if ! datasetexists $snap ; then
return 1
fi
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
return 0
}
typeset fs=$3
typeset oldval
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset snap=$fs@snap.$stamp
typeset mntpt=$(get_prop mountpoint $fs)
oldval=$(datasetcksum $fs)
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
if ! ismounted $fs; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
- log_must $TOUCH $mntpt/testfile.$stamp
+ log_must touch $mntpt/testfile.$stamp
- user_run $user $ZFS rollback -R $snap
+ user_run $user zfs rollback -R $snap
if is_global_zone ; then
if [[ $oldval != $(datasetcksum $fs) ]]; then
return 1
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset basefs=${fs%/*}
typeset snap=$fs@snap.$stamp
typeset clone=$basefs/cfs.$stamp
- log_must $ZFS snapshot $snap
- user_run $user $ZFS clone $snap $clone
+ log_must zfs snapshot $snap
+ user_run $user zfs clone $snap $clone
if datasetexists $clone ; then
return 1
fi
- log_must $ZFS allow $user create $basefs
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user create $basefs
+ log_must zfs allow $user create $basefs
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user create $basefs
if datasetexists $clone ; then
return 1
fi
- log_must $ZFS allow $user mount $basefs
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user mount $basefs
+ log_must zfs allow $user mount $basefs
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user mount $basefs
if datasetexists $clone ; then
return 1
fi
- log_must $ZFS allow $user mount $basefs
- log_must $ZFS allow $user create $basefs
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user create $basefs
- log_must $ZFS unallow $user mount $basefs
+ log_must zfs allow $user mount $basefs
+ log_must zfs allow $user create $basefs
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user create $basefs
+ log_must zfs unallow $user mount $basefs
if ! datasetexists $clone ; then
return 1
fi
- log_must $ZFS destroy -R $snap
+ log_must zfs destroy -R $snap
return 0
}
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset basefs=${fs%/*}
typeset snap=$fs@snap.$stamp
typeset renamefs=$basefs/nfs.$stamp
if ! ismounted $fs; then
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
# case 1
- user_run $user $ZFS rename $fs $renamefs
+ user_run $user zfs rename $fs $renamefs
if datasetexists $renamefs ; then
return 1
fi
# case 2
- log_must $ZFS allow $user create $basefs
- user_run $user $ZFS rename $fs $renamefs
- log_must $ZFS unallow $user create $basefs
+ log_must zfs allow $user create $basefs
+ user_run $user zfs rename $fs $renamefs
+ log_must zfs unallow $user create $basefs
if datasetexists $renamefs ; then
return 1
fi
# case 3
- log_must $ZFS allow $user mount $basefs
- user_run $user $ZFS rename $fs $renamefs
- log_must $ZFS unallow $user mount $basefs
+ log_must zfs allow $user mount $basefs
+ user_run $user zfs rename $fs $renamefs
+ log_must zfs unallow $user mount $basefs
if datasetexists $renamefs ; then
return 1
fi
# case 4
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS rename $fs $renamefs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs rename $fs $renamefs
if datasetexists $renamefs ; then
- log_must $ZFS unallow $user mount $renamefs
+ log_must zfs unallow $user mount $renamefs
return 1
fi
- log_must $ZFS unallow $user mount $fs
+ log_must zfs unallow $user mount $fs
# case 5
- log_must $ZFS allow $user create $basefs
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS rename $fs $renamefs
- log_must $ZFS unallow $user create $basefs
+ log_must zfs allow $user create $basefs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs rename $fs $renamefs
+ log_must zfs unallow $user create $basefs
if datasetexists $renamefs ; then
- log_must $ZFS unallow $user mount $renamefs
+ log_must zfs unallow $user mount $renamefs
return 1
fi
- log_must $ZFS unallow $user mount $fs
+ log_must zfs unallow $user mount $fs
# case 6
- log_must $ZFS allow $user mount $basefs
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS rename $fs $renamefs
- log_must $ZFS unallow $user mount $basefs
+ log_must zfs allow $user mount $basefs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs rename $fs $renamefs
+ log_must zfs unallow $user mount $basefs
if datasetexists $renamefs ; then
- log_must $ZFS unallow $user mount $renamefs
+ log_must zfs unallow $user mount $renamefs
return 1
fi
- log_must $ZFS unallow $user mount $fs
+ log_must zfs unallow $user mount $fs
# case 7
- log_must $ZFS allow $user create $basefs
- log_must $ZFS allow $user mount $basefs
- user_run $user $ZFS rename $fs $renamefs
- log_must $ZFS unallow $user mount $basefs
- log_must $ZFS unallow $user create $basefs
+ log_must zfs allow $user create $basefs
+ log_must zfs allow $user mount $basefs
+ user_run $user zfs rename $fs $renamefs
+ log_must zfs unallow $user mount $basefs
+ log_must zfs unallow $user create $basefs
if ! datasetexists $renamefs ; then
return 1
fi
- log_must $ZFS rename $renamefs $fs
+ log_must zfs rename $renamefs $fs
return 0
}
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset mntpt=$(get_prop mountpoint $fs)
typeset newmntpt=/tmp/mnt.$stamp
if ismounted $fs ; then
- user_run $user $ZFS unmount $fs
+ user_run $user zfs unmount $fs
if ismounted $fs ; then
return 1
fi
fi
if ! ismounted $fs ; then
- log_must $ZFS set mountpoint=$newmntpt $fs
- log_must $RM -rf $newmntpt
- log_must $MKDIR $newmntpt
+ log_must zfs set mountpoint=$newmntpt $fs
+ log_must rm -rf $newmntpt
+ log_must mkdir $newmntpt
- user_run $user $ZFS mount $fs
+ user_run $user zfs mount $fs
if ismounted $fs ; then
return 1
fi
# mountpoint's owner must be the user
- log_must $CHOWN $user $newmntpt
- user_run $user $ZFS mount $fs
+ log_must chown $user $newmntpt
+ user_run $user zfs mount $fs
if ! ismounted $fs ; then
return 1
fi
- log_must $ZFS umount $fs
- log_must $RM -rf $newmntpt
- log_must $ZFS set mountpoint=$mntpt $fs
+ log_must zfs umount $fs
+ log_must rm -rf $newmntpt
+ log_must zfs set mountpoint=$mntpt $fs
fi
return 0
typeset fs=$3
typeset -i ret=0
- $SVCADM enable -rs nfs/server
- typeset stat=$($SVCS -H -o STA nfs/server:default)
+ svcadm enable -rs nfs/server
+ typeset stat=$(svcs -H -o STA nfs/server:default)
if [[ $stat != "ON" ]]; then
log_fail "Could not enable nfs/server"
fi
- log_must $ZFS set sharenfs=on $fs
- $ZFS unshare $fs
+ log_must zfs set sharenfs=on $fs
+ zfs unshare $fs
- user_run $user $ZFS share $fs
+ user_run $user zfs share $fs
if ! is_shared $fs; then
ret=1
fi
- $ZFS unshare $fs
- log_must $ZFS set sharenfs=off $fs
+ zfs unshare $fs
+ log_must zfs set sharenfs=off $fs
return $ret
}
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset mntpt=$(get_prop mountpoint $fs)
typeset newmntpt=/tmp/mnt.$stamp
if ! ismounted $fs ; then
- user_run $user $ZFS set mountpoint=$newmntpt $fs
+ user_run $user zfs set mountpoint=$newmntpt $fs
if [[ $newmntpt != \
$(get_prop mountpoint $fs) ]] ; then
return 1
fi
- log_must $ZFS set mountpoint=$mntpt $fs
+ log_must zfs set mountpoint=$mntpt $fs
fi
if ismounted $fs ; then
- user_run $user $ZFS set mountpoint=$newmntpt $fs
+ user_run $user zfs set mountpoint=$newmntpt $fs
if [[ $mntpt != $(get_prop mountpoint $fs) ]]; then
return 1
fi
# require mount permission when fs is mounted
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS set mountpoint=$newmntpt $fs
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs set mountpoint=$newmntpt $fs
+ log_must zfs unallow $user mount $fs
if [[ $newmntpt != \
$(get_prop mountpoint $fs) ]] ; then
return 1
fi
- log_must $ZFS set mountpoint=$mntpt $fs
+ log_must zfs set mountpoint=$mntpt $fs
fi
return 0
typeset perm=$2
typeset fs=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset basefs=${fs%/*}
typeset snap=$fs@snap.$stamp
typeset clone=$basefs/cfs.$stamp
- log_must $ZFS snapshot $snap
- log_must $ZFS clone $snap $clone
- log_must $ZFS promote $clone
+ log_must zfs snapshot $snap
+ log_must zfs clone $snap $clone
+ log_must zfs promote $clone
typeset fs_orig=$(get_prop origin $fs)
typeset clone_orig=$(get_prop origin $clone)
- user_run $user $ZFS promote $fs
+ user_run $user zfs promote $fs
# promote should fail if original fs does not have
# promote permission
if [[ $fs_orig != $(get_prop origin $fs) || \
return 1
fi
- log_must $ZFS allow $user promote $clone
- user_run $user $ZFS promote $fs
- log_must $ZFS unallow $user promote $clone
+ log_must zfs allow $user promote $clone
+ user_run $user zfs promote $fs
+ log_must zfs unallow $user promote $clone
if [[ $fs_orig != $(get_prop origin $fs) || \
$clone_orig != $(get_prop origin $clone) ]]; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS promote $fs
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ user_run $user zfs promote $fs
+ log_must zfs unallow $user mount $fs
if [[ $fs_orig != $(get_prop origin $fs) || \
$clone_orig != $(get_prop origin $clone) ]]; then
return 1
fi
- log_must $ZFS allow $user mount $fs
- log_must $ZFS allow $user promote $clone
- user_run $user $ZFS promote $fs
- log_must $ZFS unallow $user promote $clone
- log_must $ZFS unallow $user mount $fs
+ log_must zfs allow $user mount $fs
+ log_must zfs allow $user promote $clone
+ user_run $user zfs promote $fs
+ log_must zfs unallow $user promote $clone
+ log_must zfs unallow $user mount $fs
if [[ $snap != $(get_prop origin $clone) || \
$clone_orig != $(get_prop origin $fs) ]]; then
return 1
typeset fs=$3
typeset oldval
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
if ! ismounted $fs ; then
set -A modes "on" "off"
elif [[ $oldval == "off" ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $fs"
- user_run $user $ZFS set $perm=${modes[$n]} $fs
+ log_note "$user zfs set $perm=${modes[$n]} $fs"
+ user_run $user zfs set $perm=${modes[$n]} $fs
if [[ ${modes[$n]} != $(get_prop $perm $fs) ]]; then
return 1
fi
elif [[ $oldval == "off" ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $fs"
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS set $perm=${modes[$n]} $fs
- log_must $ZFS unallow $user mount $fs
+ log_note "$user zfs set $perm=${modes[$n]} $fs"
+ log_must zfs allow $user mount $fs
+ user_run $user zfs set $perm=${modes[$n]} $fs
+ log_must zfs unallow $user mount $fs
if [[ ${modes[$n]} != $(get_prop $perm $fs) ]]; then
return 1
fi
typeset fs=$3
typeset value8k=$(( 1024 * 8 ))
- user_run $user $ZFS set recordsize=$value8k $fs
+ user_run $user zfs set recordsize=$value8k $fs
if [[ $value8k != $(get_prop recordsize $fs) ]]; then
return 1
fi
typeset fs=$3
value="2k"
- user_run $user $ZFS set dnodesize=$value $fs
+ user_run $user zfsset dnodesize=$value $fs
if [[ $value != $(get_prop dnodesize $fs) ]]; then
return 1
fi
typeset fs=$3
typeset value32m=$(( 1024 * 1024 * 32 ))
- user_run $user $ZFS set quota=$value32m $fs
+ user_run $user zfs set quota=$value32m $fs
if [[ $value32m != $(get_prop quota $fs) ]]; then
return 1
fi
elif [[ $oldval == "passthrough" ]]; then
n=0
fi
- log_note "$user $ZFS set aclmode=${modes[$n]} $fs"
- user_run $user $ZFS set aclmode=${modes[$n]} $fs
+ log_note "$user zfs set aclmode=${modes[$n]} $fs"
+ user_run $user zfs set aclmode=${modes[$n]} $fs
if [[ ${modes[$n]} != $(get_prop aclmode $fs) ]]; then
return 1
fi
elif [[ $oldval == "passthrough" ]]; then
n=0
fi
- log_note "$user $ZFS set aclinherit=${modes[$n]} $fs"
- user_run $user $ZFS set aclinherit=${modes[$n]} $fs
+ log_note "$user zfs set aclinherit=${modes[$n]} $fs"
+ user_run $user zfs set aclinherit=${modes[$n]} $fs
typeset newval=$(get_prop aclinherit $fs)
if [[ ${modes[$n]} == "secure" && $newval == "restricted" ]]; then
elif [[ $oldval == "hidden" ]]; then
n=0
fi
- log_note "$user $ZFS set snapdir=${modes[$n]} $fs"
- user_run $user $ZFS set snapdir=${modes[$n]} $fs
+ log_note "$user zfs set snapdir=${modes[$n]} $fs"
+ user_run $user zfs set snapdir=${modes[$n]} $fs
if [[ ${modes[$n]} != $(get_prop snapdir $fs) ]]; then
return 1
fi
elif [[ $oldval == "off" ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $fs"
- user_run $user $ZFS set $perm=${modes[$n]} $fs
+ log_note "$user zfs set $perm=${modes[$n]} $fs"
+ user_run $user zfs set $perm=${modes[$n]} $fs
if [[ ${modes[$n]} != $(get_prop $perm $fs) ]]; then
return 1
fi
elif [[ $oldval == "off" ]]; then
n=0
fi
- log_note "$user $ZFS set $perm=${modes[$n]} $fs"
+ log_note "$user zfs set $perm=${modes[$n]} $fs"
if is_global_zone ; then
if ! ismounted $fs ; then
- user_run $user $ZFS set \
+ user_run $user zfs set \
$perm=${modes[$n]} $fs
if [[ ${modes[$n]} != \
$(get_prop $perm $fs) ]]; then
return 1
fi
if [[ $n -eq 0 ]]; then
- log_mustnot $ZFS mount $fs
+ log_mustnot zfs mount $fs
else
- log_must $ZFS mount $fs
+ log_must zfs mount $fs
fi
fi
if ismounted $fs; then
# n always is 1 in this case
- user_run $user $ZFS set \
+ user_run $user zfs set \
$perm=${modes[$n]} $fs
if [[ $oldval != \
$(get_prop $perm $fs) ]]; then
# mount permission is needed
# to make zoned=on
- log_must $ZFS allow $user mount $fs
- user_run $user $ZFS set \
+ log_must zfs allow $user mount $fs
+ user_run $user zfs set \
$perm=${modes[$n]} $fs
- log_must $ZFS unallow $user mount $fs
+ log_must zfs unallow $user mount $fs
if [[ ${modes[$n]} != \
$(get_prop $perm $fs) ]]; then
return 1
fi
if ! is_global_zone; then
- user_run $user $ZFS set $perm=${modes[$n]} $fs
+ user_run $user zfs set $perm=${modes[$n]} $fs
if [[ $oldval != $(get_prop $perm $fs) ]]; then
return 1
fi
nmode="off"
fi
- log_note "$user $ZFS set $perm=$nmode $fs"
- user_run $user $ZFS set $perm=$nmode $fs
+ log_note "$user zfs set $perm=$nmode $fs"
+ user_run $user zfs set $perm=$nmode $fs
if [[ $(get_prop $perm $fs) != $nmode ]]; then
return 1
fi
- log_note "$user $ZFS set $perm=$omode $fs"
- user_run $user $ZFS set $perm=$omode $fs
+ log_note "$user zfs set $perm=$omode $fs"
+ user_run $user zfs set $perm=$omode $fs
if [[ $(get_prop $perm $fs) != $omode ]]; then
return 1
fi
typeset perm=$2
typeset vol=$3
- user_run $user $ZFS destroy $vol
+ user_run $user zfs destroy $vol
if ! datasetexists $vol ; then
return 1
fi
# mount permission is required
- log_must $ZFS allow $user mount $vol
- user_run $user $ZFS destroy $vol
+ log_must zfs allow $user mount $vol
+ user_run $user zfs destroy $vol
if datasetexists $vol ; then
return 1
fi
typeset perm=$2
typeset vol=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date +'%F-%T-%N')
typeset basevol=${vol%/*}
typeset snap=$vol@snap.$stamp
- user_run $user $ZFS snapshot $snap
+ user_run $user zfs snapshot $snap
if datasetexists $snap ; then
return 1
fi
- log_must $ZFS allow $user mount $vol
- user_run $user $ZFS snapshot $snap
- log_must $ZFS unallow $user mount $vol
+ log_must zfs allow $user mount $vol
+ user_run $user zfs snapshot $snap
+ log_must zfs unallow $user mount $vol
if ! datasetexists $snap ; then
return 1
fi
typeset perm=$2
typeset vol=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date+'%F-%T-%N')
typeset basevol=${vol%/*}
typeset snap=$vol@snap.$stamp
typeset oldval
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
oldval=$(datasetcksum $vol)
- log_must $DD if=/dev/urandom of=$ZVOL_RDEVDIR/$vol \
+ log_must dd if=/dev/urandom of=$ZVOL_RDEVDIR/$vol \
bs=512 count=1
- user_run $user $ZFS rollback -R $snap
- $SLEEP 10
+ user_run $user zfs rollback -R $snap
+ sleep 10
if [[ $oldval == $(datasetcksum $vol) ]]; then
return 1
fi
# rollback on volume has to be with mount permission
- log_must $ZFS allow $user mount $vol
- user_run $user $ZFS rollback -R $snap
- $SLEEP 10
- log_must $ZFS unallow $user mount $vol
+ log_must zfs allow $user mount $vol
+ user_run $user zfs rollback -R $snap
+ sleep 10
+ log_must zfs unallow $user mount $vol
if [[ $oldval != $(datasetcksum $vol) ]]; then
return 1
fi
typeset perm=$2
typeset vol=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date+'%F-%T-%N')
typeset basevol=${vol%/*}
typeset snap=$vol@snap.$stamp
typeset clone=$basevol/cvol.$stamp
- log_must $ZFS snapshot $snap
+ log_must zfs snapshot $snap
- user_run $user $ZFS clone $snap $clone
+ user_run $user zfs clone $snap $clone
if datasetexists $clone ; then
return 1
fi
- log_must $ZFS allow $user create $basevol
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user create $basevol
+ log_must zfs allow $user create $basevol
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user create $basevol
if datasetexists $clone ; then
return 1
fi
- log_must $ZFS allow $user mount $basevol
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user mount $basevol
+ log_must zfs allow $user mount $basevol
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user mount $basevol
if datasetexists $clone ; then
return 1
fi
# require create permission on parent and
# mount permission on itself as well
- log_must $ZFS allow $user mount $basevol
- log_must $ZFS allow $user create $basevol
- user_run $user $ZFS clone $snap $clone
- log_must $ZFS unallow $user create $basevol
- log_must $ZFS unallow $user mount $basevol
+ log_must zfs allow $user mount $basevol
+ log_must zfs allow $user create $basevol
+ user_run $user zfs clone $snap $clone
+ log_must zfs unallow $user create $basevol
+ log_must zfs unallow $user mount $basevol
if ! datasetexists $clone ; then
return 1
fi
typeset perm=$2
typeset vol=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date+'%F-%T-%N')
typeset basevol=${vol%/*}
typeset snap=$vol@snap.$stamp
typeset clone=$basevol/cvol.$stamp
typeset renamevol=$basevol/nvol.$stamp
- user_run $user $ZFS rename $vol $renamevol
+ user_run $user zfs rename $vol $renamevol
if datasetexists $renamevol ; then
return 1
fi
- log_must $ZFS allow $user create $basevol
- user_run $user $ZFS rename $vol $renamevol
- log_must $ZFS unallow $user create $basevol
+ log_must zfs allow $user create $basevol
+ user_run $user zfs rename $vol $renamevol
+ log_must zfs unallow $user create $basevol
if datasetexists $renamevol ; then
return 1
fi
- log_must $ZFS allow $user mount $basevol
- user_run $user $ZFS rename $vol $renamevol
- log_must $ZFS unallow $user mount $basevol
+ log_must zfs allow $user mount $basevol
+ user_run $user zfs rename $vol $renamevol
+ log_must zfs unallow $user mount $basevol
if datasetexists $renamevol ; then
return 1
fi
# require both create permission on parent and
# mount permission on parent as well
- log_must $ZFS allow $user mount $basevol
- log_must $ZFS allow $user create $basevol
- user_run $user $ZFS rename $vol $renamevol
- log_must $ZFS unallow $user mount $basevol
- log_must $ZFS unallow $user create $basevol
+ log_must zfs allow $user mount $basevol
+ log_must zfs allow $user create $basevol
+ user_run $user zfs rename $vol $renamevol
+ log_must zfs unallow $user mount $basevol
+ log_must zfs unallow $user create $basevol
if ! datasetexists $renamevol ; then
return 1
fi
- log_must $ZFS rename $renamevol $vol
+ log_must zfs rename $renamevol $vol
return 0
}
typeset perm=$2
typeset vol=$3
- typeset stamp=${perm}.${user}.$($DATE +'%F-%T-%N')
+ typeset stamp=${perm}.${user}.$(date+'%F-%T-%N')
typeset basevol=${vol%/*}
typeset snap=$vol@snap.$stamp
typeset clone=$basevol/cvol.$stamp
- log_must $ZFS snapshot $snap
- log_must $ZFS clone $snap $clone
- log_must $ZFS promote $clone
+ log_must zfs snapshot $snap
+ log_must zfs clone $snap $clone
+ log_must zfs promote $clone
typeset vol_orig=$(get_prop origin $vol)
typeset clone_orig=$(get_prop origin $clone)
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 1
- user_run $user $ZFS promote $vol
+ user_run $user zfs promote $vol
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 2
- log_must $ZFS allow $user promote $clone
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user promote $clone
+ log_must zfs allow $user promote $clone
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user promote $clone
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 3
- log_must $ZFS allow $user mount $vol
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user mount $vol
+ log_must zfs allow $user mount $vol
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user mount $vol
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 4
- log_must $ZFS allow $user mount $clone
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user mount $clone
+ log_must zfs allow $user mount $clone
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user mount $clone
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 5
- log_must $ZFS allow $user promote $clone
- log_must $ZFS allow $user mount $vol
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user promote $clone
- log_must $ZFS unallow $user mount $vol
+ log_must zfs allow $user promote $clone
+ log_must zfs allow $user mount $vol
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user promote $clone
+ log_must zfs unallow $user mount $vol
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 6
- log_must $ZFS allow $user promote $clone
- log_must $ZFS allow $user mount $clone
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user promote $clone
- log_must $ZFS unallow $user mount $vol
+ log_must zfs allow $user promote $clone
+ log_must zfs allow $user mount $clone
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user promote $clone
+ log_must zfs unallow $user mount $vol
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote should fail if $vol and $clone
# miss either mount or promote permission
# case 7
- log_must $ZFS allow $user mount $vol
- log_must $ZFS allow $user mount $clone
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user mount $vol
- log_must $ZFS unallow $user mount $clone
+ log_must zfs allow $user mount $vol
+ log_must zfs allow $user mount $clone
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user mount $vol
+ log_must zfs unallow $user mount $clone
if [[ $vol_orig != $(get_prop origin $vol) || \
$clone_orig != $(get_prop origin $clone) ]];
then
# promote only succeeds when $vol and $clone
# have both mount and promote permission
# case 8
- log_must $ZFS allow $user promote $clone
- log_must $ZFS allow $user mount $vol
- log_must $ZFS allow $user mount $clone
- user_run $user $ZFS promote $vol
- log_must $ZFS unallow $user promote $clone
- log_must $ZFS unallow $user mount $vol
- log_must $ZFS unallow $user mount $clone
+ log_must zfs allow $user promote $clone
+ log_must zfs allow $user mount $vol
+ log_must zfs allow $user mount $clone
+ user_run $user zfs promote $vol
+ log_must zfs unallow $user promote $clone
+ log_must zfs unallow $user mount $vol
+ log_must zfs unallow $user mount $clone
if [[ $snap != $(get_prop origin $clone) || \
$clone_orig != $(get_prop origin $vol) ]]; then
return 1
if [[ "0" == $reserv_size ]]; then
# sparse volume
- user_run $user $ZFS set volsize=$newval $vol
+ user_run $user zfs set volsize=$newval $vol
if [[ $oldval == $(get_prop volsize $vol) ]];
then
return 1
else
# normal volume, reservation permission
# is required
- user_run $user $ZFS set volsize=$newval $vol
+ user_run $user zfs set volsize=$newval $vol
if [[ $newval == $(get_prop volsize $vol) ]];
then
return 1
fi
- log_must $ZFS allow $user reservation $vol
- log_must $ZFS allow $user refreservation $vol
- user_run $user $ZFS set volsize=$newval $vol
- log_must $ZFS unallow $user reservation $vol
- log_must $ZFS unallow $user refreservation $vol
+ log_must zfs allow $user reservation $vol
+ log_must zfs allow $user refreservation $vol
+ user_run $user zfs set volsize=$newval $vol
+ log_must zfs unallow $user reservation $vol
+ log_must zfs unallow $user refreservation $vol
if [[ $oldval == $(get_prop volsize $vol) ]];
then
return 1
typeset -i ret
- user_run $user $ZFS allow $user allow $dtst
+ user_run $user zfs allow $user allow $dtst
ret=$?
if [[ $ret -eq 0 ]]; then
return 1
fi
- log_must $ZFS allow $user copies $dtst
- user_run $user $ZFS allow $user copies $dtst
+ log_must zfs allow $user copies $dtst
+ user_run $user zfs allow $user copies $dtst
ret=$?
- log_must $ZFS unallow $user copies $dtst
+ log_must zfs unallow $user copies $dtst
if [[ $ret -eq 1 ]]; then
return 1
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# check svc:/network/nis/client:default state
# disable it if the state is ON
# and the state will be restored during cleanup.ksh
- log_must $RM -f $NISSTAFILE
- if [[ "ON" == $($SVCS -H -o sta svc:/network/nis/client:default) ]]; then
- log_must $SVCADM disable -t svc:/network/nis/client:default
- log_must $TOUCH $NISSTAFILE
+ log_must rm -f $NISSTAFILE
+ if [[ "ON" == $(svcs -H -o sta svc:/network/nis/client:default) ]]; then
+ log_must svcadm disable -t svc:/network/nis/client:default
+ log_must touch $NISSTAFILE
fi
fi
DISK=${DISKS%% *}
default_volume_setup $DISK
-log_must $CHMOD 777 $TESTDIR
+log_must chmod 777 $TESTDIR
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
typeset perms="snapshot,reservation,compression,checksum,send,userprop"
log_note "Create a user called 'everyone'."
-if ! $ID everyone > /dev/null 2>&1; then
+if ! id everyone > /dev/null 2>&1; then
user_added="TRUE"
log_must add_user $STAFF_GROUP everyone
fi
for dtst in $DATASETS ; do
- log_must $ZFS allow everyone $perms $dtst
+ log_must zfs allow everyone $perms $dtst
log_must verify_perm $dtst $perms $EVERYONE "everyone"
done
log_must restore_root_datasets
fi
log_note "Created a group called 'everyone'."
-if ! $CAT /etc/group | $AWK -F: '{print $1}' | \
- $GREP -w 'everyone' > /dev/null 2>&1
+if ! cat /etc/group | awk -F: '{print $1}' | \
+ grep -w 'everyone' > /dev/null 2>&1
then
group_added="TRUE"
- log_must $GROUPADD everyone
+ log_must groupadd everyone
fi
for dtst in $DATASETS ; do
- log_must $ZFS allow everyone $perms $dtst
+ log_must zfs allow everyone $perms $dtst
log_must verify_perm $dtst $perms $EVERYONE
done
log_must restore_root_datasets
if [[ $group_added == "TRUE" ]]; then
- log_must $GROUPDEL everyone
+ log_must groupdel everyone
fi
log_pass "everyone is always interpreted as keyword passed."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
function cleanup
{
- if $ID $STAFF_GROUP > /dev/null 2>&1; then
+ if id $STAFF_GROUP > /dev/null 2>&1; then
log_must del_user $STAFF_GROUP
fi
log_must add_user $STAFF_GROUP $STAFF_GROUP
for dtst in $DATASETS ; do
- log_must $ZFS allow $STAFF_GROUP $perms $dtst
+ log_must zfs allow $STAFF_GROUP $perms $dtst
log_must verify_perm $dtst $perms $STAFF_GROUP
log_must verify_noperm $dtst $perms $STAFF1 $STAFF2
done
log_must del_user $STAFF_GROUP
for dtst in $datasets ; do
- log_must $ZFS allow $STAFF_GROUP $perms $dtst
+ log_must zfs allow $STAFF_GROUP $perms $dtst
log_must verify_perm $dtst $perms $STAFF1 $STAFF2
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
eval set -A dataset $DATASETS
typeset perms="snapshot,reservation,compression,checksum,userprop"
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -l $STAFF1 $perms $dtst
+ log_must zfs allow -l $STAFF1 $perms $dtst
log_must verify_perm $dtst $perms $STAFF1
if [[ $dtst == $ROOT_TESTFS ]] ; then
log_must verify_noperm $childfs $perms \
log_must restore_root_datasets
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -l -g $STAFF_GROUP $perms $dtst
+ log_must zfs allow -l -g $STAFF_GROUP $perms $dtst
log_must verify_perm $dtst $perms $STAFF1 $STAFF2
if [[ $dtst == $ROOT_TESTFS ]] ; then
log_must verify_noperm $childfs $perms \
log_must restore_root_datasets
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -l -e $perms $dtst
+ log_must zfs allow -l -e $perms $dtst
log_must verify_perm $dtst $perms $STAFF1 $STAFF2 $OTHER1 $OTHER2
if [[ $dtst == $ROOT_TESTFS ]] ; then
log_must verify_noperm $childfs $perms \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
typeset perms="snapshot,reservation,compression,checksum,userprop"
# Verify option '-d' only affect sub-datasets
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -d $STAFF1 $perms $dtst
+ log_must zfs allow -d $STAFF1 $perms $dtst
log_must verify_noperm $dtst $perms $STAFF1
if [[ $dtst == $ROOT_TESTFS ]]; then
log_must verify_perm $childfs $perms $STAFF1
log_must restore_root_datasets
# Verify option '-d + -g' affect group in sub-datasets.
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -d -g $STAFF_GROUP $perms $dtst
+ log_must zfs allow -d -g $STAFF_GROUP $perms $dtst
log_must verify_noperm $dtst $perms $STAFF2
if [[ $dtst == $ROOT_TESTFS ]]; then
log_must verify_perm $childfs $perms $STAFF2
log_must restore_root_datasets
# Verify option '-d + -e' affect everyone in sub-datasets.
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
- log_must $ZFS allow -d -e $perms $dtst
+ log_must zfs allow -d -e $perms $dtst
log_must verify_noperm $dtst $perms $OTHER1 $OTHER2
if [[ $dtst == $ROOT_TESTFS ]]; then
log_must verify_perm $childfs $perms $OTHER1 $OTHER2
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
eval set -A dataset $DATASETS
typeset perms="snapshot,reservation,compression,checksum,userprop"
-log_must $ZFS allow -l everyone create,mount $ROOT_TESTFS
-log_must $ZFS allow -c $perms $ROOT_TESTFS
+log_must zfs allow -l everyone create,mount $ROOT_TESTFS
+log_must zfs allow -c $perms $ROOT_TESTFS
mntpnt=$(get_prop mountpoint $ROOT_TESTFS)
-log_must $CHMOD 777 $mntpnt
+log_must chmod 777 $mntpnt
for user in $EVERYONE; do
childfs=$ROOT_TESTFS/$user
- user_run $user $ZFS create $childfs
+ user_run $user zfs create $childfs
for other in $EVERYONE; do
#
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_onexit restore_root_datasets
fs1=$ROOT_TESTFS/fs1; fs2=$ROOT_TESTFS/fs2
-log_must $ZFS create $fs1
-log_must $ZFS create $fs2
+log_must zfs create $fs1
+log_must zfs create $fs2
eval set -A dataset $DATASETS
perms1="snapshot,checksum,reservation"
for dtst in $DATASETS $fs1 $fs2; do
- log_must $ZFS allow -s @basic $perms1 $dtst
- log_must $ZFS allow $STAFF1 @basic $dtst
+ log_must zfs allow -s @basic $perms1 $dtst
+ log_must zfs allow $STAFF1 @basic $dtst
log_must verify_perm $dtst $perms1 $STAFF1
done
perms2="send,compression,userprop"
for dtst in $DATASETS $fs1 $fs2; do
- log_must $ZFS allow -s @basic $perms2 $dtst
+ log_must zfs allow -s @basic $perms2 $dtst
log_must verify_perm $dtst ${perms1},${perms2} $STAFF1
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
#
childfs=$ROOT_TESTFS/childfs
grandchild=$childfs/grandchild
-log_must $ZFS create $childfs
-log_must $ZFS create $grandchild
+log_must zfs create $childfs
+log_must zfs create $grandchild
#
# Setting different permissions to the same set on two level.
# But only assign the user at one level.
#
-log_must $ZFS allow -s @set $perms1 $ROOT_TESTFS
-log_must $ZFS allow -s @set $perms2 $childfs
-log_must $ZFS allow $STAFF1 @set $childfs
+log_must zfs allow -s @set $perms1 $ROOT_TESTFS
+log_must zfs allow -s @set $perms2 $childfs
+log_must zfs allow $STAFF1 @set $childfs
#
# Verify only perms2 is valid to user on the level which he was assigned.
# Delegate @set to STAFF1 on ROOT_TESTFS, verify $perms1 will not be appended
# to its descendent datasets since it is masked
#
-log_must $ZFS allow $STAFF1 @set $ROOT_TESTFS
+log_must zfs allow $STAFF1 @set $ROOT_TESTFS
log_must verify_perm $ROOT_TESTFS $perms1 $STAFF1
for fs in $childfs $grandchild ; do
log_must verify_noperm $fs $perms1 $STAFF1
done
# Remove the mask, $perms1 will be allowed to its descendent datasets
-log_must $ZFS unallow -s @set $childfs
+log_must zfs unallow -s @set $childfs
for fs in $childfs $grandchild ; do
log_must verify_noperm $fs $perms2 $STAFF1
log_must verify_perm $fs $perms1 $STAFF1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
perms2="send,compression,checksum,userprop"
childfs=$ROOT_TESTFS/childfs
-log_must $ZFS create $childfs
+log_must zfs create $childfs
for dtst in $DATASETS ; do
# Delegate local permission to $STAFF1
- log_must $ZFS allow -l $STAFF1 $perms1 $dtst
- log_must $ZFS allow -l $STAFF1 allow $dtst
+ log_must zfs allow -l $STAFF1 $perms1 $dtst
+ log_must zfs allow -l $STAFF1 allow $dtst
if [[ $dtst == $ROOT_TESTFS ]]; then
- log_must $ZFS allow -l $STAFF1 $perms2 $childfs
+ log_must zfs allow -l $STAFF1 $perms2 $childfs
# $perms1 is local permission in $ROOT_TESTFS
- log_mustnot user_run $STAFF1 $ZFS allow $OTHER1 $perms1 $childfs
+ log_mustnot user_run $STAFF1 zfs allow $OTHER1 $perms1 $childfs
log_must verify_noperm $childfs $perms1 $OTHER1
fi
# Verify 'allow' give non-privilege user delegated permission.
- log_must user_run $STAFF1 $ZFS allow -l $OTHER1 $perms1 $dtst
+ log_must user_run $STAFF1 zfs allow -l $OTHER1 $perms1 $dtst
log_must verify_perm $dtst $perms1 $OTHER1
# $perms2 was not allow to $STAFF1, so he have no permission to
# delegate permission to other else.
- log_mustnot user_run $STAFF1 $ZFS allow $OTHER1 $perms2 $dtst
+ log_mustnot user_run $STAFF1 zfs allow $OTHER1 $perms2 $dtst
log_must verify_noperm $dtst $perms2 $OTHER1
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
# Permission sets are limited to 64 characters in length.
longset="set123456789012345678901234567890123456789012345678901234567890123"
for dtst in $DATASETS ; do
- log_mustnot eval "$ZFS allow -s @$longset $dtst"
+ log_mustnot eval "zfs allow -s @$longset $dtst"
# Create non-existent permission set
- typeset timestamp=$($DATE +'%F-%R:%S')
- log_mustnot $ZFS allow -s @non-existent $dtst
- log_mustnot $ZFS allow $STAFF "atime,created,mounted" $dtst
- log_mustnot $ZFS allow $dtst $TESTPOOL
- log_mustnot $ZFS allow -c $dtst
- log_mustnot $ZFS allow -u $STAFF1 $dtst
- log_mustnot $ZFS allow -u $STAFF1 -g $STAFF_GROUP "create,destroy" $dtst
- log_mustnot $ZFS allow -u $STAFF1 -e "mountpoint" $dtst
+ typeset timestamp=$(date +'%F-%R:%S')
+ log_mustnot zfs allow -s @non-existent $dtst
+ log_mustnot zfs allow $STAFF "atime,created,mounted" $dtst
+ log_mustnot zfs allow $dtst $TESTPOOL
+ log_mustnot zfs allow -c $dtst
+ log_mustnot zfs allow -u $STAFF1 $dtst
+ log_mustnot zfs allow -u $STAFF1 -g $STAFF_GROUP "create,destroy" $dtst
+ log_mustnot zfs allow -u $STAFF1 -e "mountpoint" $dtst
done
log_pass "Invalid arguments are handled correctly."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
typeset -i i=0
while (( i < ${#perms[@]} )); do
- log_must $ZFS allow $STAFF1 ${perms[$i]} $dtst
+ log_must zfs allow $STAFF1 ${perms[$i]} $dtst
if [[ ${perms[((i+k))]} == "true" ]]; then
log_must verify_perm $dtst ${perms[$i]} $STAFF1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
typeset -i i=0
while ((i < ${#invalid_perms[@]})); do
- log_mustnot $ZFS allow $STAFF1 ${invalid_perms[$i]} $dtst
+ log_mustnot zfs allow $STAFF1 ${invalid_perms[$i]} $dtst
((i += 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
function cleanup
{
- log_must $ZPOOL set delegation=on $TESTPOOL
+ log_must zpool set delegation=on $TESTPOOL
log_must restore_root_datasets
}
zoned xattr receive destroy sharenfs share
fi
-log_must $ZPOOL set delegation=off $TESTPOOL
+log_must zpool set delegation=off $TESTPOOL
for dtst in $DATASETS; do
typeset -i i=0
while (( i < ${#perms[@]} )); do
- log_must $ZFS allow $STAFF1 ${perms[$i]} $dtst
+ log_must zfs allow $STAFF1 ${perms[$i]} $dtst
log_must verify_noperm $dtst ${perms[$i]} $STAFF1
log_must restore_root_datasets
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_must setup_unallow_testenv
for dtst in $DATASETS ; do
- log_must $ZFS unallow -l $STAFF1 $dtst
+ log_must zfs unallow -l $STAFF1 $dtst
log_must verify_noperm $dtst $LOCAL_SET $STAFF1
- log_must $ZFS unallow -l $OTHER1 $dtst
+ log_must zfs unallow -l $OTHER1 $dtst
log_must verify_noperm $dtst $LOCAL_DESC_SET $OTHER1
log_must verify_perm $dtst $LOCAL_DESC_SET $OTHER2
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_must setup_unallow_testenv
-log_must $ZFS unallow -d $STAFF2 $ROOT_TESTFS
+log_must zfs unallow -d $STAFF2 $ROOT_TESTFS
log_must verify_noperm $SUBFS $DESC_SET $STAFF2
-log_must $ZFS unallow -d $OTHER1 $ROOT_TESTFS
+log_must zfs unallow -d $OTHER1 $ROOT_TESTFS
log_must verify_noperm $SUBFS $LOCAL_DESC_SET $OTHER1
log_must verify_perm $ROOT_TESTFS $LOCAL_DESC_SET $OTHER1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_must setup_unallow_testenv
for dtst in $DATASETS ; do
- log_must $ZFS unallow $STAFF1 $dtst
- log_must $ZFS unallow -l -d $STAFF2 $dtst
+ log_must zfs unallow $STAFF1 $dtst
+ log_must zfs unallow -l -d $STAFF2 $dtst
log_must verify_noperm $dtst $LOCAL_SET $STAFF1
if [[ $dtst == $ROOT_TESTFS ]]; then
log_must verify_noperm $SUBFS $DESC_SET $STAFF2
fi
- log_must $ZFS unallow -l -d $OTHER1 $dtst
- log_must $ZFS unallow -r $OTHER2 $dtst
+ log_must zfs unallow -l -d $OTHER1 $dtst
+ log_must zfs unallow -r $OTHER2 $dtst
log_must verify_noperm $dtst $LOCAL_DESC_SET $OTHER1 $OTHER2
if [[ $dtst == $ROOT_TESTFS ]]; then
log_must verify_noperm $SUBFS $LOCAL_DESC_SET $OTHER1 $OTHER2
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_onexit restore_root_datasets
for dtst in $DATASETS ; do
- log_must $ZFS allow -s @basic $LOCAL_DESC_SET $dtst
- log_must $ZFS allow -u $STAFF1 @basic $dtst
+ log_must zfs allow -s @basic $LOCAL_DESC_SET $dtst
+ log_must zfs allow -u $STAFF1 @basic $dtst
log_must verify_perm $dtst $LOCAL_DESC_SET $STAFF1
- log_must $ZFS unallow -s @basic $LOCAL_DESC_SET $dtst
+ log_must zfs unallow -s @basic $LOCAL_DESC_SET $dtst
log_must verify_noperm $dtst $LOCAL_DESC_SET $STAFF1
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_assert "Verify option '-c' will remove the created permission set."
log_onexit restore_root_datasets
-log_must $ZFS allow -c $LOCAL_SET $ROOT_TESTFS
-log_must $ZFS allow -l $STAFF1 create,mount $ROOT_TESTFS
+log_must zfs allow -c $LOCAL_SET $ROOT_TESTFS
+log_must zfs allow -l $STAFF1 create,mount $ROOT_TESTFS
# Create $SUBFS and verify $SUBFS has created time permissions.
-user_run $STAFF1 $ZFS create $SUBFS
+user_run $STAFF1 zfs create $SUBFS
if ! datasetexists $SUBFS ; then
- log_fail "ERROR: ($STAFF1): $ZFS create $SUBFS"
+ log_fail "ERROR: ($STAFF1): zfs create $SUBFS"
fi
log_must verify_perm $SUBFS $LOCAL_SET $STAFF1
# After unallow -c, create $SUBFS2 and verify $SUBFS2 has not created time
# permissions any more.
#
-log_must $ZFS unallow -c $LOCAL_SET $ROOT_TESTFS
-user_run $STAFF1 $ZFS create $SUBFS2
+log_must zfs unallow -c $LOCAL_SET $ROOT_TESTFS
+user_run $STAFF1 zfs create $SUBFS2
if ! datasetexists $SUBFS2 ; then
- log_fail "ERROR: ($STAFF1): $ZFS create $SUBFS2"
+ log_fail "ERROR: ($STAFF1): zfs create $SUBFS2"
fi
log_must verify_noperm $SUBFS2 $LOCAL_SET $STAFF1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_onexit restore_root_datasets
for dtst in $DATASETS ; do
- log_must $ZFS allow -u $STAFF1 $LOCAL_DESC_SET $dtst
- log_must $ZFS allow -g $STAFF_GROUP $LOCAL_DESC_SET $dtst
- log_must $ZFS allow -e $LOCAL_DESC_SET $dtst
+ log_must zfs allow -u $STAFF1 $LOCAL_DESC_SET $dtst
+ log_must zfs allow -g $STAFF_GROUP $LOCAL_DESC_SET $dtst
+ log_must zfs allow -e $LOCAL_DESC_SET $dtst
log_must verify_perm $dtst $LOCAL_DESC_SET \
$STAFF1 $STAFF2 $OTHER1 $OTHER2
- log_must $ZFS unallow -e $dtst
+ log_must zfs unallow -e $dtst
log_must verify_perm $dtst $LOCAL_DESC_SET $STAFF1 $STAFF2
log_must verify_noperm $dtst $LOCAL_DESC_SET $OTHER1 $OTHER2
- log_must $ZFS unallow -g $STAFF_GROUP $dtst
+ log_must zfs unallow -g $STAFF_GROUP $dtst
log_must verify_perm $dtst $LOCAL_DESC_SET $STAFF1
log_must verify_noperm $dtst $LOCAL_DESC_SET $STAFF2
- log_must $ZFS unallow -u $STAFF1 $dtst
+ log_must zfs unallow -u $STAFF1 $dtst
log_must verify_noperm $dtst $LOCAL_DESC_SET $STAFF1
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
log_onexit restore_root_datasets
perm1="atime,devices"; perm2="compression,checksum"
-log_must $ZFS create $SUBFS
-log_must $ZFS allow $STAFF1 $perm1 $ROOT_TESTFS
-log_must $ZFS allow $STAFF1 $perm2 $SUBFS
+log_must zfs create $SUBFS
+log_must zfs allow $STAFF1 $perm1 $ROOT_TESTFS
+log_must zfs allow $STAFF1 $perm2 $SUBFS
log_must verify_perm $SUBFS ${perm1},${perm2} $STAFF1
#
# Athrough unallow the permissions which don't exists on the specific dataset
# return 0, the inherited permissions can't be removed in fact.
#
-log_must $ZFS unallow -u $STAFF1 $perm1 $SUBFS
+log_must zfs unallow -u $STAFF1 $perm1 $SUBFS
log_must verify_perm $SUBFS ${perm1},${perm2} $STAFF1
log_pass "Verify zfs unallow won't remove inherited permissions passed."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/delegate/delegate_common.kshlib
export POSIXLY_CORRECT=1
for dtst in $DATASETS ; do
- log_must $ZFS allow -c create $dtst
+ log_must zfs allow -c create $dtst
typeset -i i=0
while ((i < ${#badopts[@]})); do
- neg_test $ZFS unallow ${badopts[$i]} $dtst
+ neg_test zfs unallow ${badopts[$i]} $dtst
((i += 1))
done
- # Causes test failure: neg_test user_run $STAFF1 $ZFS unallow $dtst
+ # Causes test failure: neg_test user_run $STAFF1 zfs unallow $dtst
done
unset POSIXLY_CORRECT
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
"system can be used."
log_onexit cleanup
-log_must $ZFS set devices=on $TESTPOOL/$TESTFS
+log_must zfs set devices=on $TESTPOOL/$TESTFS
#
# Separately create block device file and character device file, then try to
# open them and make sure it succeed.
#
create_dev_file b $TESTDIR/$TESTFILE1
-log_must $DD if=$TESTDIR/$TESTFILE1 of=$TESTDIR/$TESTFILE1.out count=1
+log_must dd if=$TESTDIR/$TESTFILE1 of=$TESTDIR/$TESTFILE1.out count=1
create_dev_file c $TESTDIR/$TESTFILE2
-log_must $DD if=$TESTDIR/$TESTFILE2 of=$TESTDIR/$TESTFILE2.out count=1
+log_must dd if=$TESTDIR/$TESTFILE2 of=$TESTDIR/$TESTFILE2.out count=1
log_pass "Setting devices=on on file system and testing it pass."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
"system can not be used."
log_onexit cleanup
-log_must $ZFS set devices=off $TESTPOOL/$TESTFS
+log_must zfs set devices=off $TESTPOOL/$TESTFS
#
# Separately create block device file and character device file, then try to
# open them and make sure it failed.
#
create_dev_file b $TESTDIR/$TESTFILE1
-log_mustnot $DD if=$TESTDIR/$TESTFILE1 of=$TESTDIR/$TESTFILE1.out count=1
+log_mustnot dd if=$TESTDIR/$TESTFILE1 of=$TESTDIR/$TESTFILE1.out count=1
create_dev_file c $TESTDIR/$TESTFILE2
-log_mustnot $DD if=$TESTDIR/$TESTFILE2 of=$TESTDIR/$TESTFILE2.out count=1
+log_mustnot dd if=$TESTDIR/$TESTFILE2 of=$TESTDIR/$TESTFILE2.out count=1
log_pass "Setting devices=off on file system and testing it pass."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Writing random data into /dev/zfs should do no harm."
-log_mustnot $DD if=/dev/urandom of=/dev/zfs count=1024
+log_mustnot dd if=/dev/urandom of=/dev/zfs count=1024
log_pass "Writing random data into /dev/zfs should do no harm."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/devices/devices.cfg
case $filetype in
b)
if is_linux; then
- devtype=$($DF -T / | $AWK '{print $2}')
+ devtype=$(df -T / | awk '{print $2}')
else
- devtype=$($DF -n / | $AWK '{print $3}')
+ devtype=$(df -n / | awk '{print $3}')
fi
case $devtype in
zfs)
- rootpool=$($DF / | \
- $AWK '{print $2}')
+ rootpool=$(df / | \
+ awk '{print $2}')
rootpool=${rootpool#\(}
rootpool=${rootpool%%/*}
devstr=$(get_disklist $rootpool)
- devstr=$($ECHO "$devstr" | \
- $AWK '{print $1}')
+ devstr=$(echo "$devstr" | \
+ awk '{print $1}')
[[ -z $devstr ]] && \
log_fail "Can not get block device file."
devstr=$DEV_DSKDIR/${devstr}
# Get the existing block device file in current system.
# And bring out the first one.
#
- devstr=$($DF -lhF ufs | \
- $GREP "^${DEV_DSKDIR}" | \
- $AWK '{print $1}')
- devstr=$($ECHO "$devstr" | \
- $AWK '{print $1}')
+ devstr=$(df-lhF ufs | \
+ grep "^${DEV_DSKDIR}" | \
+ awk '{print $1}')
+ devstr=$(echo "$devstr" | \
+ awk '{print $1}')
[[ -z $devstr ]] && \
log_fail "Can not get block device file."
;;
# Get the device file information. i.e:
# $DEV_DSKDIR/c0t0d0s0: block special (28/768)
#
- devstr=$($FILE $devstr)
+ devstr=$(file $devstr)
#
# Bring out major and minor number.
minor=${devstr##*/}
minor=${minor%\)}
- log_must $MKNOD $filename b $major $minor
+ log_must mknod $filename b $major $minor
;;
c)
#
# Create device file '/dev/null'
#
- log_must $MKNOD $filename c $($GETMAJOR mm) 2
+ log_must mknod $filename c $(getmajor mm) 2
;;
*)
log_fail "'$filetype' is wrong."
function cleanup
{
- log_must $ZFS set devices=on $TESTPOOL/$TESTFS
- log_must $RM -f $TESTDIR/$TESTFILE1
- log_must $RM -f $TESTDIR/$TESTFILE2
- log_must $RM -f $TESTDIR/$TESTFILE1.out
- log_must $RM -f $TESTDIR/$TESTFILE2.out
+ log_must zfs set devices=on $TESTPOOL/$TESTFS
+ log_must rm -f $TESTDIR/$TESTFILE1
+ log_must rm -f $TESTDIR/$TESTFILE2
+ log_must rm -f $TESTDIR/$TESTFILE1.out
+ log_must rm -f $TESTDIR/$TESTFILE2.out
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# STRATEGY:
# 1. Create pool and file system.
-# 2. Copy '/usr/bin/ls' to the ZFS file system.
+# 2. Copy '$STF_PATH/ls' to the ZFS file system.
# 3. Setting exec=on on this file system.
-# 4. Make sure '/usr/bin/ls' can work in this ZFS file system.
+# 4. Make sure '$STF_PATH/ls' can work in this ZFS file system.
# 5. Make sure mmap which is using the PROT_EXEC calls succeed.
#
function cleanup
{
- log_must $RM $TESTDIR/myls
+ log_must rm $TESTDIR/myls
}
log_assert "Setting exec=on on a filesystem, processes can be executed from " \
"this file system."
log_onexit cleanup
-log_must $CP $LS $TESTDIR/myls
-log_must $ZFS set exec=on $TESTPOOL/$TESTFS
+log_must cp $STF_PATH/ls $TESTDIR/myls
+log_must zfs set exec=on $TESTPOOL/$TESTFS
log_must $TESTDIR/myls
log_must $MMAP_EXEC $TESTDIR/myls
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $RM $TESTDIR/myls
+ log_must rm $TESTDIR/myls
}
#
"from this file system."
log_onexit cleanup
-log_must $CP $LS $TESTDIR/myls
-log_must $ZFS set exec=off $TESTPOOL/$TESTFS
+log_must cp /usr/bin/ls $TESTDIR/myls
+log_must zfs set exec=off $TESTPOOL/$TESTFS
log_must exec_n_check 126 $TESTDIR/myls
log_must exec_n_check 13 $MMAP_EXEC $TESTDIR/myls
# If using the default loop devices, need a scsi_debug device for auto-online
if is_loop_device $DISK1; then
- SD=$($LSSCSI | $NAWK '/scsi_debug/ {print $6; exit}')
- SDDEVICE=$($ECHO $SD | $NAWK -F / '{print $3}')
+ SD=$(lsscsi | nawk '/scsi_debug/ {print $6; exit}')
+ SDDEVICE=$(echo $SD | nawk -F / '{print $3}')
SDDEVICE_ID=$(get_persistent_disk_name $SDDEVICE)
autoonline_disks="$SDDEVICE"
else
# Clear disk labels
for i in {0..2}
do
- log_must $ZPOOL labelclear -f /dev/disk/by-id/"${devs_id[i]}"
+ log_must zpool labelclear -f /dev/disk/by-id/"${devs_id[i]}"
done
if is_loop_device $DISK1; then
# create a pool with one scsi_debug device and 3 loop devices
- log_must $ZPOOL create -f $TESTPOOL raidz1 $SDDEVICE_ID $DISK1 \
+ log_must zpool create -f $TESTPOOL raidz1 $SDDEVICE_ID $DISK1 \
$DISK2 $DISK3
elif ( is_real_device $DISK1 || is_mpath_device $DISK1 ); then
# else use the persistent names for sd devices
- log_must $ZPOOL create -f $TESTPOOL raidz1 ${devs_id[0]} \
+ log_must zpool create -f $TESTPOOL raidz1 ${devs_id[0]} \
${devs_id[1]} ${devs_id[2]}
else
log_fail "Disks are not supported for this test"
fi
# Add some data to the pool
-log_must $MKFILE $FSIZE /$TESTPOOL/data
+log_must mkfile $FSIZE /$TESTPOOL/data
for offline_disk in $autoonline_disks
do
- log_must $ZPOOL export -F $TESTPOOL
+ log_must zpool export -F $TESTPOOL
- host=$($LS /sys/block/$offline_disk/device/scsi_device \
- | $NAWK -F : '{ print $1}')
+ host=$(ls /sys/block/$offline_disk/device/scsi_device \
+ | nawk -F : '{ print $1}')
# Offline disk
on_off_disk $offline_disk "offline"
# Reimport pool with drive missing
- log_must $ZPOOL import $TESTPOOL
+ log_must zpool import $TESTPOOL
check_state $TESTPOOL "" "degraded"
if (($? != 0)); then
log_fail "$TESTPOOL is not degraded"
fi
# Clear zpool events
- $ZPOOL events -c $TESTPOOL
+ zpool events -c $TESTPOOL
# Online disk
on_off_disk $offline_disk "online" $host
log_fail "Timeout occured"
fi
((timeout++))
- $SLEEP 1
- $ZPOOL events $TESTPOOL \
- | $EGREP sysevent.fs.zfs.resilver_finish > /dev/null
+
+ sleep 1
+ zpool events $TESTPOOL \
+ | egrep sysevent.fs.zfs.resilver_finish > /dev/null
if (($? == 0)); then
log_note "Auto-online of $offline_disk is complete"
- $SLEEP 1
+ sleep 1
break
fi
done
if (($? != 0)); then
log_fail "$TESTPOOL is not back online"
fi
- $SLEEP 2
+ sleep 2
done
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool destroy $TESTPOOL
log_pass "Auto-online test successful"
function setup
{
- $LSMOD | $EGREP scsi_debug > /dev/null
+ lsmod | egrep scsi_debug > /dev/null
if (($? == 1)); then
load_scsi_debug $SDSIZE $SDHOSTS $SDTGTS $SDLUNS
fi
# Register vdev_id alias rule for scsi_debug device to create a
# persistent path
- SD=$($LSSCSI | $NAWK '/scsi_debug/ {print $6; exit}' \
- | $NAWK -F / '{print $3}')
+ SD=$(lsscsi | nawk '/scsi_debug/ {print $6; exit}' \
+ | nawk -F / '{print $3}')
SDDEVICE_ID=$(get_persistent_disk_name $SD)
- log_must eval "$ECHO "alias scsidebug /dev/disk/by-id/$SDDEVICE_ID" \
+ log_must eval "echo "alias scsidebug /dev/disk/by-id/$SDDEVICE_ID" \
>> $VDEVID_CONF"
block_device_wait
- SDDEVICE=$($UDEVADM info -q all -n $DEV_DSKDIR/$SD | $EGREP ID_VDEV \
- | $NAWK '{print $2; exit}' | $NAWK -F = '{print $2; exit}')
+ SDDEVICE=$(udevadm info -q all -n $DEV_DSKDIR/$SD | egrep ID_VDEV \
+ | nawk '{print $2; exit}' | nawk -F = '{print $2; exit}')
[[ -z $SDDEVICE ]] && log_fail "vdev rule was not registered properly"
}
# Clear disk labels
for i in {0..2}
do
- log_must $ZPOOL labelclear -f /dev/disk/by-id/"${devs_id[i]}"
+ log_must zpool labelclear -f /dev/disk/by-id/"${devs_id[i]}"
done
setup
if is_loop_device $DISK1; then
- log_must $ZPOOL create -f $TESTPOOL raidz1 $SDDEVICE $DISK1 $DISK2 \
+ log_must zpool create -f $TESTPOOL raidz1 $SDDEVICE $DISK1 $DISK2 \
$DISK3
elif ( is_real_device $DISK1 || is_mpath_device $DISK1 ); then
- log_must $ZPOOL create -f $TESTPOOL raidz1 $SDDEVICE ${devs_id[0]} \
+ log_must zpool create -f $TESTPOOL raidz1 $SDDEVICE ${devs_id[0]} \
${devs_id[1]} ${devs_id[2]}
else
log_fail "Disks are not supported for this test"
fi
# Auto-replace is opt-in so need to set property
-log_must $ZPOOL set autoreplace=on $TESTPOOL
+log_must zpool set autoreplace=on $TESTPOOL
# Add some data to the pool
-log_must $MKFILE $FSIZE /$TESTPOOL/data
+log_must mkfile $FSIZE /$TESTPOOL/data
-log_must $ZPOOL export -F $TESTPOOL
+log_must zpool export -F $TESTPOOL
# Offline disk
on_off_disk $SD "offline"
block_device_wait
-log_must $MODUNLOAD scsi_debug
+log_must modprobe -r scsi_debug
# Reimport pool with drive missing
-log_must $ZPOOL import $TESTPOOL
+log_must zpool import $TESTPOOL
check_state $TESTPOOL "" "degraded"
if (($? != 0)); then
log_fail "$TESTPOOL is not degraded"
fi
# Clear zpool events
-$ZPOOL events -c $TESTPOOL
+zpool events -c $TESTPOOL
# Create another scsi_debug device
setup
log_fail "Timeout occured"
fi
((timeout++))
- $SLEEP 1
- $ZPOOL events $TESTPOOL | $EGREP sysevent.fs.zfs.resilver_finish \
+ sleep 1
+ zpool events $TESTPOOL | egrep sysevent.fs.zfs.resilver_finish \
> /dev/null
if (($? == 0)); then
log_note "Auto-replace should be complete"
- $SLEEP 1
+ sleep 1
break
fi
done
if (($? != 0)); then
log_fail "$TESTPOOL is not back online"
fi
-$SLEEP 2
+sleep 2
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool destroy $TESTPOOL
log_pass "Auto-replace test successful"
cleanup_devices $DISKS
# Remove symlink and vdev_id.conf in-tree file
-$RM -f $VDEVID_CONF_ETC
-$RM -f $VDEVID_CONF
+rm -f $VDEVID_CONF_ETC
+rm -f $VDEVID_CONF
zed_stop
-SD=$($LSSCSI | $NAWK '/scsi_debug/ {print $6; exit}')
-SDDEVICE=$($ECHO $SD | $NAWK -F / '{print $3}')
-
-if [[ -z $SDDEVICE ]]; then
- log_pass
-fi
+SD=$(lsscsi | nawk '/scsi_debug/ {print $6; exit}')
+SDDEVICE=$(echo $SD | nawk -F / '{print $3}')
# Offline disk and remove scsi_debug module
if is_linux; then
- on_off_disk $SDDEVICE "offline"
- block_device_wait
- log_must $MODUNLOAD scsi_debug
+ if [ -n "$SDDEVICE" ]; then
+ on_off_disk $SDDEVICE "offline"
+ block_device_wait
+ fi
+ modprobe -r scsi_debug
fi
-
log_pass
verify_runnable "global"
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
export DISKSARRAY=$DISKS
export FSIZE=10M
export MAXTIMEOUT=20
export SDTGTS=1
export SDLUNS=1
-export DISK1=$($ECHO $DISKS | $NAWK '{print $1}')
-export DISK2=$($ECHO $DISKS | $NAWK '{print $2}')
-export DISK3=$($ECHO $DISKS | $NAWK '{print $3}')
+export DISK1=$(echo $DISKS | nawk '{print $1}')
+export DISK2=$(echo $DISKS | nawk '{print $2}')
+export DISK3=$(echo $DISKS | nawk '{print $3}')
export VDEVID_CONF=$ZEDLET_DIR/vdev_id.conf
export VDEVID_CONF_ETC=/etc/zfs/vdev_id.conf
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/fault/fault.cfg
-[[ -z $UDEVADM ]] && log_fail "Missing UDEVADM command"
-[[ -z $LSMOD ]] && log_fail "Missing LSMOD command"
-[[ -z $LSSCSI ]] && log_fail "Missing LSSCSI command"
-[[ -z $MODUNLOAD ]] && log_fail "Missing MODUNLOAD command"
-[[ -z $MODLOAD ]] && log_fail "Missing MODLOAD command"
-
verify_runnable "global"
if [[ ! -d $ZEDLET_DIR ]]; then
- log_must $MKDIR $ZEDLET_DIR
+ log_must mkdir $ZEDLET_DIR
fi
+
if [[ ! -e $VDEVID_CONF ]]; then
- log_must $TOUCH $VDEVID_CONF
+ log_must touch $VDEVID_CONF
fi
+
if [[ -e $VDEVID_CONF_ETC ]]; then
log_fail "Must not have $VDEVID_CONF_ETC file present on system"
fi
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $TEST_FS && log_must $ZFS destroy $TEST_FS
+ datasetexists $TEST_FS && log_must zfs destroy $TEST_FS
}
log_onexit cleanup
log_assert "async_destroy can suspend and resume traversal"
-log_must $ZFS create -o recordsize=512 -o compression=off $TEST_FS
+log_must zfs create -o recordsize=512 -o compression=off $TEST_FS
# Fill with 1G
-log_must $DD bs=1024k count=1024 if=/dev/zero of=/$TEST_FS/file
+log_must dd bs=1024k count=1024 if=/dev/zero of=/$TEST_FS/file
-log_must $ZFS destroy $TEST_FS
+log_must zfs destroy $TEST_FS
#
# We monitor the freeing property, to verify we can see blocks being
t0=$SECONDS
count=0
while [[ $((SECONDS - t0)) -lt 10 ]]; do
- [[ "0" != "$($ZPOOL list -Ho freeing $TESTPOOL)" ]] && ((count++))
+ [[ "0" != "$(zpool list -Ho freeing $TESTPOOL)" ]] && ((count++))
[[ $count -gt 1 ]] && break
- $SLEEP 1
+ sleep 1
done
[[ $count -eq 0 ]] && log_fail "Freeing property remained empty"
# Wait for everything to be freed.
-while [[ "0" != "$($ZPOOL list -Ho freeing $TESTPOOL)" ]]; do
+while [[ "0" != "$(zpool list -Ho freeing $TESTPOOL)" ]]; do
[[ $((SECONDS - t0)) -gt 180 ]] && \
log_fail "Timed out waiting for freeing to drop to zero"
done
# Check for leaked blocks.
-log_must $ZDB -b $TESTPOOL
+log_must zdb -b $TESTPOOL
log_pass "async_destroy can suspend and resume traversal"
function cleanup
{
- datasetexists $TEST_FS && log_must $ZFS destroy $TEST_FS
+ datasetexists $TEST_FS && log_must zfs destroy $TEST_FS
}
log_onexit cleanup
log_assert "dnode sizes are consistent with dnodesize dataset property"
-log_must $ZFS create $TEST_FS
+log_must zfs create $TEST_FS
set -A dnsizes "512" "1k" "2k" "4k" "8k" "16k"
set -A inodes
size="legacy"
fi
file=/$TEST_FS/file.$size
- log_must $ZFS set dnsize=$size $TEST_FS
+ log_must zfs set dnsize=$size $TEST_FS
touch $file
inodes[$i]=$(ls -li $file | awk '{print $1}')
done
-log_must $ZFS umount $TEST_FS
+log_must zfs umount $TEST_FS
for ((i=0; i < ${#dnsizes[*]}; i++)) ; do
- dnsize=$($ZDB -dddd $TEST_FS ${inodes[$i]} |
+ dnsize=$(zdb -dddd $TEST_FS ${inodes[$i]} |
awk '/ZFS plain file/ {print $6}' | tr K k)
if [[ "$dnsize" != "${dnsizes[$i]}" ]]; then
log_fail "dnode size is $dnsize (expected ${dnsizes[$i]})"
function cleanup
{
- datasetexists $TEST_FS && log_must $ZFS destroy $TEST_FS
+ datasetexists $TEST_FS && log_must zfs destroy $TEST_FS
}
log_onexit cleanup
log_assert "extended attributes use extra bonus space of a large dnode"
-log_must $ZFS create -o xattr=sa $TEST_FS
+log_must zfs create -o xattr=sa $TEST_FS
# Store dnode size minus 512 in an xattr
set -A xattr_sizes "512" "1536" "3584" "7680" "15872"
for ((i=0; i < ${#prop_values[*]}; i++)) ; do
prop_val=${prop_values[$i]}
file=/$TEST_FS/file.$prop_val
- log_must $ZFS set dnsize=$prop_val $TEST_FS
+ log_must zfs set dnsize=$prop_val $TEST_FS
touch $file
xattr_size=${xattr_sizes[$i]}
xattr_name=user.foo
inodes[$i]=$(ls -li $file | awk '{print $1}')
done
-log_must $ZFS umount $TEST_FS
+log_must zfs umount $TEST_FS
for ((i=0; i < ${#inodes[*]}; i++)) ; do
- log_mustnot eval "$ZDB -dddd $TEST_FS ${inodes[$i]} | grep SPILL_BLKPTR"
+ log_mustnot eval "zdb -dddd $TEST_FS ${inodes[$i]} | grep SPILL_BLKPTR"
done
log_pass "extended attributes use extra bonus space of a large dnode"
function cleanup
{
if datasetexists $LDNPOOL ; then
- log_must $ZPOOL destroy -f $LDNPOOL
+ log_must zpool destroy -f $LDNPOOL
fi
}
LDNPOOL=ldnpool
LDNFS=$LDNPOOL/large_dnode
-log_must $MKFILE 64M $TESTDIR/$LDNPOOL
-log_must $ZPOOL create $LDNPOOL $TESTDIR/$LDNPOOL
+log_must mkfile 64M $TESTDIR/$LDNPOOL
+log_must zpool create $LDNPOOL $TESTDIR/$LDNPOOL
-state=$($ZPOOL list -Ho feature@large_dnode $LDNPOOL)
+state=$(zpool list -Ho feature@large_dnode $LDNPOOL)
if [[ "$state" != "enabled" ]]; then
log_fail "large_dnode has state $state (expected enabled)"
fi
-log_must $ZFS create -o dnodesize=1k $LDNFS
+log_must zfs create -o dnodesize=1k $LDNFS
log_must touch /$LDNFS/foo
-log_must $ZFS unmount $LDNFS
+log_must zfs unmount $LDNFS
-state=$($ZPOOL list -Ho feature@large_dnode $LDNPOOL)
+state=$(zpool list -Ho feature@large_dnode $LDNPOOL)
if [[ "$state" != "active" ]]; then
log_fail "large_dnode has state $state (expected active)"
fi
-log_must $ZFS destroy $LDNFS
+log_must zfs destroy $LDNFS
-state=$($ZPOOL list -Ho feature@large_dnode $LDNPOOL)
+state=$(zpool list -Ho feature@large_dnode $LDNPOOL)
if [[ "$state" != "enabled" ]]; then
log_fail "large_dnode has state $state (expected enabled)"
fi
# CDDL HEADER END
#
+#
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
verify_runnable "both"
function cleanup
{
if datasetexists $TEST_FS ; then
- log_must $ZFS destroy -r $TEST_FS
+ log_must zfs destroy -r $TEST_FS
fi
if datasetexists $LGCYPOOL ; then
- log_must $ZPOOL destroy -f $LGCYPOOL
+ log_must zpool destroy -f $LGCYPOOL
fi
rm -f $TEST_STREAM
log_onexit cleanup
log_assert "zfs send stream with large dnodes not accepted by legacy pool"
-log_must $ZFS create -o dnodesize=1k $TEST_FS
+log_must zfs create -o dnodesize=1k $TEST_FS
log_must touch /$TEST_FS/foo
-log_must $ZFS umount $TEST_FS
-log_must $ZFS snap $TEST_SNAP
-log_must eval "$ZFS send $TEST_SNAP > $TEST_STREAM"
+log_must zfs umount $TEST_FS
+log_must zfs snap $TEST_SNAP
+log_must eval "zfs send $TEST_SNAP > $TEST_STREAM"
LGCYPOOL=ldnpool
LGCYFS=$LGCYPOOL/legacy
-log_must $MKFILE 64M $TESTDIR/$LGCYPOOL
-log_must $ZPOOL create -d $LGCYPOOL $TESTDIR/$LGCYPOOL
-log_mustnot eval "$ZFS recv $LGCYFS < $TEST_STREAM"
+log_must mkfile 64M $TESTDIR/$LGCYPOOL
+log_must zpool create -d $LGCYPOOL $TESTDIR/$LGCYPOOL
+log_mustnot eval "zfs recv $LGCYFS < $TEST_STREAM"
log_pass
function cleanup
{
if datasetexists $TEST_SEND_FS ; then
- log_must $ZFS destroy -r $TEST_SEND_FS
+ log_must zfs destroy -r $TEST_SEND_FS
fi
if datasetexists $TEST_RECV_FS ; then
- log_must $ZFS destroy -r $TEST_RECV_FS
+ log_must zfs destroy -r $TEST_RECV_FS
fi
rm -f $TEST_STREAM
log_assert "zfs send stream with large dnodes accepted by new pool"
-log_must $ZFS create -o dnodesize=1k $TEST_SEND_FS
-log_must $TOUCH /$TEST_SEND_FS/$TEST_FILE
-log_must $ZFS snap $TEST_SNAP
-log_must $ZFS send $TEST_SNAP > $TEST_STREAM
-log_must $RM -f /$TEST_SEND_FS/$TEST_FILE
-log_must $TOUCH /$TEST_SEND_FS/$TEST_FILEINCR
-log_must $ZFS snap $TEST_SNAPINCR
-log_must $ZFS send -i $TEST_SNAP $TEST_SNAPINCR > $TEST_STREAMINCR
+log_must zfs create -o dnodesize=1k $TEST_SEND_FS
+log_must touch /$TEST_SEND_FS/$TEST_FILE
+log_must zfs snap $TEST_SNAP
+log_must zfs send $TEST_SNAP > $TEST_STREAM
+log_must rm -f /$TEST_SEND_FS/$TEST_FILE
+log_must touch /$TEST_SEND_FS/$TEST_FILEINCR
+log_must zfs snap $TEST_SNAPINCR
+log_must zfs send -i $TEST_SNAP $TEST_SNAPINCR > $TEST_STREAMINCR
-log_must eval "$ZFS recv $TEST_RECV_FS < $TEST_STREAM"
+log_must eval "zfs recv $TEST_RECV_FS < $TEST_STREAM"
inode=$(ls -li /$TEST_RECV_FS/$TEST_FILE | awk '{print $1}')
-dnsize=$($ZDB -dddd $TEST_RECV_FS $inode | awk '/ZFS plain file/ {print $6}')
+dnsize=$(zdb -dddd $TEST_RECV_FS $inode | awk '/ZFS plain file/ {print $6}')
if [[ "$dnsize" != "1K" ]]; then
log_fail "dnode size is $dnsize (expected 1K)"
fi
-log_must eval "$ZFS recv -F $TEST_RECV_FS < $TEST_STREAMINCR"
-log_must $DIFF -r /$TEST_SEND_FS /$TEST_RECV_FS
-log_must $ZFS umount $TEST_SEND_FS
-log_must $ZFS umount $TEST_RECV_FS
+log_must eval "zfs recv -F $TEST_RECV_FS < $TEST_STREAMINCR"
+log_must diff -r /$TEST_SEND_FS /$TEST_RECV_FS
+log_must zfs umount $TEST_SEND_FS
+log_must zfs umount $TEST_RECV_FS
log_pass
# CDDL HEADER END
#
+#
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
- datasetexists $TEST_FS && log_must $ZFS destroy $TEST_FS
+ datasetexists $TEST_FS && log_must zfs destroy $TEST_FS
}
log_onexit cleanup
log_assert "xattrtest runs cleanly on dataset with large dnodes"
-log_must $ZFS create $TEST_FS
+log_must zfs create $TEST_FS
set -A xattr_sizes "512" "1536" "3584" "7680" "15872"
set -A prop_values "1k" "2k" "4k" "8k" "16k"
prop_val=${prop_values[$i]}
dir=/$TEST_FS/$prop_val
xattr_size=${xattr_sizes[$i]}
- log_must $ZFS set dnsize=$prop_val $TEST_FS
+ log_must zfs set dnsize=$prop_val $TEST_FS
log_must mkdir $dir
- log_must $XATTRTEST -R -y -s $xattr_size -f 1024 -p $dir
+ log_must xattrtest -R -y -s $xattr_size -f 1024 -p $dir
done
log_pass
# CDDL HEADER END
#
+#
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+#
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
function cleanup
{
if datasetexists $LGCYPOOL ; then
- log_must $ZPOOL destroy -f $LGCYPOOL
+ log_must zpool destroy -f $LGCYPOOL
fi
}
LGCYPOOL=lgcypool
LGCYFS=$LGCYPOOL/legacy
-log_must $MKFILE 64M $TESTDIR/$LGCYPOOL
-log_must $ZPOOL create -d $LGCYPOOL $TESTDIR/$LGCYPOOL
-log_must $ZFS create $LGCYFS
+log_must mkfile 64M $TESTDIR/$LGCYPOOL
+log_must zpool create -d $LGCYPOOL $TESTDIR/$LGCYPOOL
+log_must zfs create $LGCYFS
for val in ${prop_vals[@]} ; do
- log_mustnot $ZFS set dnodesize=$val $LGCYFS
+ log_mustnot zfs set dnodesize=$val $LGCYFS
done
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "A zpool may be increased in capacity by adding a disk"
-log_must $ZFS set compression=off $TESTPOOL/$TESTFS
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 \
+log_must zfs set compression=off $TESTPOOL/$TESTFS
+file_write -o create -f $TESTDIR/$TESTFILE1 \
-b $BLOCK_SIZE -c $WRITE_COUNT -d 0
typeset -i zret=$?
readonly ENOSPC=28
fi
if [[ -n $DISK ]]; then
- log_must $ZPOOL add $TESTPOOL $DISK"s"$SLICE1
+ log_must zpool add $TESTPOOL $DISK"s"$SLICE1
else
- log_must $ZPOOL add $TESTPOOL $DISK1
+ log_must zpool add $TESTPOOL $DISK1
fi
-log_must $FILE_WRITE -o append -f $TESTDIR/$TESTFILE1 \
+log_must file_write -o append -f $TESTDIR/$TESTFILE1 \
-b $BLOCK_SIZE -c $SMALL_WRITE_COUNT -d 0
-log_must $ZFS inherit compression $TESTPOOL/$TESTFS
+log_must zfs inherit compression $TESTPOOL/$TESTFS
log_pass "TESTPOOL successfully grown"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
function cleanup
{
datasetexists $TESTPOOL && log_must destroy_pool $TESTPOOL
- [[ -d $TESTDIR ]] && log_must $RM -rf $TESTDIR
+ [[ -d $TESTDIR ]] && log_must rm -rf $TESTDIR
}
log_assert "mirror/raidz pool may be increased in capacity by adding a disk"
${DISK1}${SLICE_PREFIX}${SLICE0}
fi
- [[ -d $TESTDIR ]] && log_must $RM -rf $TESTDIR
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ [[ -d $TESTDIR ]] && log_must rm -rf $TESTDIR
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
- log_must $ZFS set compression=off $TESTPOOL/$TESTFS
- $FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 \
+ log_must zfs set compression=off $TESTPOOL/$TESTFS
+ file_write -o create -f $TESTDIR/$TESTFILE1 \
-b $BLOCK_SIZE -c $WRITE_COUNT -d 0
[[ $? -ne $ENOSPC ]] && \
# $DISK will be set if we're using slices on one disk
if [[ -n $DISK ]]; then
- log_must $ZPOOL add $TESTPOOL $pooltype ${DISK}s3 ${DISK}s4
+ log_must zpool add $TESTPOOL $pooltype ${DISK}s3 ${DISK}s4
else
[[ -z $DISK2 || -z $DISK3 ]] &&
log_unsupported "No spare disks available"
- log_must $ZPOOL add $TESTPOOL $pooltype \
+ log_must zpool add $TESTPOOL $pooltype \
${DISK2}${SLICE_PREFIX}${SLICE0} \
${DISK3}${SLICE_PREFIX}${SLICE0}
fi
- log_must $FILE_WRITE -o append -f $TESTDIR/$TESTFILE1 \
+ log_must file_write -o append -f $TESTDIR/$TESTFILE1 \
-b $BLOCK_SIZE -c $SMALL_WRITE_COUNT -d 0
log_must destroy_pool $TESTPOOL
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
-[[ -f $OLD_HISTORY ]] && $RM -f $OLD_HISTORY
-[[ -f $TMP_HISTORY ]] && $RM -f $TMP_HISTORY
-[[ -f $NEW_HISTORY ]] && $RM -f $NEW_HISTORY
+[[ -f $OLD_HISTORY ]] && rm -f $OLD_HISTORY
+[[ -f $TMP_HISTORY ]] && rm -f $TMP_HISTORY
+[[ -f $NEW_HISTORY ]] && rm -f $NEW_HISTORY
default_cleanup
# Use is subject to license terms.
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
destroy_pool $MPOOL
destroy_pool $upgrade_pool
- [[ -d $import_dir ]] && $RM -rf $import_dir
+ [[ -d $import_dir ]] && rm -rf $import_dir
for file in $VDEV1 $VDEV2 $VDEV3 $VDEV4; do
- [[ -f $file ]] && $RM -f $file
+ [[ -f $file ]] && rm -f $file
done
}
VDEV1=$mntpnt/vdev1; VDEV2=$mntpnt/vdev2;
VDEV3=$mntpnt/vdev3; VDEV4=$mntpnt/vdev4;
-log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3
-log_must $MKFILE $(($MINVDEVSIZE * 2)) $VDEV4
+log_must mkfile $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3
+log_must mkfile $(($MINVDEVSIZE * 2)) $VDEV4
-run_and_verify -p "$MPOOL" "$ZPOOL create $MPOOL mirror $VDEV1 $VDEV2"
-run_and_verify -p "$MPOOL" "$ZPOOL add -f $MPOOL spare $VDEV3"
-run_and_verify -p "$MPOOL" "$ZPOOL remove $MPOOL $VDEV3"
-run_and_verify -p "$MPOOL" "$ZPOOL offline $MPOOL $VDEV1"
-run_and_verify -p "$MPOOL" "$ZPOOL online $MPOOL $VDEV1"
-run_and_verify -p "$MPOOL" "$ZPOOL attach $MPOOL $VDEV1 $VDEV4"
-run_and_verify -p "$MPOOL" "$ZPOOL detach $MPOOL $VDEV4"
-run_and_verify -p "$MPOOL" "$ZPOOL replace -f $MPOOL $VDEV1 $VDEV4"
-run_and_verify -p "$MPOOL" "$ZPOOL scrub $MPOOL"
-run_and_verify -p "$MPOOL" "$ZPOOL clear $MPOOL"
+run_and_verify -p "$MPOOL" "zpool create $MPOOL mirror $VDEV1 $VDEV2"
+run_and_verify -p "$MPOOL" "zpool add -f $MPOOL spare $VDEV3"
+run_and_verify -p "$MPOOL" "zpool remove $MPOOL $VDEV3"
+run_and_verify -p "$MPOOL" "zpool offline $MPOOL $VDEV1"
+run_and_verify -p "$MPOOL" "zpool online $MPOOL $VDEV1"
+run_and_verify -p "$MPOOL" "zpool attach $MPOOL $VDEV1 $VDEV4"
+run_and_verify -p "$MPOOL" "zpool detach $MPOOL $VDEV4"
+run_and_verify -p "$MPOOL" "zpool replace -f $MPOOL $VDEV1 $VDEV4"
+run_and_verify -p "$MPOOL" "zpool scrub $MPOOL"
+run_and_verify -p "$MPOOL" "zpool clear $MPOOL"
# For export and destroy, mimic the behavior of run_and_verify using two
# commands since the history will be unavailable until the pool is imported
# again.
-commands=("$ZPOOL export $MPOOL" "$ZPOOL import -d $mntpnt $MPOOL"
- "$ZPOOL destroy $MPOOL" "$ZPOOL import -D -f -d $mntpnt $MPOOL")
+commands=("zpool export $MPOOL" "zpool import -d $mntpnt $MPOOL"
+ "zpool destroy $MPOOL" "zpool import -D -f -d $mntpnt $MPOOL")
for i in 0 2; do
cmd1="${commands[$i]}"
cmd2="${commands[(($i + 1 ))]}"
- $ZPOOL history $MPOOL > $OLD_HISTORY 2>/dev/null
+ zpool history $MPOOL > $OLD_HISTORY 2>/dev/null
log_must $cmd1
log_must $cmd2
- $ZPOOL history $MPOOL > $TMP_HISTORY 2>/dev/null
- $DIFF $OLD_HISTORY $TMP_HISTORY | $GREP "^> " | $SED 's/^> //g' > \
+ zpool history $MPOOL > $TMP_HISTORY 2>/dev/null
+ diff $OLD_HISTORY $TMP_HISTORY | grep "^> " | sed 's/^> //g' > \
$NEW_HISTORY
if is_linux; then
- $GREP "$($ECHO "$cmd1" | $SED 's/^.*\/\(zpool .*\).*$/\1/')" \
+ grep "$(echo "$cmd1" | sed 's/^.*\/\(zpool .*\).*$/\1/')" \
$NEW_HISTORY >/dev/null 2>&1 || \
log_fail "Didn't find \"$cmd1\" in pool history"
- $GREP "$($ECHO "$cmd2" | $SED 's/^.*\/\(zpool .*\).*$/\1/')" \
+ grep "$(echo "$cmd2" | sed 's/^.*\/\(zpool .*\).*$/\1/')" \
$NEW_HISTORY >/dev/null 2>&1 || \
log_fail "Didn't find \"$cmd2\" in pool history"
else
- $GREP "$($ECHO "$cmd1" | $SED 's/\/usr\/sbin\///g')" \
+ grep "$(echo "$cmd1" | sed 's/\/usr\/sbin\///g')" \
$NEW_HISTORY >/dev/null 2>&1 || \
log_fail "Didn't find \"$cmd1\" in pool history"
- $GREP "$($ECHO "$cmd2" | $SED 's/\/usr\/sbin\///g')" \
+ grep "$(echo "$cmd2" | sed 's/\/usr\/sbin\///g')" \
$NEW_HISTORY >/dev/null 2>&1 || \
log_fail "Didn't find \"$cmd2\" in pool history"
fi
done
-run_and_verify -p "$MPOOL" "$ZPOOL split $MPOOL ${MPOOL}_split"
+run_and_verify -p "$MPOOL" "zpool split $MPOOL ${MPOOL}_split"
import_dir=/var/tmp/import_dir.$$
-log_must $MKDIR $import_dir
-log_must $CP $STF_SUITE/tests/functional/history/zfs-pool-v4.dat.Z $import_dir
-log_must $UNCOMPRESS $import_dir/zfs-pool-v4.dat.Z
-upgrade_pool=$($ZPOOL import -d $import_dir | $GREP "pool:" | $AWK '{print $2}')
-log_must $ZPOOL import -d $import_dir $upgrade_pool
-run_and_verify -p "$upgrade_pool" "$ZPOOL upgrade $upgrade_pool"
+log_must mkdir $import_dir
+log_must cp $STF_SUITE/tests/functional/history/zfs-pool-v4.dat.Z $import_dir
+log_must uncompress $import_dir/zfs-pool-v4.dat.Z
+upgrade_pool=$(zpool import -d $import_dir | grep "pool:" | awk '{print $2}')
+log_must zpool import -d $import_dir $upgrade_pool
+run_and_verify -p "$upgrade_pool" "zpool upgrade $upgrade_pool"
log_pass "zpool sub-commands which modify state are logged passed. "
# Use is subject to license terms.
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
function cleanup
{
- [[ -f $tmpfile ]] && $RM -f $tmpfile
- [[ -f $tmpfile2 ]] && $RM -f $tmpfile2
+ [[ -f $tmpfile ]] && rm -f $tmpfile
+ [[ -f $tmpfile2 ]] && rm -f $tmpfile2
for dataset in $fs $newfs $fsclone $vol $newvol $volclone; do
- datasetexists $dataset && $ZFS destroy -Rf $dataset
+ datasetexists $dataset && zfs destroy -Rf $dataset
done
- $RM -rf /history.$$
+ rm -rf /history.$$
}
log_assert "Verify zfs sub-commands which modify state are logged."
)
fi
-run_and_verify "$ZFS create $fs"
+run_and_verify "zfs create $fs"
# Set all the property for filesystem
typeset -i i=0
while ((i < ${#props[@]})) ; do
- run_and_verify "$ZFS set ${props[$i]}=${props[((i+1))]} $fs"
+ run_and_verify "zfs set ${props[$i]}=${props[((i+1))]} $fs"
# quota, reservation, canmount can not be inherited.
#
if [[ ${props[$i]} != "quota" && ${props[$i]} != "reservation" && \
${props[$i]} != "canmount" ]];
then
- run_and_verify "$ZFS inherit ${props[$i]} $fs"
+ run_and_verify "zfs inherit ${props[$i]} $fs"
fi
((i += 2))
done
-run_and_verify "$ZFS create -V 64M $vol"
-run_and_verify "$ZFS set volsize=32M $vol"
-run_and_verify "$ZFS snapshot $fssnap"
-run_and_verify "$ZFS hold tag $fssnap"
-run_and_verify "$ZFS release tag $fssnap"
-run_and_verify "$ZFS snapshot $volsnap"
-run_and_verify "$ZFS snapshot $fssnap2"
-run_and_verify "$ZFS snapshot $volsnap2"
+run_and_verify "zfs create -V 64M $vol"
+run_and_verify "zfs set volsize=32M $vol"
+run_and_verify "zfs snapshot $fssnap"
+run_and_verify "zfs hold tag $fssnap"
+run_and_verify "zfs release tag $fssnap"
+run_and_verify "zfs snapshot $volsnap"
+run_and_verify "zfs snapshot $fssnap2"
+run_and_verify "zfs snapshot $volsnap2"
# Send isn't logged...
-log_must $ZFS send -i $fssnap $fssnap2 > $tmpfile
-log_must $ZFS send -i $volsnap $volsnap2 > $tmpfile2
+log_must zfs send -i $fssnap $fssnap2 > $tmpfile
+log_must zfs send -i $volsnap $volsnap2 > $tmpfile2
# Verify that's true
-$ZPOOL history $TESTPOOL | $GREP 'zfs send' >/dev/null 2>&1 && \
+zpool history $TESTPOOL | grep 'zfs send' >/dev/null 2>&1 && \
log_fail "'zfs send' found in history of \"$TESTPOOL\""
-run_and_verify "$ZFS destroy $fssnap2"
-run_and_verify "$ZFS destroy $volsnap2"
-run_and_verify "$ZFS receive $fs < $tmpfile"
-run_and_verify "$ZFS receive $vol < $tmpfile2"
-run_and_verify "$ZFS rollback -r $fssnap"
-run_and_verify "$ZFS rollback -r $volsnap"
-run_and_verify "$ZFS clone $fssnap $fsclone"
-run_and_verify "$ZFS clone $volsnap $volclone"
-run_and_verify "$ZFS rename $fs $newfs"
-run_and_verify "$ZFS rename $vol $newvol"
-run_and_verify "$ZFS promote $fsclone"
-run_and_verify "$ZFS promote $volclone"
-run_and_verify "$ZFS destroy $newfs"
-run_and_verify "$ZFS destroy $newvol"
-run_and_verify "$ZFS destroy -rf $fsclone"
-run_and_verify "$ZFS destroy -rf $volclone"
+run_and_verify "zfs destroy $fssnap2"
+run_and_verify "zfs destroy $volsnap2"
+run_and_verify "zfs receive $fs < $tmpfile"
+run_and_verify "zfs receive $vol < $tmpfile2"
+run_and_verify "zfs rollback -r $fssnap"
+run_and_verify "zfs rollback -r $volsnap"
+run_and_verify "zfs clone $fssnap $fsclone"
+run_and_verify "zfs clone $volsnap $volclone"
+run_and_verify "zfs rename $fs $newfs"
+run_and_verify "zfs rename $vol $newvol"
+run_and_verify "zfs promote $fsclone"
+run_and_verify "zfs promote $volclone"
+run_and_verify "zfs destroy $newfs"
+run_and_verify "zfs destroy $newvol"
+run_and_verify "zfs destroy -rf $fsclone"
+run_and_verify "zfs destroy -rf $volclone"
log_pass "zfs sub-commands which modify state are logged passed."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $spool && log_must $ZPOOL destroy $spool
- [[ -f $VDEV0 ]] && log_must $RM -f $VDEV0
- [[ -f $TMPFILE ]] && log_must $RM -f $TMPFILE
+ datasetexists $spool && log_must zpool destroy $spool
+ [[ -f $VDEV0 ]] && log_must rm -f $VDEV0
+ [[ -f $TMPFILE ]] && log_must rm -f $TMPFILE
}
log_assert "zpool history limitation test."
(( $? != 0 )) && log_fail "get_prop mountpoint $TESTPOOL"
VDEV0=$mntpnt/vdev0
-log_must $MKFILE $MINVDEVSIZE $VDEV0
+log_must mkfile $MINVDEVSIZE $VDEV0
spool=smallpool.$$; sfs=smallfs.$$
-log_must $ZPOOL create $spool $VDEV0
-log_must $ZFS create $spool/$sfs
+log_must zpool create $spool $VDEV0
+log_must zfs create $spool/$sfs
-typeset -i orig_count=$($ZPOOL history $spool | $WC -l)
-typeset orig_md5=$($ZPOOL history $spool | $HEAD -2 | $MD5SUM | \
- $AWK '{print $1}')
+typeset -i orig_count=$(zpool history $spool | wc -l)
+typeset orig_md5=$(zpool history $spool | head -2 | md5sum | \
+ awk '{print $1}')
typeset -i i=0
while ((i < 300)); do
- $ZFS set compression=off $spool/$sfs
- $ZFS set compression=on $spool/$sfs
- $ZFS set compression=off $spool/$sfs
- $ZFS set compression=on $spool/$sfs
- $ZFS set compression=off $spool/$sfs
+ zfs set compression=off $spool/$sfs
+ zfs set compression=on $spool/$sfs
+ zfs set compression=off $spool/$sfs
+ zfs set compression=on $spool/$sfs
+ zfs set compression=off $spool/$sfs
((i += 1))
done
TMPFILE=/tmp/spool.$$
-$ZPOOL history $spool >$TMPFILE
-typeset -i entry_count=$($WC -l $TMPFILE | $AWK '{print $1}')
-typeset final_md5=$($HEAD -2 $TMPFILE | $MD5SUM | $AWK '{print $1}')
+zpool history $spool >$TMPFILE
+typeset -i entry_count=$(wc -l $TMPFILE | awk '{print $1}')
+typeset final_md5=$(head -2 $TMPFILE | md5sum | awk '{print $1}')
-$GREP 'zpool create' $TMPFILE >/dev/null 2>&1 ||
+grep 'zpool create' $TMPFILE >/dev/null 2>&1 ||
log_fail "'zpool create' was not found in pool history"
-$GREP 'zfs create' $TMPFILE >/dev/null 2>&1 &&
+grep 'zfs create' $TMPFILE >/dev/null 2>&1 &&
log_fail "'zfs create' was found in pool history"
-$GREP 'zfs set compress' $TMPFILE >/dev/null 2>&1 ||
+grep 'zfs set compress' $TMPFILE >/dev/null 2>&1 ||
log_fail "'zfs set compress' was found in pool history"
# Verify that the creation of the pool was preserved in the history.
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "'zpool history' can cope with simultaneous commands."
-typeset -i orig_count=$($ZPOOL history $spool | $WC -l | $AWK '{print $1}')
+typeset -i orig_count=$(zpool history $spool | wc -l | awk '{print $1}')
typeset -i i=0
while ((i < 10)); do
- $ZFS set compression=off $TESTPOOL/$TESTFS &
- $ZFS set atime=off $TESTPOOL/$TESTFS &
- $ZFS create $TESTPOOL/$TESTFS1 &
- $ZFS create $TESTPOOL/$TESTFS2 &
- $ZFS create $TESTPOOL/$TESTFS3 &
+ zfs set compression=off $TESTPOOL/$TESTFS &
+ zfs set atime=off $TESTPOOL/$TESTFS &
+ zfs create $TESTPOOL/$TESTFS1 &
+ zfs create $TESTPOOL/$TESTFS2 &
+ zfs create $TESTPOOL/$TESTFS3 &
wait
- $ZFS snapshot $TESTPOOL/$TESTFS1@snap &
- $ZFS snapshot $TESTPOOL/$TESTFS2@snap &
- $ZFS snapshot $TESTPOOL/$TESTFS3@snap &
+ zfs snapshot $TESTPOOL/$TESTFS1@snap &
+ zfs snapshot $TESTPOOL/$TESTFS2@snap &
+ zfs snapshot $TESTPOOL/$TESTFS3@snap &
wait
- $ZFS clone $TESTPOOL/$TESTFS1@snap $TESTPOOL/clone1 &
- $ZFS clone $TESTPOOL/$TESTFS2@snap $TESTPOOL/clone2 &
- $ZFS clone $TESTPOOL/$TESTFS3@snap $TESTPOOL/clone3 &
+ zfs clone $TESTPOOL/$TESTFS1@snap $TESTPOOL/clone1 &
+ zfs clone $TESTPOOL/$TESTFS2@snap $TESTPOOL/clone2 &
+ zfs clone $TESTPOOL/$TESTFS3@snap $TESTPOOL/clone3 &
wait
- $ZFS promote $TESTPOOL/clone1 &
- $ZFS promote $TESTPOOL/clone2 &
- $ZFS promote $TESTPOOL/clone3 &
+ zfs promote $TESTPOOL/clone1 &
+ zfs promote $TESTPOOL/clone2 &
+ zfs promote $TESTPOOL/clone3 &
wait
- $ZFS destroy $TESTPOOL/$TESTFS1 &
- $ZFS destroy $TESTPOOL/$TESTFS2 &
- $ZFS destroy $TESTPOOL/$TESTFS3 &
+ zfs destroy $TESTPOOL/$TESTFS1 &
+ zfs destroy $TESTPOOL/$TESTFS2 &
+ zfs destroy $TESTPOOL/$TESTFS3 &
wait
- $ZFS destroy -Rf $TESTPOOL/clone1 &
- $ZFS destroy -Rf $TESTPOOL/clone2 &
- $ZFS destroy -Rf $TESTPOOL/clone3 &
+ zfs destroy -Rf $TESTPOOL/clone1 &
+ zfs destroy -Rf $TESTPOOL/clone2 &
+ zfs destroy -Rf $TESTPOOL/clone3 &
wait
((i += 1))
done
-typeset -i entry_count=$($ZPOOL history $spool | $WC -l | $AWK '{print $1}')
+typeset -i entry_count=$(zpool history $spool | wc -l | awk '{print $1}')
if ((entry_count - orig_count != 200)); then
log_fail "The entries count error: entry_count=$entry_count " \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Verify 'zpool get|history|list|status|iostat' will not be logged."
# Save initial TESTPOOL history
-log_must eval "$ZPOOL history $TESTPOOL >$OLD_HISTORY"
+log_must eval "zpool history $TESTPOOL >$OLD_HISTORY"
-log_must $ZPOOL get all $TESTPOOL >/dev/null
-log_must $ZPOOL list $TESTPOOL >/dev/null
-log_must $ZPOOL status $TESTPOOL >/dev/null
-log_must $ZPOOL iostat $TESTPOOL >/dev/null
+log_must zpool get all $TESTPOOL >/dev/null
+log_must zpool list $TESTPOOL >/dev/null
+log_must zpool status $TESTPOOL >/dev/null
+log_must zpool iostat $TESTPOOL >/dev/null
-log_must eval "$ZPOOL history $TESTPOOL >$NEW_HISTORY"
-log_must $DIFF $OLD_HISTORY $NEW_HISTORY
+log_must eval "zpool history $TESTPOOL >$NEW_HISTORY"
+log_must diff $OLD_HISTORY $NEW_HISTORY
log_pass "Verify 'zpool get|history|list|status|iostat' will not be logged."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
function cleanup
{
if datasetexists $fs ; then
- log_must $ZFS destroy -rf $fs
+ log_must zfs destroy -rf $fs
fi
- log_must $ZFS create $fs
+ log_must zfs create $fs
}
log_assert "Verify 'zfs list|get|holds|mount|unmount|share|unshare|send' " \
# Create initial test environment
fs=$TESTPOOL/$TESTFS; snap1=$fs@snap1; snap2=$fs@snap2
if ! is_linux; then
- log_must $ZFS set sharenfs=on $fs
+ log_must zfs set sharenfs=on $fs
fi
-log_must $ZFS snapshot $snap1
-log_must $ZFS hold tag $snap1
-log_must $ZFS snapshot $snap2
+log_must zfs snapshot $snap1
+log_must zfs hold tag $snap1
+log_must zfs snapshot $snap2
# Save initial TESTPOOL history
-log_must eval "$ZPOOL history $TESTPOOL > $OLD_HISTORY"
+log_must eval "zpool history $TESTPOOL > $OLD_HISTORY"
-log_must $ZFS list $fs > /dev/null
-log_must $ZFS get mountpoint $fs > /dev/null
-log_must $ZFS unmount $fs
-log_must $ZFS mount $fs
+log_must zfs list $fs > /dev/null
+log_must zfs get mountpoint $fs > /dev/null
+log_must zfs unmount $fs
+log_must zfs mount $fs
if ! is_linux; then
- log_must $ZFS share $fs
- log_must $ZFS unshare $fs
+ log_must zfs share $fs
+ log_must zfs unshare $fs
fi
-log_must $ZFS send -i $snap1 $snap2 > /dev/null
-log_must $ZFS holds $snap1
+log_must zfs send -i $snap1 $snap2 > /dev/null
+log_must zfs holds $snap1
-log_must eval "$ZPOOL history $TESTPOOL > $NEW_HISTORY"
-log_must $DIFF $OLD_HISTORY $NEW_HISTORY
+log_must eval "zpool history $TESTPOOL > $NEW_HISTORY"
+log_must diff $OLD_HISTORY $NEW_HISTORY
-log_must $ZFS release tag $snap1
+log_must zfs release tag $snap1
log_pass "Verify 'zfs list|get|mount|unmount|share|unshare|send' passed."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
poolexists $migratedpoolname && \
- log_must $ZPOOL destroy -f $migratedpoolname
+ log_must zpool destroy -f $migratedpoolname
- [[ -d $import_dir ]] && $RM -rf $import_dir
+ [[ -d $import_dir ]] && rm -rf $import_dir
}
log_assert "Verify command history moves with migrated pool."
typeset -i RET=1
typeset -i linenum=0
-[[ ! -d $import_dir ]] && log_must $MKDIR $import_dir
+[[ ! -d $import_dir ]] && log_must mkdir $import_dir
# We test the migrations on both uniform platform and cross platform
for arch in "i386" "sparc"; do
- log_must $CP $tst_dir/${arch}.orig_history.txt $import_dir
+ log_must cp $tst_dir/${arch}.orig_history.txt $import_dir
orig_cmds_f=$import_dir/${arch}.orig_history.txt
# remove blank line
orig_cmds_f1=$import_dir/${arch}.orig_history_1.txt
- $CAT $orig_cmds_f | $GREP -v "^$" > $orig_cmds_f1
+ cat $orig_cmds_f | grep -v "^$" > $orig_cmds_f1
- log_must $CP $tst_dir/${arch}.migratedpool.DAT.Z $import_dir
- log_must $UNCOMPRESS $import_dir/${arch}.migratedpool.DAT.Z
+ log_must cp $tst_dir/${arch}.migratedpool.DAT.Z $import_dir
+ log_must uncompress $import_dir/${arch}.migratedpool.DAT.Z
# destroy the pool with same name, so that import operation succeeds.
poolexists $migratedpoolname && \
- log_must $ZPOOL destroy -f $migratedpoolname
+ log_must zpool destroy -f $migratedpoolname
- log_must $ZPOOL import -d $import_dir $migratedpoolname
- TZ=$TIMEZONE $ZPOOL history $migratedpoolname | $GREP -v "^$" \
+ log_must zpool import -d $import_dir $migratedpoolname
+ TZ=$TIMEZONE zpool history $migratedpoolname | grep -v "^$" \
>$migrated_cmds_f
RET=$?
- (( $RET != 0 )) && log_fail "$ZPOOL histroy $migratedpoolname fails."
+ (( $RET != 0 )) && log_fail "zpool histroy $migratedpoolname fails."
# The migrated history file should differ with original history file on
# two commands -- 'export' and 'import', which are included in migrated
# then compare this filtered file with the original history file. They
# should be identical at this time.
for subcmd in "export" "import"; do
- $GREP "$subcmd" $migrated_cmds_f >/dev/null 2>&1
+ grep "$subcmd" $migrated_cmds_f >/dev/null 2>&1
RET=$?
(( $RET != 0 )) && log_fail "zpool $subcmd is not logged for" \
"the imported pool $migratedpoolname."
done
tmpfile=$import_dir/cmds_tmp.$$
- linenum=`$CAT $migrated_cmds_f | $WC -l`
+ linenum=`cat $migrated_cmds_f | wc -l`
(( linenum = linenum - 2 ))
- $HEAD -n $linenum $migrated_cmds_f > $tmpfile
- log_must $DIFF $tmpfile $orig_cmds_f1
+ head -n $linenum $migrated_cmds_f > $tmpfile
+ log_must diff $tmpfile $orig_cmds_f1
# cleanup for next loop testing
- log_must $ZPOOL destroy -f $migratedpoolname
- log_must $RM -f `$LS $import_dir`
+ log_must zpool destroy -f $migratedpoolname
+ log_must rm -f `ls $import_dir`
done
log_pass "Verify command history moves with migrated pool."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
function cleanup
{
if datasetexists $root_testfs; then
- log_must $ZFS destroy -rf $root_testfs
+ log_must zfs destroy -rf $root_testfs
fi
- log_must $ZFS create $root_testfs
+ log_must zfs create $root_testfs
}
log_assert "Pool history records all recursive operations."
root_testfs=$TESTPOOL/$TESTFS
fs1=$root_testfs/fs1; fs2=$root_testfs/fs2; fs3=$root_testfs/fs3
for fs in $fs1 $fs2 $fs3; do
- log_must $ZFS create $fs
+ log_must zfs create $fs
done
-run_and_verify "$ZFS snapshot -r $root_testfs@snap" "-i"
-run_and_verify "$ZFS hold -r tag $root_testfs@snap" "-i"
-run_and_verify "$ZFS release -r tag $root_testfs@snap" "-i"
-log_must $ZFS snapshot $root_testfs@snap2
-log_must $ZFS snapshot $root_testfs@snap3
-run_and_verify "$ZFS rollback -r $root_testfs@snap" "-i"
-run_and_verify "$ZFS inherit -r mountpoint $root_testfs" "-i"
-run_and_verify "$ZFS destroy -r $root_testfs" "-i"
+run_and_verify "zfs snapshot -r $root_testfs@snap" "-i"
+run_and_verify "zfs hold -r tag $root_testfs@snap" "-i"
+run_and_verify "zfs release -r tag $root_testfs@snap" "-i"
+log_must zfs snapshot $root_testfs@snap2
+log_must zfs snapshot $root_testfs@snap3
+run_and_verify "zfs rollback -r $root_testfs@snap" "-i"
+run_and_verify "zfs inherit -r mountpoint $root_testfs" "-i"
+run_and_verify "zfs destroy -r $root_testfs" "-i"
log_pass "Pool history records all recursive operations."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
subcmd=${array[$i]}
options=${array[((i + 1))]}
- run_and_verify "$ZFS $subcmd $options $testfs" "-i"
+ run_and_verify "zfs $subcmd $options $testfs" "-i"
((i += 2))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
{
del_user $HIST_USER
del_group $HIST_GROUP
- datasetexists $root_testfs && log_must $ZFS destroy -rf $root_testfs
+ datasetexists $root_testfs && log_must zfs destroy -rf $root_testfs
}
log_assert "Verify internal long history information are correct."
add_group $HIST_GROUP
add_user $HIST_GROUP $HIST_USER
-run_and_verify "$ZFS create $root_testfs" "-l"
-run_and_verify "$ZFS allow $HIST_GROUP snapshot,mount $root_testfs" "-l"
-run_and_verify "$ZFS allow $HIST_USER destroy,mount $root_testfs" "-l"
-run_and_verify "$ZFS allow $HIST_USER reservation $root_testfs" "-l"
-run_and_verify "$ZFS allow $HIST_USER allow $root_testfs" "-l"
-run_and_verify -u "$HIST_USER" "$ZFS snapshot $root_testfs@snap" "-l"
-run_and_verify -u "$HIST_USER" "$ZFS destroy $root_testfs@snap" "-l"
-run_and_verify -u "$HIST_USER" "$ZFS set reservation=64M $root_testfs" "-l"
+run_and_verify "zfs create $root_testfs" "-l"
+run_and_verify "zfs allow $HIST_GROUP snapshot,mount $root_testfs" "-l"
+run_and_verify "zfs allow $HIST_USER destroy,mount $root_testfs" "-l"
+run_and_verify "zfs allow $HIST_USER reservation $root_testfs" "-l"
+run_and_verify "zfs allow $HIST_USER allow $root_testfs" "-l"
+run_and_verify -u "$HIST_USER" "zfs snapshot $root_testfs@snap" "-l"
+run_and_verify -u "$HIST_USER" "zfs destroy $root_testfs@snap" "-l"
+run_and_verify -u "$HIST_USER" "zfs set reservation=64M $root_testfs" "-l"
run_and_verify -u "$HIST_USER" \
- "$ZFS allow $HIST_USER reservation $root_testfs" "-l"
-run_and_verify "$ZFS unallow $HIST_USER create $root_testfs" "-l"
-run_and_verify "$ZFS unallow $HIST_GROUP snapshot $root_testfs" "-l"
-run_and_verify "$ZFS destroy -r $root_testfs" "-l"
+ "zfs allow $HIST_USER reservation $root_testfs" "-l"
+run_and_verify "zfs unallow $HIST_USER create $root_testfs" "-l"
+run_and_verify "zfs unallow $HIST_GROUP snapshot $root_testfs" "-l"
+run_and_verify "zfs destroy -r $root_testfs" "-l"
log_pass "Verify internal long history information pass."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
flags="$2"
if is_linux; then
- histcmd=$($ECHO $fullcmd | $SED 's/^.*\/\(zpool .*\).*$/\1/')
- histcmd=$($ECHO $histcmd | $SED 's/^.*\/\(zfs .*\).*$/\1/')
+ histcmd=$(echo $fullcmd | sed 's/^.*\/\(zpool .*\).*$/\1/')
+ histcmd=$(echo $histcmd | sed 's/^.*\/\(zfs .*\).*$/\1/')
else
- histcmd=$($ECHO $fullcmd | $SED 's/\/usr\/sbin\///g')
+ histcmd=$(echo $fullcmd | sed 's/\/usr\/sbin\///g')
fi
- cmd=$($ECHO $histcmd | $AWK '{print $1}')
- subcmd=$($ECHO $histcmd | $AWK '{print $2}')
+ cmd=$(echo $histcmd | awk '{print $1}')
+ subcmd=$(echo $histcmd | awk '{print $2}')
# If we aren't running zpool or zfs, something is wrong
[[ $cmd == "zpool" || $cmd == "zfs" ]] || \
histcmd=${histcmd%% <*}
# Run the command as the specified user, and find the new history.
- $ZPOOL history $flags $pool > $OLD_HISTORY 2>/dev/null
+ zpool history $flags $pool > $OLD_HISTORY 2>/dev/null
if [[ $user == "root" ]]; then
log_must eval "$fullcmd"
else
- log_must $SU $user -c "eval $fullcmd"
+ log_must su $user -c "eval $fullcmd"
fi
- $ZPOOL history $flags $pool > $TMP_HISTORY 2>/dev/null
- $DIFF $OLD_HISTORY $TMP_HISTORY | $GREP "^> " | $SED 's/^> //g' \
+ zpool history $flags $pool > $TMP_HISTORY 2>/dev/null
+ diff $OLD_HISTORY $TMP_HISTORY | grep "^> " | sed 's/^> //g' \
> $NEW_HISTORY
# Verify what's common to every case, regardless of zpool history flags.
- $GREP "$histcmd" $NEW_HISTORY >/dev/null 2>&1 || \
+ grep "$histcmd" $NEW_HISTORY >/dev/null 2>&1 || \
log_fail "Didn't find \"$histcmd\" in pool history"
# If 'zpool history' was called without any flags, then we're done.
[[ $flags =~ "l" ]] || return 1
- typeset uid=$($ID -u $user)
- typeset hname=$($HOSTNAME)
+ typeset uid=$(id -u $user)
+ typeset hname=$(hostname)
if ! is_global_zone; then
- hname=$hname:$($ZONENAME)
+ hname=$hname:$(zonename)
fi
typeset suffix=""
suffix=":linux"
fi
- $GREP "$cmd \[user $uid ($user) on $hname$suffix\]" \
+ grep "$cmd \[user $uid ($user) on $hname$suffix\]" \
$NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Couldn't find long information for \"$cmd\""
[[ $flags =~ "i" ]] || return 1
- typeset tag=$($ECHO $cmd | $AWK '{print $4}')
+ typeset tag=$(echo $cmd | awk '{print $4}')
typeset fullname=${cmd##* }
typeset dsname=${fullname%%@*}
typeset snapname=${fullname##*@}
# This works whether or not the hold was recursive
- for ds in $($ZFS list -r -Ho name -t snapshot $dsname | \
- $GREP "@$snapname"); do
- $GREP "$subcmd $ds ([0-9]*) tag=$tag" $NEW_HISTORY \
+ for ds in $(zfs list -r -Ho name -t snapshot $dsname | \
+ grep "@$snapname"); do
+ grep "$subcmd $ds ([0-9]*) tag=$tag" $NEW_HISTORY \
>/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find hold on $ds with $tag"
typeset rb_fs=${dsname}/%rollback
typeset snapname=${fullname##*@}
- $GREP "clone swap $rb_fs ([0-9]*) parent=$parent_fs" $NEW_HISTORY \
+ grep "clone swap $rb_fs ([0-9]*) parent=$parent_fs" $NEW_HISTORY \
>/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find rollback clone swap in pool history"
return 1
fi
- $GREP "destroy $rb_fs" $NEW_HISTORY >/dev/null 2>&1
+ grep "destroy $rb_fs" $NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find rollback destroy in pool history"
return 1
prop=${prop##* }
# This works whether or not the inherit was recursive
- for ds in $($ZFS list -r -Ho name -t filesystem $dsname); do
- $GREP "$subcmd $ds ([0-9]*) ${prop}=" $NEW_HISTORY >/dev/null \
+ for ds in $(zfs list -r -Ho name -t filesystem $dsname); do
+ grep "$subcmd $ds ([0-9]*) ${prop}=" $NEW_HISTORY >/dev/null \
2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find inherit history for $ds"
# - Whether the operation applies locally or to descendent datasets (or
# both)
#
- $ECHO $cmd | $AWK '{i = NF - 1; print $i}' | $GREP '@' >/dev/null \
+ echo $cmd | awk '{i = NF - 1; print $i}' | grep '@' >/dev/null \
2>&1 && is_set=1
dsname=${cmd##* }
[[ $cmd =~ "-l " ]] && lflag=1
[[ -n $is_set ]] && str="S-\$@"
tmp=${cmd#*@}
code="$str${tmp% *}"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
[[ -n $is_set ]] && str="C-\$"
tmp=${cmd#*-c}
code="$str${tmp% *}"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
str="u"
[[ -n $is_set ]] && str="U"
tmp=${cmd##*-u }
- opt=$($ECHO $tmp | $AWK '{print $2}')
- uid=$($ID -u ${tmp%% *})
+ opt=$(echo $tmp | awk '{print $2}')
+ uid=$(id -u ${tmp%% *})
if [[ -n $lflag ]]; then
code="${str}l\$$uid $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
fi
if [[ -n $dflag ]]; then
code="${str}d\$$uid $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
str="g"
[[ -n $is_set ]] && str="G"
tmp=${cmd##*-g }
- opt=$($ECHO $tmp | $AWK '{print $2}')
- gid=$($AWK -F: "/^${tmp%% *}:/ {print \$3}" /etc/group)
+ opt=$(echo $tmp | awk '{print $2}')
+ gid=$(awk -F: "/^${tmp%% *}:/ {print \$3}" /etc/group)
if [[ -n $lflag ]]; then
code="${str}l\$$gid $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
fi
if [[ -n $dflag ]]; then
code="${str}d\$$gid $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
opt=${opt%% *}
if [[ -n $lflag ]]; then
code="${str}l\$ $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
fi
if [[ -n $dflag ]]; then
code="${str}d\$ $opt"
- $GREP "permission $subcmd $dsname ([0-9]*) $code" \
+ grep "permission $subcmd $dsname ([0-9]*) $code" \
$NEW_HISTORY >/dev/null 2>&1
if [ $? != 0 ]]; then
log_note "Couldn't find $code in $NEW_HISTORY"
[[ $dsname =~ "@" ]] && typeset is_snap=1
if [[ -n $is_snap ]]; then
- $GREP "ioctl destroy_snaps" $NEW_HISTORY >/dev/null 2>&1
+ grep "ioctl destroy_snaps" $NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find ioctl while destroying $dsname"
return 1
fi
# This should be present for datasets and snapshots alike
- $GREP "destroy $dsname" $NEW_HISTORY >/dev/null 2>&1
+ grep "destroy $dsname" $NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find \"destroy\" for $dsname"
return 1
typeset dsname=${fullname%%@*}
typeset snapname=${fullname##*@}
- $GREP "\[txg:[0-9]*\] $subcmd $fullname ([0-9]*)" $NEW_HISTORY \
+ grep "\[txg:[0-9]*\] $subcmd $fullname ([0-9]*)" $NEW_HISTORY \
>/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find snapshot command for $fullname"
fi
# This works whether or not the snapshot was recursive
- for ds in $($ZFS list -r -Ho name -t snapshot $dsname | \
- $GREP "@$snapname"); do
- $GREP "^[ ]* $ds$" $NEW_HISTORY >/dev/null 2>&1
+ for ds in $(zfs list -r -Ho name -t snapshot $dsname | \
+ grep "@$snapname"); do
+ grep "^[ ]* $ds$" $NEW_HISTORY >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_note "Didn't find \"ioctl snapshot\" for $ds"
return 1
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. ${STF_SUITE}/include/libtest.shlib
-$RM -rf $TESTDIR.*
+rm -rf $TESTDIR.*
default_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
#
typeset prop=$1
typeset dataset=$2
- prop_val=`$ZFS get -H -o source $prop $dataset`
+ prop_val=`zfs get -H -o source $prop $dataset`
if [[ $? -ne 0 ]]; then
log_fail "Unable to determine the source of $prop " \
typeset prop_val=$2
typeset dataset=$3
- $ZFS set $prop=$prop_val $dataset
+ zfs set $prop=$prop_val $dataset
check_val=`get_prop $prop $dataset`
if [[ $check_val != $prop_val ]]; then
# Use is subject to license terms.
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [[ $type == "POOL" ]]; then
create_pool "$dataset" "$disks"
elif [[ $type == "CTR" ]]; then
- log_must $ZFS create $dataset
- log_must $ZFS set canmount=off $dataset
+ log_must zfs create $dataset
+ log_must zfs set canmount=off $dataset
elif [[ $type == "FS" ]]; then
- log_must $ZFS create $dataset
+ log_must zfs create $dataset
else
log_fail "Unrecognised type $type"
fi
def_val[idx]=$record_val
def_recordsize=1
elif [[ $init_code == "local" ]]; then
- log_must $ZFS set recordsize=$record_val $dataset
+ log_must zfs set recordsize=$record_val $dataset
local_val[idx]=$record_val
fi
}
log_note "No operation specified"
else
export __ZFS_POOL_RESTRICT="TESTPOOL"
- log_must $ZFS unmount -a
+ log_must zfs unmount -a
unset __ZFS_POOL_RESTRICT
for p in ${prop[i]} ${prop[((i+1))]}; do
- $ZFS $op $p $target
+ zfs $op $p $target
ret=$?
- check_failure $ret "$ZFS $op $p \
+ check_failure $ret "zfs $op $p \
$target"
done
fi
. $STF_SUITE/include/libtest.shlib
if is_linux; then
+ DISK_ARRAY_NUM=2
set_device_dir
set_slice_prefix
export SLICE0=1
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Remove dump device.
#
if [[ -n $PREVDUMPDEV ]]; then
- log_must $DUMPADM -u -d $PREVDUMPDEV > /dev/null
+ log_must dumpadm -u -d $PREVDUMPDEV > /dev/null
fi
destroy_pool $TESTPOOL
typeset dumpdev=""
typeset diskslice=""
-PREVDUMPDEV=`$DUMPADM | $GREP "Dump device" | $AWK '{print $3}'`
+PREVDUMPDEV=`dumpadm | grep "Dump device" | awk '{print $3}'`
log_note "Zero $FS_DISK0 and place free space in to slice 0"
log_must cleanup_devices $FS_DISK0
diskslice="${DEV_DSKDIR}/${FS_DISK0}${SLICE0}"
log_note "Configuring $diskslice as dump device"
-log_must $DUMPADM -d $diskslice > /dev/null
+log_must dumpadm -d $diskslice > /dev/null
log_note "Confirm that dump device has been setup"
-dumpdev=`$DUMPADM | $GREP "Dump device" | $AWK '{print $3}'`
+dumpdev=`dumpadm | grep "Dump device" | awk '{print $3}'`
[[ -z "$dumpdev" ]] && log_untested "No dump device has been configured"
[[ "$dumpdev" != "$diskslice" ]] && \
log_note "Attempt to zpool the dump device"
unset NOINUSE_CHECK
-log_mustnot $ZPOOL create $TESTPOOL "$diskslice"
+log_mustnot zpool create $TESTPOOL "$diskslice"
log_mustnot poolexists $TESTPOOL
log_pass "Unable to zpool a device in use by dumpadm"
#
#
-# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
poolexists $TESTPOOL2 && destroy_pool $TESTPOOL2
log_note "Kill off ufsdump process if still running"
- $KILL -0 $PIDUFSDUMP > /dev/null 2>&1 && \
- log_must $KILL -9 $PIDUFSDUMP > /dev/null 2>&1
+ kill -0 $PIDUFSDUMP > /dev/null 2>&1 && \
+ log_must kill -9 $PIDUFSDUMP > /dev/null 2>&1
#
# Note: It would appear that ufsdump spawns a number of processes
# which are not killed when the $PIDUFSDUMP is whacked. So best bet
# is to find the rest of the them and deal with them individually.
#
- for all in `$PGREP ufsdump`
+ for all in `pgrep ufsdump`
do
- $KILL -9 $all > /dev/null 2>&1
+ kill -9 $all > /dev/null 2>&1
done
log_note "Kill off ufsrestore process if still running"
- $KILL -0 $PIDUFSRESTORE > /dev/null 2>&1 && \
- log_must $KILL -9 $PIDUFSRESTORE > /dev/null 2>&1
+ kill -0 $PIDUFSRESTORE > /dev/null 2>&1 && \
+ log_must kill -9 $PIDUFSRESTORE > /dev/null 2>&1
- ismounted $UFSMP ufs && log_must $UMOUNT $UFSMP
+ ismounted $UFSMP ufs && log_must umount $UFSMP
- $RM -rf $UFSMP
- $RM -rf $TESTDIR
+ rm -rf $UFSMP
+ rm -rf $TESTDIR
#
# Tidy up the disks we used.
done
log_note "Make a ufs filesystem on source $rawdisk1"
-$ECHO "y" | $NEWFS -v $rawdisk1 > /dev/null 2>&1
+echo "y" | newfs -v $rawdisk1 > /dev/null 2>&1
(($? != 0)) && log_untested "Unable to create ufs filesystem on $rawdisk1"
-log_must $MKDIR -p $UFSMP
+log_must mkdir -p $UFSMP
log_note "mount source $disk1 on $UFSMP"
-log_must $MOUNT $disk1 $UFSMP
+log_must mount $disk1 $UFSMP
log_note "Now create some directories and files to be ufsdump'ed"
while (($dirnum <= 2)); do
- log_must $MKDIR $bigdir${dirnum}
+ log_must mkdir $bigdir${dirnum}
while (( $filenum <= 2 )); do
- $FILE_WRITE -o create -f $bigdir${dirnum}/file${filenum} \
+ file_write -o create -f $bigdir${dirnum}/file${filenum} \
-b $BLOCK_SIZE -c $BLOCK_COUNT
if [[ $? -ne 0 ]]; then
if [[ $dirnum -lt 3 ]]; then
- log_fail "$FILE_WRITE only wrote" \
+ log_fail "file_write only wrote" \
"<(( $dirnum * 3 + $filenum ))>" \
"files, this is not enough"
fi
((dirnum = dirnum + 1))
done
-log_must $UMOUNT $UFSMP
+log_must umount $UFSMP
log_note "Start ufsdump in the background"
-log_note "$UFSDUMP 0bf 512 $rawdisk0 $disk1"
-$UFSDUMP 0bf 512 $rawdisk0 $disk1 &
+log_note "ufsdump 0bf 512 $rawdisk0 $disk1"
+ufsdump 0bf 512 $rawdisk0 $disk1 &
PIDUFSDUMP=$!
unset NOINUSE_CHECK
log_note "Attempt to zpool the source device in use by ufsdump"
-log_mustnot $ZPOOL create $TESTPOOL1 "$disk1"
+log_mustnot zpool create $TESTPOOL1 "$disk1"
log_mustnot poolexists $TESTPOOL1
log_note "Attempt to take the source device in use by ufsdump as spare device"
-log_mustnot $ZPOOL create $TESTPOOL1 "$FS_SIDE2" spare "$disk1"
+log_mustnot zpool create $TESTPOOL1 "$FS_SIDE2" spare "$disk1"
log_mustnot poolexists $TESTPOOL1
wait $PIDUFSDUMP
typeset -i retval=$?
-(($retval != 0)) && log_fail "$UFSDUMP failed with error code $ret_val"
+(($retval != 0)) && log_fail "ufsdump failed with error code $ret_val"
-log_must $MOUNT $disk1 $UFSMP
+log_must mount $disk1 $UFSMP
-log_must $RM -rf $UFSMP/*
-log_must $MKDIR $restored_files
+log_must rm -rf $UFSMP/*
+log_must mkdir $restored_files
cwd=$PWD
log_must cd $restored_files
log_note "Start ufsrestore in the background from the target device"
-log_note "$UFSRESTORE rbf 512 $rawdisk0"
-$UFSRESTORE rbf 512 $rawdisk0 &
+log_note "ufsrestore rbf 512 $rawdisk0"
+ufsrestore rbf 512 $rawdisk0 &
PIDUFSRESTORE=$!
log_must cd $cwd
log_note "Attempt to zpool the restored device in use by ufsrestore"
-log_mustnot $ZPOOL create -f $TESTPOOL2 "$disk1"
+log_mustnot zpool create -f $TESTPOOL2 "$disk1"
log_mustnot poolexists $TESTPOOL2
log_note "Attempt to take the restored device in use by ufsrestore as spare" \
"device"
-log_mustnot $ZPOOL create -f $TESTPOOL2 "$FS_SIDE2" spare "$disk1"
+log_mustnot zpool create -f $TESTPOOL2 "$FS_SIDE2" spare "$disk1"
log_mustnot poolexists $TESTPOOL2
log_pass "Unable to zpool over a device in use by ufsdump or ufsrestore"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# to work correctly. So its reproduced below. Still need to full
# understand why default_cleanup does not work correctly from here.
#
- log_must $ZFS umount $TESTPOOL/$TESTFS
+ log_must zfs umount $TESTPOOL/$TESTFS
- $RM -rf $TESTDIR || \
+ rm -rf $TESTDIR || \
log_unresolved Could not remove $TESTDIR
- log_must $ZFS destroy $TESTPOOL/$TESTFS
+ log_must zfs destroy $TESTPOOL/$TESTFS
destroy_pool $TESTPOOL
}
#
{
typeset disk=$1
- typeset format_file=/var/tmp/format_in.$$.1
- $ECHO "partition" > $format_file
- $ECHO "modify" >> $format_file
+ if is_linux; then
+ parted $disk -s -- mklabel gpt
+ typeset -i retval=$?
+ else
+ typeset format_file=/var/tmp/format_in.$$.1
+ echo "partition" > $format_file
+ echo "modify" >> $format_file
- $FORMAT -e -s -d $disk -f $format_file
- typeset -i retval=$?
- $RM -rf $format_file
+ format -e -s -d $disk -f $format_file
+ typeset -i retval=$?
+
+ rm -rf $format_file
+ fi
return $retval
}
log_onexit cleanup
log_must default_setup_noexit $FS_DISK0
-log_must $ZPOOL add $TESTPOOL spare $FS_DISK1
+log_must zpool add $TESTPOOL spare $FS_DISK1
log_note "Attempt to format a ZFS disk"
log_mustnot mini_format $FS_DISK0
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset targets=$1
for t in $targets; do
- $ECHO "y" | $NEWFS -v $t > /dev/null 2>&1
+ echo "y" | newfs -v $t > /dev/null 2>&1
(( $? !=0 )) || \
log_fail "newfs over active pool " \
"unexpected return code of 0"
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if [[ -n $PREVDUMPDEV ]]; then
- log_must $DUMPADM -u -d $PREVDUMPDEV
+ log_must dumpadm -u -d $PREVDUMPDEV
fi
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
typeset targets=$1
for t in $targets; do
- log_mustnot $DUMPADM -d $t
+ log_mustnot dumpadm -d $t
done
return 0
typeset -i i=0
-PREVDUMPDEV=`$DUMPADM | $GREP "Dump device" | $AWK '{print $3}'`
+PREVDUMPDEV=`dumpadm | grep "Dump device" | awk '{print $3}'`
unset NOINUSE_CHECK
while (( i < ${#vdevs[*]} )); do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if [[ -n $PREVDUMPDEV ]]; then
- log_must $DUMPADM -u -d $PREVDUMPDEV
+ log_must dumpadm -u -d $PREVDUMPDEV
fi
- poolexists $TESTPOOL1 || $ZPOOL import $TESTPOOL1 >/dev/null 2>&1
+ poolexists $TESTPOOL1 || zpool import $TESTPOOL1 >/dev/null 2>&1
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
typeset targets=$1
for t in $targets; do
- log_must $DUMPADM -u -d $t
+ log_must dumpadm -u -d $t
- log_must $DUMPADM -u -d $PREVDUMPDEV
+ log_must dumpadm -u -d $PREVDUMPDEV
done
return 0
typeset -i i=0
-PREVDUMPDEV=`$DUMPADM | $GREP "Dump device" | $AWK '{print $3}'`
+PREVDUMPDEV=`dumpadm | grep "Dump device" | awk '{print $3}'`
while (( i < ${#vdevs[*]} )); do
fi
create_pool $TESTPOOL1 ${vdevs[i]} $vslices spare $sslices
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
verify_assertion "$disktargets"
- log_must $ZPOOL import $TESTPOOL1
+ log_must zpool import $TESTPOOL1
destroy_pool $TESTPOOL1
if [[ ( $FS_DISK0 == $FS_DISK2 ) && -n ${vdevs[i]} ]]; then
fi
create_pool $TESTPOOL1 ${vdevs[i]} $vdisks spare $sdisks
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
verify_assertion "$disktargets"
- log_must $ZPOOL import $TESTPOOL1
+ log_must zpool import $TESTPOOL1
destroy_pool $TESTPOOL1
(( i = i + 1 ))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- poolexists $TESTPOOL1 || $ZPOOL import $TESTPOOL1 >/dev/null 2>&1
+ poolexists $TESTPOOL1 || zpool import $TESTPOOL1 >/dev/null 2>&1
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
typeset targets=$1
for t in $targets; do
- $ECHO "y" | $NEWFS -v $t > /dev/null 2>&1
+ echo "y" | newfs -v $t > /dev/null 2>&1
(( $? !=0 )) && \
log_fail "newfs over exported pool " \
"failes unexpected."
fi
create_pool $TESTPOOL1 ${vdevs[i]} $vslices spare $sslices
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
verify_assertion "$rawtargets"
cleanup_devices $vslices $sslices
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- poolexists $TESTPOOL1 || $ZPOOL import $TESTPOOL1 >/dev/null 2>&1
+ poolexists $TESTPOOL1 || zpool import $TESTPOOL1 >/dev/null 2>&1
poolexists $TESTPOOL1 && destroy_pool $TESTPOOL1
fi
create_pool $TESTPOOL1 ${vdevs[i]} $vslices spare $sslices
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
verify_assertion "$vdisks $sdisks"
if [[ ( $FS_DISK0 == $FS_DISK2 ) && -n ${vdevs[i]} ]]; then
fi
create_pool $TESTPOOL1 ${vdevs[i]} $vdisks spare $sdisks
- log_must $ZPOOL export $TESTPOOL1
+ log_must zpool export $TESTPOOL1
verify_assertion "$vdisks $sdisks"
(( i = i + 1 ))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Write a file to the allowable ZFS fs size."
log_note "Invoke 'largest_file' with $TESTDIR/bigfile"
-log_must $LARGEST_FILE $TESTDIR/bigfile
+log_must largest_file $TESTDIR/bigfile
log_pass "Successfully created a file to the maximum allowable size."
# Verify 'ulimit -f unlimited' works
log_must ulimit -f unlimited
log_must sh -c 'dd if=/dev/zero of=$TESTDIR/ulimit_write_file bs=1M count=2'
-log_must sh -c '$TRUNCATE -s2M $TESTDIR/ulimit_trunc_file'
-log_must $RM $TESTDIR/ulimit_write_file $TESTDIR/ulimit_trunc_file
+log_must sh -c 'truncate -s2M $TESTDIR/ulimit_trunc_file'
+log_must rm $TESTDIR/ulimit_write_file $TESTDIR/ulimit_trunc_file
# Verify 'ulimit -f <size>' works
log_must ulimit -f 1024
log_mustnot sh -c 'dd if=/dev/zero of=$TESTDIR/ulimit_write_file bs=1M count=2'
-log_mustnot sh -c '$TRUNCATE -s2M $TESTDIR/ulimit_trunc_file'
-log_must $RM $TESTDIR/ulimit_write_file $TESTDIR/ulimit_trunc_file
+log_mustnot sh -c 'truncate -s2M $TESTDIR/ulimit_trunc_file'
+log_must rm $TESTDIR/ulimit_write_file $TESTDIR/ulimit_trunc_file
log_pass "Successfully enforced 'ulimit -f' maximum file size"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
function parse_expected_output
{
- UNITS=`$ECHO $1 | $SED -e 's/^\([0-9].*\)\([a-z].\)/\2/'`
+ UNITS=`echo $1 | sed -e 's/^\([0-9].*\)\([a-z].\)/\2/'`
case "$UNITS" in
'mb') CHKUNIT="M" ;;
'gb') CHKUNIT="G" ;;
esac
log_note "Detect zpool $TESTPOOL in this test machine."
- log_must eval "$ZPOOL list $TESTPOOL > /tmp/j.$$"
- log_must eval "$GREP $TESTPOOL /tmp/j.$$ | \
- $AWK '{print $2}' | $GREP $CHKUNIT"
+ log_must eval "zpool list $TESTPOOL > /tmp/j.$$"
+ log_must eval "grep $TESTPOOL /tmp/j.$$ | \
+ awk '{print $2}' | grep $CHKUNIT"
log_note "Detect the file system in this test machine."
- log_must eval "$DF -F zfs -h > /tmp/j.$$"
- log_must eval "$GREP $TESTPOOL /tmp/j.$$ | \
- $AWK '{print $2}' | $GREP $CHKUNIT"
+ log_must eval "df -F zfs -h > /tmp/j.$$"
+ log_must eval "grep $TESTPOOL /tmp/j.$$ | \
+ awk '{print $2}' | grep $CHKUNIT"
return 0
}
if datasetexists $TESTPOOL/$TESTFS ; then
if ismounted $TESTPOOL/$TESTFS ; then
- log_must $ZFS unmount $TESTPOOL/$TESTFS
+ log_must zfs unmount $TESTPOOL/$TESTFS
fi
- log_must $ZFS destroy $TESTPOOL/$TESTFS
+ log_must zfs destroy $TESTPOOL/$TESTFS
fi
destroy_pool $TESTPOOL
datasetexists $TESTPOOL2/$TESTVOL && \
- log_must $ZFS destroy $TESTPOOL2/$TESTVOL
+ log_must zfs destroy $TESTPOOL2/$TESTVOL
destroy_pool $TESTPOOL2
- $RM -f /tmp/j.* > /dev/null
+ rm -f /tmp/j.* > /dev/null
}
log_assert "The largest pool can be created and a dataset in that" \
create_pool $TESTPOOL2 "$DISKS"
log_note "Create a volume device of desired sizes: $volsize"
- str=$($ZFS create -sV $volsize $TESTPOOL2/$TESTVOL 2>&1)
+ str=$(zfs create -sV $volsize $TESTPOOL2/$TESTVOL 2>&1)
ret=$?
if (( ret != 0 )); then
if [[ is_32bit && \
log_unsupported \
"Max volume size is 1TB on 32-bit systems."
else
- log_fail "$ZFS create -sV $volsize $TESTPOOL2/$TESTVOL"
+ log_fail "zfs create -sV $volsize $TESTPOOL2/$TESTVOL"
fi
fi
create_pool $TESTPOOL "$VOL_PATH"
log_note "Create a zfs file system in the largest pool"
- log_must $ZFS create $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
log_note "Parse the execution result"
parse_expected_output $volsize
log_note "unmount this zfs file system $TESTPOOL/$TESTFS"
- log_must $ZFS unmount $TESTPOOL/$TESTFS
+ log_must zfs unmount $TESTPOOL/$TESTFS
log_note "Destroy zfs, volume & zpool"
- log_must $ZFS destroy $TESTPOOL/$TESTFS
+ log_must zfs destroy $TESTPOOL/$TESTFS
destroy_pool $TESTPOOL
- log_must $ZFS destroy $TESTPOOL2/$TESTVOL
+ log_must zfs destroy $TESTPOOL2/$TESTVOL
destroy_pool $TESTPOOL2
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Detect and make sure this test must be executed on a multi-process system
is_mp || log_fail "This test requires a multi-processor system."
-log_must $MKDIR -p ${TESTDIR}/tmp
+log_must mkdir -p ${TESTDIR}/tmp
typeset -i i=0
while [ $i -lt $NUMFILES ]; do
(( i = i + 1 ))
- $TOUCH ${TESTDIR}/tmp/x$i > /dev/null 2>&1
+ touch ${TESTDIR}/tmp/x$i > /dev/null 2>&1
done
sleep 3
-$RM -f ${TESTDIR}/tmp/x* >/dev/null 2>&1
+rm -f ${TESTDIR}/tmp/x* >/dev/null 2>&1
-$RM_LNKCNT_ZERO_FILE ${TESTDIR}/tmp/test$$ > /dev/null 2>&1 &
+rm_lnkcnt_zero_file ${TESTDIR}/tmp/test$$ > /dev/null 2>&1 &
PID=$!
-log_note "$RM_LNKCNT_ZERO_FILE ${TESTDIR}/tmp/test$$ pid: $PID"
+log_note "rm_lnkcnt_zero_file ${TESTDIR}/tmp/test$$ pid: $PID"
i=0
while [ $i -lt $ITERS ]; do
- if ! $PGREP $RM_LNKCNT_ZERO_FILE > /dev/null ; then
- log_note "$RM_LNKCNT_ZERO_FILE completes"
+ if ! pgrep rm_lnkcnt_zero_file > /dev/null ; then
+ log_note "rm_lnkcnt_zero_file completes"
break
fi
- log_must $SLEEP 10
+ log_must sleep 10
(( i = i + 1 ))
done
-if $PGREP $RM_LNKCNT_ZERO_FILE > /dev/null; then
- log_must $KILL -TERM $PID
+if pgrep rm_lnkcnt_zero_file > /dev/null; then
+ log_must kill -TERM $PID
log_fail "file link count is zero"
fi
-log_must $KILL -TERM $PID
-log_must $RM -f ${TESTDIR}/tmp/test$$*
+log_must kill -TERM $PID
+log_must rm -f ${TESTDIR}/tmp/test$$*
log_pass "Verify file link count is zero on zfs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
ismounted $NONZFS_TESTDIR $NEWFS_DEFAULT_FS
-(( $? == 0 )) && log_must $UMOUNT -f $NONZFS_TESTDIR
+(( $? == 0 )) && log_must umount -f $NONZFS_TESTDIR
ismounted $TESTPOOL/$TESTFS
-[[ $? == 0 ]] && log_must $ZFS umount -f $TESTDIR
+[[ $? == 0 ]] && log_must zfs umount -f $TESTDIR
destroy_pool $TESTPOOL
DISK=${DISKS%% *}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set -A disk_array $(find_disks $DISKS)
case "${#disk_array[*]}" in
0)
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $ZFS_DISK ) && [[ -z $($ECHO $ZFS_DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $ZFS_DISK ) && [[ -z $(echo $ZFS_DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK ); then
ZFSSIDE_DISK=${SINGLE_DISK}1
NONZFSSIDE_DISK=${SINGLE_DISK}2
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $ZFS_DISK ) && [[ -z $($ECHO $ZFS_DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $ZFS_DISK ) && [[ -z $(echo $ZFS_DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK ); then
ZFSSIDE_DISK=${ZFS_DISK}1
elif ( is_mpath_device $ZFS_DISK || is_loop_device $ZFS_DISK ); then
else
log_fail "$ZFS_DISK not supported for partitioning."
fi
- if ( is_mpath_device $NONZFS_DISK ) && [[ -z $($ECHO $NONZFS_DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $NONZFS_DISK ) && [[ -z $(echo $NONZFS_DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $NONZFS_DISK ); then
NONZFSSIDE_DISK=${NONZFS_DISK}1
elif ( is_mpath_device $NONZFS_DISK || is_loop_device $NONZFS_DISK ); then
export TESTFILE=/etc/passwd
export NONZFS_TESTDIR=$TESTDIR/nonzfstestdir
-tmp=`$SUM $TESTFILE`
-export SUMA=`$ECHO $tmp | $AWK '{print $1}'`
-export SUMB=`$ECHO $tmp | $AWK '{print $2}'`
+tmp=`sum $TESTFILE`
+export SUMA=`echo $tmp | awk '{print $1}'`
+export SUMB=`echo $tmp | awk '{print $2}'`
export FS_SIZE=1g
-export BNAME=`$BASENAME $TESTFILE`
-export DNAME=`$DIRNAME $TESTFILE`
+export BNAME=`basename $TESTFILE`
+export DNAME=`dirname $TESTFILE`
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/migration/migration.cfg
# srcdir: is the directory where the testfile is
# cmd: is the command to be executed.
# E.g.
-# $TAR cf $TESTDIR/tar$$.tar
+# tar cf $TESTDIR/tar$$.tar
#
function prepare #srcdir cmd
{
# oldsumb: is the second part of the values returned by sum
# cmd: is the command to be executed;
# E.g.
-# "$TAR xf $TESTDIR/tar$$.tar"
+# "tar xf $TESTDIR/tar$$.tar"
#
function migrate #destdir oldsuma oldsumb cmd
{
$cmd
(( $? != 0 )) && return 1
- sumy=`$SUM ./$BNAME`
- suma=`$ECHO $sumy | $AWK '{print $1}'`
- sumb=`$ECHO $sumy | $AWK '{print $2}'`
+ sumy=`sum ./$BNAME`
+ suma=`echo $sumy | awk '{print $1}'`
+ sumb=`echo $sumy | awk '{print $2}'`
if (( $oldsuma != $suma )); then
- log_note "$SUM values are not the same"
+ log_note "sum values are not the same"
retval=1
fi
if (( $oldsumb != $sumb )); then
- log_note "$SUM values are not the same"
+ log_note "sum values are not the same"
retval=1
fi
cd $destdir
(( $? != 0 )) && return 1
- $CPIO -iv < $archive
+ cpio -iv < $archive
(( $? != 0 )) && return 1
- sumy=`$SUM ./$BNAME`
- suma=`$ECHO $sumy | $AWK '{print $1}'`
- sumb=`$ECHO $sumy | $AWK '{print $2}'`
+ sumy=`sum ./$BNAME`
+ suma=`echo $sumy | awk '{print $1}'`
+ sumb=`echo $sumy | awk '{print $2}'`
if (( $oldsuma != $suma )); then
- log_note "$SUM values are not the same"
+ log_note "sum values are not the same"
retval=1
fi
if (( $oldsumb != $sumb )); then
- log_note "$SUM values are not the same"
+ log_note "sum values are not the same"
retval=1
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/tar$$.tar
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $TESTDIR/tar$$.tar
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to ZFS fs using tar"
log_onexit cleanup
-prepare $DNAME "$TAR cf $TESTDIR/tar$$.tar $BNAME"
+prepare $DNAME "tar cf $TESTDIR/tar$$.tar $BNAME"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$TAR xf $TESTDIR/tar$$.tar"
+migrate $TESTDIR $SUMA $SUMB "tar xf $TESTDIR/tar$$.tar"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/tar$$.tar
- $RM -rf $NONZFS_TESTDIR/$BNAME
+ rm -rf $TESTDIR/tar$$.tar
+ rm -rf $NONZFS_TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to UFS fs using tar"
log_onexit cleanup
-prepare $DNAME "$TAR cf $TESTDIR/tar$$.tar $BNAME"
+prepare $DNAME "tar cf $TESTDIR/tar$$.tar $BNAME"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $NONZFS_TESTDIR $SUMA $SUMB "$TAR xf $TESTDIR/tar$$.tar"
+migrate $NONZFS_TESTDIR $SUMA $SUMB "tar xf $TESTDIR/tar$$.tar"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to UFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $NONZFS_TESTDIR/tar$$.tar
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $NONZFS_TESTDIR/tar$$.tar
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from UFS fs to ZFS fs using tar"
log_onexit cleanup
-prepare $DNAME "$TAR cf $NONZFS_TESTDIR/tar$$.tar $BNAME"
+prepare $DNAME "tar cf $NONZFS_TESTDIR/tar$$.tar $BNAME"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$TAR xvf $NONZFS_TESTDIR/tar$$.tar"
+migrate $TESTDIR $SUMA $SUMB "tar xvf $NONZFS_TESTDIR/tar$$.tar"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"UFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/cpio$$.cpio
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $TESTDIR/cpio$$.cpio
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to ZFS fs using cpio"
cd $DNAME
(( $? != 0 )) && log_untested "Could not change directory to $DNAME"
-$LS $BNAME | $CPIO -oc > $TESTDIR/cpio$$.cpio
+ls $BNAME | cpio -oc > $TESTDIR/cpio$$.cpio
(( $? != 0 )) && log_fail "Unable to create cpio archive"
cd $cwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/cpio$$.cpio
- $RM -rf $NONZFS_TESTDIR/$BNAME
+ rm -rf $TESTDIR/cpio$$.cpio
+ rm -rf $NONZFS_TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to uFS fs using cpio"
cd $DNAME
(( $? != 0 )) && log_untested "Could not change directory to $DNAME"
-$LS $BNAME | $CPIO -oc > $TESTDIR/cpio$$.cpio
+ls $BNAME | cpio -oc > $TESTDIR/cpio$$.cpio
(( $? != 0 )) && log_fail "Unable to create cpio archive"
cd $cwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $NONZFS_TESTDIR/cpio$$.cpio
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $NONZFS_TESTDIR/cpio$$.cpio
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from UFS fs to ZFS fs using cpio"
cd $DNAME
(( $? != 0 )) && log_untested "Could not change directory to $DNAME"
-$LS $BNAME | $CPIO -oc > $NONZFS_TESTDIR/cpio$$.cpio
+ls $BNAME | cpio -oc > $NONZFS_TESTDIR/cpio$$.cpio
(( $? != 0 )) && log_fail "Unable to create cpio archive"
cd $cwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/dd$$.dd
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $TESTDIR/dd$$.dd
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to ZFS fs using dd"
log_onexit cleanup
-prepare $DNAME "$DD if=$BNAME obs=128k of=$TESTDIR/dd$$.dd"
+prepare $DNAME "dd if=$BNAME obs=128k of=$TESTDIR/dd$$.dd"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$DD if=$TESTDIR/dd$$.dd obs=128k of=$BNAME"
+migrate $TESTDIR $SUMA $SUMB "dd if=$TESTDIR/dd$$.dd obs=128k of=$BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/dd$$.dd
- $RM -rf $NONZFS_TESTDIR/$BNAME
+ rm -rf $TESTDIR/dd$$.dd
+ rm -rf $NONZFS_TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to UFS fs using dd"
log_onexit cleanup
-prepare $DNAME "$DD if=$BNAME obs=128k of=$TESTDIR/dd$$.dd"
+prepare $DNAME "dd if=$BNAME obs=128k of=$TESTDIR/dd$$.dd"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $NONZFS_TESTDIR $SUMA $SUMB "$DD if=$TESTDIR/dd$$.dd obs=128k of=$BNAME"
+migrate $NONZFS_TESTDIR $SUMA $SUMB "dd if=$TESTDIR/dd$$.dd obs=128k of=$BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/dd$$.dd
- $RM -rf $NONZFS_TESTDIR/$BNAME
+ rm -rf $TESTDIR/dd$$.dd
+ rm -rf $NONZFS_TESTDIR/$BNAME
}
log_assert "Migrating test file from UFS fs to ZFS fs using dd"
log_onexit cleanup
-prepare $DNAME "$DD if=$BNAME obs=128k of=$NONZFS_TESTDIR/dd$$.dd"
+prepare $DNAME "dd if=$BNAME obs=128k of=$NONZFS_TESTDIR/dd$$.dd"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$DD if=$NONZFS_TESTDIR/dd$$.dd obs=128k of=$BNAME"
+migrate $TESTDIR $SUMA $SUMB "dd if=$NONZFS_TESTDIR/dd$$.dd obs=128k of=$BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/cp$$.cp
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $TESTDIR/cp$$.cp
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to ZFS fs using cp"
log_onexit cleanup
-prepare $DNAME "$CP $BNAME $TESTDIR/cp$$.cp"
+prepare $DNAME "cp $BNAME $TESTDIR/cp$$.cp"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$CP $TESTDIR/cp$$.cp $BNAME"
+migrate $TESTDIR $SUMA $SUMB "cp $TESTDIR/cp$$.cp $BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $NONZFS_TESTDIR/cp$$.cp
- $RM -rf $TESTDIR/$BNAME
+ rm -rf $NONZFS_TESTDIR/cp$$.cp
+ rm -rf $TESTDIR/$BNAME
}
log_assert "Migrating test file from ZFS fs to UFS fs using cp"
log_onexit cleanup
-prepare $DNAME "$CP $BNAME $TESTDIR/cp$$.cp"
+prepare $DNAME "cp $BNAME $TESTDIR/cp$$.cp"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $NONZFS_TESTDIR $SUMA $SUMB "$CP $TESTDIR/cp$$.cp $BNAME"
+migrate $NONZFS_TESTDIR $SUMA $SUMB "cp $TESTDIR/cp$$.cp $BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"ZFS fs to UFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/cp$$.cp
- $RM -rf $NONZFS_TESTDIR/$BNAME
+ rm -rf $TESTDIR/cp$$.cp
+ rm -rf $NONZFS_TESTDIR/$BNAME
}
log_assert "Migrating test file from UFS fs to ZFS fs using cp"
log_onexit cleanup
-prepare $DNAME "$CP $BNAME $NONZFS_TESTDIR/cp$$.cp"
+prepare $DNAME "cp $BNAME $NONZFS_TESTDIR/cp$$.cp"
(( $? != 0 )) && log_fail "Unable to create src archive"
-migrate $TESTDIR $SUMA $SUMB "$CP $NONZFS_TESTDIR/cp$$.cp $BNAME"
+migrate $TESTDIR $SUMA $SUMB "cp $NONZFS_TESTDIR/cp$$.cp $BNAME"
(( $? != 0 )) && log_fail "Uable to successfully migrate test file from" \
"UFS fs to ZFS fs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
create_pool $TESTPOOL "$ZFS_DISK"
-$RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
-$MKDIR -p $TESTDIR || log_unresolved Could not create $TESTDIR
+rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+mkdir -p $TESTDIR || log_unresolved Could not create $TESTDIR
-log_must $ZFS create $TESTPOOL/$TESTFS
-log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+log_must zfs create $TESTPOOL/$TESTFS
+log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
-$RM -rf $NONZFS_TESTDIR || log_unresolved Could not remove $NONZFS_TESTDIR
-$MKDIR -p $NONZFS_TESTDIR || log_unresolved Could not create $NONZFS_TESTDIR
+rm -rf $NONZFS_TESTDIR || log_unresolved Could not remove $NONZFS_TESTDIR
+mkdir -p $NONZFS_TESTDIR || log_unresolved Could not create $NONZFS_TESTDIR
-$ECHO "y" | $NEWFS -v ${DEV_DSKDIR}/$NONZFS_DISK
+echo "y" | newfs -v ${DEV_DSKDIR}/$NONZFS_DISK
(( $? != 0 )) &&
log_untested "Unable to setup a UFS file system"
-log_must $MOUNT ${DEV_DSKDIR}/$NONZFS_DISK $NONZFS_TESTDIR
+log_must mount ${DEV_DSKDIR}/$NONZFS_DISK $NONZFS_TESTDIR
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "read()s from mmap()'ed file contain correct data."
-log_must $CHMOD 777 $TESTDIR
-log_must $READMMAP $TESTDIR/test-read-file
-log_must $ZFS unmount $TESTPOOL/$TESTFS
+log_must chmod 777 $TESTDIR
+log_must readmmap $TESTDIR/test-read-file
+log_must zfs unmount $TESTPOOL/$TESTFS
typeset dir=$(get_device_dir $DISKS)
verify_filesys "$TESTPOOL" "$TESTPOOL/$TESTFS" "$dir"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Detect and make sure this test must be executed on a multi-process system
is_mp || log_fail "This test requires a multi-processor system."
-log_must $CHMOD 777 $TESTDIR
-$MMAPWRITE $TESTDIR/test-write-file &
+log_must chmod 777 $TESTDIR
+mmapwrite $TESTDIR/test-write-file &
PID_MMAPWRITE=$!
-log_note "$MMAPWRITE $TESTDIR/test-write-file pid: $PID_MMAPWRITE"
-log_must $SLEEP 30
+log_note "mmapwrite $TESTDIR/test-write-file pid: $PID_MMAPWRITE"
+log_must sleep 30
-log_must $KILL -9 $PID_MMAPWRITE
-log_must $LS -l $TESTDIR/test-write-file
+log_must kill -9 $PID_MMAPWRITE
+log_must ls -l $TESTDIR/test-write-file
log_pass "write(2) a mmap(2)'ing file succeeded."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_must destroy_pool $TESTPOOL
for dir in $TESTDIRS; do
- $RM -rf $dir
+ rm -rf $dir
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
dir=$TESTDIR.$i
fs=$TESTPOOL/$TESTFS.$i
- log_must $ZFS create $fs
- log_must $MKDIR -p $dir
- log_must $ZFS set mountpoint=$dir $fs
+ log_must zfs create $fs
+ log_must mkdir -p $dir
+ log_must zfs set mountpoint=$dir $fs
log_must mounted $fs
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for fs in 1 2 3; do
log_must mounted $TESTDIR.$fs
- log_must $ZFS umount $TESTPOOL/$TESTFS.$fs
+ log_must zfs umount $TESTPOOL/$TESTFS.$fs
log_must unmounted $TESTDIR.$fs
- log_must $ZFS mount $TESTPOOL/$TESTFS.$fs
+ log_must zfs mount $TESTPOOL/$TESTFS.$fs
log_must mounted $TESTDIR.$fs
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# 3. Run umountall -n and verify the file systems it reports are in the list.
#
-log_must $ZFS mount -a
+log_must zfs mount -a
for fs in 1 2 3 ; do
log_must mounted $TESTPOOL/$TESTFS.$fs
done
zfs_list="/ /lib /sbin /tmp /usr /var /var/adm /var/run"
# Append our ZFS filesystems to the list, not worrying about duplicates.
-for fs in $($MOUNT -p | $AWK '{if ($4 == "zfs") print $3}'); do
+for fs in $(mount -p | awk '{if ($4 == "zfs") print $3}'); do
zfs_list="$zfs_list $fs"
done
fs=''
-for fs in $($UMOUNTALL -n -F zfs 2>&1 | $AWK '{print $2}'); do
+for fs in $(umountall -n -F zfs 2>&1 | awk '{print $2}'); do
for i in $zfs_list; do
[[ $fs = $i ]] && continue 2
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
[[ -f /var/tmp/exitsZero.ksh ]] && \
- log_must $RM -f /var/tmp/exitsZero.ksh
+ log_must rm -f /var/tmp/exitsZero.ksh
[[ -f /var/tmp/testbackgprocs.ksh ]] && \
- log_must $RM -f /var/tmp/testbackgprocs.ksh
+ log_must rm -f /var/tmp/testbackgprocs.ksh
ismounted $TESTPOOL/$TESTFS_TGT
-(( $? == 0 )) && log_must $ZFS umount $TESTPOOL/$TESTFS_TGT
-log_must $ZFS destroy $TESTPOOL/$TESTFS_TGT
+(( $? == 0 )) && log_must zfs umount $TESTPOOL/$TESTFS_TGT
+log_must zfs destroy $TESTPOOL/$TESTFS_TGT
-[[ -d $TESTDIR_TGT ]] && log_must $RM -rf $TESTDIR_TGT
+[[ -d $TESTDIR_TGT ]] && log_must rm -rf $TESTDIR_TGT
default_cleanup
export DISK=${DISKS%% *}
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set_device_dir
export TESTFILE=testfile
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
PIDS=""
- $RM -f $OLDDIR/* >/dev/null 2>&1
- $RM -f $NEWDIR_IN_FS/* >/dev/null 2>&1
+ rm -f $OLDDIR/* >/dev/null 2>&1
+ rm -f $NEWDIR_IN_FS/* >/dev/null 2>&1
}
log_assert "Doing a 'mv' of a large amount of files within a zfs filesystem" \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
PIDS=""
- $RM -f $OLDDIR/* >/dev/null 2>&1
- $RM -f $NEWDIR_ACROSS_FS/* >/dev/null 2>&1
+ rm -f $OLDDIR/* >/dev/null 2>&1
+ rm -f $NEWDIR_ACROSS_FS/* >/dev/null 2>&1
}
log_assert "Doing a 'mv' of a large amount of files across two zfs filesystems" \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/mv_files/mv_files.cfg
#
function check_bg_procs_limit_num
{
-$ECHO "#!/bin/ksh" > /var/tmp/exitsZero.ksh
-$ECHO "exit 0" >> /var/tmp/exitsZero.ksh
-$CHMOD 777 /var/tmp/exitsZero.ksh
+echo "#!/bin/ksh" > /var/tmp/exitsZero.ksh
+echo "exit 0" >> /var/tmp/exitsZero.ksh
+chmod 777 /var/tmp/exitsZero.ksh
-$CAT <<EOF > /var/tmp/testbackgprocs.ksh
+cat <<EOF > /var/tmp/testbackgprocs.ksh
#!/bin/ksh
#
# exitsZero.ksh is a one line script
(( i = i + 1 ))
done
-\$SLEEP 1
+\sleep 1
for pid in \$PIDS
do
- \$WAIT \$pid
+ \wait \$pid
(( \$? == 127 )) && exit 1
done
exit 0
EOF
-$KSH /var/tmp/testbackgprocs.ksh
+ksh /var/tmp/testbackgprocs.ksh
if [[ $? -eq 1 ]]; then
#
# Current ksh being executed has a limit
reexport_pool
fi
- $RM -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
- $MKDIR -p $TESTDIR || log_unresolved Could not create $TESTDIR
+ rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
+ mkdir -p $TESTDIR || log_unresolved Could not create $TESTDIR
- $RM -rf $TESTDIR_TGT || log_unresolved Could not remove $TESTDIR_TGT
- $MKDIR -p $TESTDIR_TGT || log_unresolved Could not create $TESTDIR_TGT
+ rm -rf $TESTDIR_TGT || log_unresolved Could not remove $TESTDIR_TGT
+ mkdir -p $TESTDIR_TGT || log_unresolved Could not create $TESTDIR_TGT
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS_TGT
- log_must $ZFS set mountpoint=$TESTDIR_TGT $TESTPOOL/$TESTFS_TGT
+ log_must zfs create $TESTPOOL/$TESTFS_TGT
+ log_must zfs set mountpoint=$TESTDIR_TGT $TESTPOOL/$TESTFS_TGT
- $MKDIR -p $OLDDIR || log_unresolved Could not create $OLDDIR
- $MKDIR -p $NEWDIR_IN_FS || log_unresolved Could not create $NEWDIR_IN_FS
- $MKDIR -p $NEWDIR_ACROSS_FS || log_unresolved Could not create $NEWDIR_ACROSS_FS
+ mkdir -p $OLDDIR || log_unresolved Could not create $OLDDIR
+ mkdir -p $NEWDIR_IN_FS || log_unresolved Could not create $NEWDIR_IN_FS
+ mkdir -p $NEWDIR_ACROSS_FS || log_unresolved Could not create $NEWDIR_ACROSS_FS
}
{
for pid in $1
do
- $PS -e | $GREP $pid >/dev/null 2>&1
- (( $? == 0 )) && $WAIT $pid
+ ps -e | grep $pid >/dev/null 2>&1
+ (( $? == 0 )) && wait $pid
done
}
while (( count <= $2 ))
do
- $CP /etc/passwd $1/file_$count \
+ cp /etc/passwd $1/file_$count \
> /dev/null 2>&1 &
PIDS="$PIDS $!"
- proc_num=`$ECHO $PIDS | $WC -w`
+ proc_num=`echo $PIDS | wc -w`
if (( proc_num >= GANGPIDS )); then
wait_pid "$PIDS"
proc_num=0
function mv_files
{
- $FIND $1 -type f -print | xargs -i \
- $MV {} $2 > /dev/null 2>&1
+ find $1 -type f -print | xargs -i \
+ mv {} $2 > /dev/null 2>&1
}
#
function count_files
{
typeset -i file_num
- file_num=`$FIND $1 -type f -print | \
+ file_num=`find $1 -type f -print | \
wc -l`
(( file_num != $2 )) && \
log_fail "The file number of target directory"\
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Verify a nested file system can be created/destroyed."
-log_must $FILE_WRITE -o create -f $TESTDIR1/file -b 8192 -c 600 -d 0
-log_must $ZFS unmount $TESTDIR1
+log_must file_write -o create -f $TESTDIR1/file -b 8192 -c 600 -d 0
+log_must zfs unmount $TESTDIR1
log_note "Verify that a nested file system with a mounted file system "\
"cannot be destroyed."
-log_mustnot $ZFS destroy $TESTPOOL/$TESTCTR
+log_mustnot zfs destroy $TESTPOOL/$TESTCTR
log_pass "A nested file system was successfully populated."
# Use is subject to license terms.
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
ismounted "$TESTPOOL/$TESTFS"
(( $? == 0 )) && \
- log_must $ZFS umount $TESTDIR
+ log_must zfs umount $TESTDIR
destroy_pool $TESTPOOL
export DATA=0
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set_device_dir
# Use is subject to license terms.
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_onexit cleanup
log_assert "ENOSPC is returned when file system is full."
-log_must $ZFS set compression=off $TESTPOOL/$TESTFS
+log_must zfs set compression=off $TESTPOOL/$TESTFS
log_note "Writing file: $TESTFILE0 until ENOSPC."
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
+file_write -o create -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
ret=$?
log_fail "$TESTFILE0 returned: $ret rather than ENOSPC."
log_note "Write another file: $TESTFILE1 but expect ENOSPC."
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCKSZ \
+file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
ret=$?
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "ENOSPC is returned when file system is full."
sync
-log_must $ZFS set compression=off $TESTPOOL/$TESTFS
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap
+log_must zfs set compression=off $TESTPOOL/$TESTFS
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap
log_note "Writing file: $TESTFILE0 until ENOSPC."
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
+file_write -o create -f $TESTDIR/$TESTFILE0 -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
ret=$?
(( $ret != $ENOSPC )) && \
log_fail "$TESTFILE0 returned: $ret rather than ENOSPC."
-log_mustnot_expect space $ZFS create $TESTPOOL/$TESTFS/subfs
-log_mustnot_expect space $ZFS clone $TESTPOOL/$TESTFS@snap $TESTPOOL/clone
-log_mustnot_expect space $ZFS snapshot $TESTPOOL/$TESTFS@snap2
-log_mustnot_expect space $ZFS bookmark \
+log_mustnot_expect space zfs create $TESTPOOL/$TESTFS/subfs
+log_mustnot_expect space zfs clone $TESTPOOL/$TESTFS@snap $TESTPOOL/clone
+log_mustnot_expect space zfs snapshot $TESTPOOL/$TESTFS@snap2
+log_mustnot_expect space zfs bookmark \
$TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS#bookmark
-log_must $ZFS send $TESTPOOL/$TESTFS@snap >/tmp/stream.$$
-log_mustnot_expect space $ZFS receive $TESTPOOL/$TESTFS/recvd </tmp/stream.$$
+log_must zfs send $TESTPOOL/$TESTFS@snap >/tmp/stream.$$
+log_mustnot_expect space zfs receive $TESTPOOL/$TESTFS/recvd </tmp/stream.$$
log_must rm /tmp/stream.$$
-log_must $ZFS rename $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS@snap_newname
-log_must $ZFS rename $TESTPOOL/$TESTFS@snap_newname $TESTPOOL/$TESTFS@snap
-log_must $ZFS rename $TESTPOOL/$TESTFS $TESTPOOL/${TESTFS}_newname
-log_must $ZFS rename $TESTPOOL/${TESTFS}_newname $TESTPOOL/$TESTFS
-log_must $ZFS allow staff snapshot $TESTPOOL/$TESTFS
-log_must $ZFS unallow staff snapshot $TESTPOOL/$TESTFS
-log_must $ZFS set user:prop=value $TESTPOOL/$TESTFS
-log_must $ZFS set quota=1EB $TESTPOOL/$TESTFS
-log_must $ZFS set quota=none $TESTPOOL/$TESTFS
-log_must $ZFS set reservation=1KB $TESTPOOL/$TESTFS
-log_must $ZFS set reservation=none $TESTPOOL/$TESTFS
-log_must $ZPOOL scrub $TESTPOOL
-$ZPOOL scrub -s $TESTPOOL
-log_must $ZPOOL set comment="Use the force, Luke." $TESTPOOL
-log_must $ZPOOL set comment="" $TESTPOOL
+log_must zfs rename $TESTPOOL/$TESTFS@snap $TESTPOOL/$TESTFS@snap_newname
+log_must zfs rename $TESTPOOL/$TESTFS@snap_newname $TESTPOOL/$TESTFS@snap
+log_must zfs rename $TESTPOOL/$TESTFS $TESTPOOL/${TESTFS}_newname
+log_must zfs rename $TESTPOOL/${TESTFS}_newname $TESTPOOL/$TESTFS
+log_must zfs allow staff snapshot $TESTPOOL/$TESTFS
+log_must zfs unallow staff snapshot $TESTPOOL/$TESTFS
+log_must zfs set user:prop=value $TESTPOOL/$TESTFS
+log_must zfs set quota=1EB $TESTPOOL/$TESTFS
+log_must zfs set quota=none $TESTPOOL/$TESTFS
+log_must zfs set reservation=1KB $TESTPOOL/$TESTFS
+log_must zfs set reservation=none $TESTPOOL/$TESTFS
+log_must zpool scrub $TESTPOOL
+zpool scrub -s $TESTPOOL
+log_must zpool set comment="Use the force, Luke." $TESTPOOL
+log_must zpool set comment="" $TESTPOOL
# destructive tests must come last
-log_must $ZFS rollback $TESTPOOL/$TESTFS@snap
-log_must $ZFS destroy $TESTPOOL/$TESTFS@snap
+log_must zfs rollback $TESTPOOL/$TESTFS@snap
+log_must zfs destroy $TESTPOOL/$TESTFS@snap
log_pass "ENOSPC returned as expected."
log_must set_partition 0 "" $SIZE $DISK
if is_linux; then
- if ( is_mpath_device $DISK ) && [[ -z $($ECHO $DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $DISK ) && [[ -z $(echo $DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $DISK ); then
default_setup $DISK"1"
elif ( is_mpath_device $DISK || is_loop_device $DISK ); then
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/math.shlib
typeset low=1
typeset high=99
- $SYNC
+ sync
for i in origin snap clone; do
for j in used refer usedbychildren written; do
typeset ${i}_$j=$(get_prop $j $(eval echo \$$i))
# The comparisons below should pass regardless of nopwrite. They're
# here for sanity.
#
- typeset deadlist=$($ZDB -Pddd $clone | $AWK '/Deadlist:/ {print $2}')
+ typeset deadlist=$(zdb -Pddd $clone | awk '/Deadlist:/ {print $2}')
within_percent $deadlist $clone_written $high || return 1
within_percent $snap_refer $snap_written $high || return 1
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite requires copies property to remain constant"
# Verify nopwrite is disabled with increased redundancy
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
-$ZFS set copies=3 $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
+zfs set copies=3 $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
# Verify nopwrite is disabled with decreased redundancy
-$ZFS destroy -R $origin || log_fail "Couldn't destroy $origin"
-$ZFS create -o mountpoint=$TESTDIR $origin || \
+zfs destroy -R $origin || log_fail "Couldn't destroy $origin"
+zfs create -o mountpoint=$TESTDIR $origin || \
log_fail "Couldn't recreate $origin"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set copies=3 $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set copies=3 $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
-$ZFS set copies=1 $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
+zfs set copies=1 $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite updates file metadata correctly"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
if is_linux; then
o_atime=$(stat -c %X $TESTDIR/clone/file)
o_ctime=$(stat -c %Z $TESTDIR/clone/file)
o_mtime=$(stat -c %Y $TESTDIR/clone/file)
else
- o_atime=$($LS -E% all $TESTDIR/clone/file | $AWK '/atime/ {print $4}')
- o_ctime=$($LS -E% all $TESTDIR/clone/file | $AWK '/ctime/ {print $4}')
- o_mtime=$($LS -E% all $TESTDIR/clone/file | $AWK '/mtime/ {print $4}')
+ o_atime=$(ls -E% all $TESTDIR/clone/file | awk '/atime/ {print $4}')
+ o_ctime=$(ls -E% all $TESTDIR/clone/file | awk '/ctime/ {print $4}')
+ o_mtime=$(ls -E% all $TESTDIR/clone/file | awk '/mtime/ {print $4}')
fi
-$SLEEP 1
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+sleep 1
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
-$SLEEP 1
+sleep 1
if is_linux; then
atime=$(stat -c %X $TESTDIR/clone/file)
ctime=$(stat -c %Z $TESTDIR/clone/file)
mtime=$(stat -c %Y $TESTDIR/clone/file)
else
- atime=$($LS -E% all $TESTDIR/clone/file | $AWK '/atime/ {print $4}')
- ctime=$($LS -E% all $TESTDIR/clone/file | $AWK '/ctime/ {print $4}')
- mtime=$($LS -E% all $TESTDIR/clone/file | $AWK '/mtime/ {print $4}')
+ atime=$(ls -E% all $TESTDIR/clone/file | awk '/atime/ {print $4}')
+ ctime=$(ls -E% all $TESTDIR/clone/file | awk '/ctime/ {print $4}')
+ mtime=$(ls -E% all $TESTDIR/clone/file | awk '/mtime/ {print $4}')
fi
[[ $o_atime = $atime ]] || log_fail "atime changed: $o_atime $atime"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite isn't enabled without the prerequisites"
# Data written into origin fs without compression or sha256
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd of $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone -o compress=on $origin@a $origin/clone
-log_must $ZFS set checksum=sha256 $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone -o compress=on $origin@a $origin/clone
+log_must zfs set checksum=sha256 $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
-$ZFS destroy -R $origin@a || log_fail "zfs destroy failed"
-log_must $RM -f $TESTDIR/file
+zfs destroy -R $origin@a || log_fail "zfs destroy failed"
+log_must rm -f $TESTDIR/file
# Data written to origin fs before checksum enabled
-log_must $ZFS set compress=on $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-log_must $ZFS set checksum=sha256 $origin
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+log_must zfs set checksum=sha256 $origin
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
-$ZFS destroy -R $origin@a || log_fail "zfs destroy failed"
-log_must $RM -f $TESTDIR/file
+zfs destroy -R $origin@a || log_fail "zfs destroy failed"
+log_must rm -f $TESTDIR/file
# Clone with compression=off
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone -o compress=off $origin@a $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone -o compress=off $origin@a $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
-$ZFS destroy -R $origin@a || log_fail "zfs destroy failed"
-log_must $RM -f $TESTDIR/file
+zfs destroy -R $origin@a || log_fail "zfs destroy failed"
+log_must rm -f $TESTDIR/file
# Clone with fletcher4, rather than sha256
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone -o checksum=fletcher4 $origin@a $origin/clone
-$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone -o checksum=fletcher4 $origin@a $origin/clone
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_mustnot verify_nopwrite $origin $origin@a $origin/clone
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $TESTPOOL/clone
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $TESTPOOL/clone
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite works on a dataset that becomes a clone via promotion."
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $TESTPOOL/clone
-log_must $ZFS set compress=off $TESTPOOL/clone
-log_must $ZFS set checksum=off $TESTPOOL/clone
-log_must $ZFS promote $TESTPOOL/clone
-$DD if=/$TESTPOOL/clone/file of=/$TESTDIR/file bs=1024k count=$MEGS \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $TESTPOOL/clone
+log_must zfs set compress=off $TESTPOOL/clone
+log_must zfs set checksum=off $TESTPOOL/clone
+log_must zfs promote $TESTPOOL/clone
+dd if=/$TESTPOOL/clone/file of=/$TESTDIR/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_must verify_nopwrite $TESTPOOL/clone $TESTPOOL/clone@a $origin
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite updates file metadata correctly"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
for rs in 512 1024 2048 4096 8192 16384 32768 65536 131072 ; do
- log_must $ZFS set recsize=$rs $origin/clone
- $DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+ log_must zfs set recsize=$rs $origin/clone
+ dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/tmp/null 2>&1 || log_fail "dd failed."
log_must verify_nopwrite $origin $origin@a $origin/clone
done
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite works for sync writes"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$GNUDD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS oflag=sync \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS oflag=sync \
conv=notrunc >/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $origin/clone
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $origin/clone
-$GNUDD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
oflag=sync conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_must verify_nopwrite $origin $origin@a $origin/clone
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
- log_must $ZFS create -o mountpoint=$TESTDIR $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
+ log_must zfs create -o mountpoint=$TESTDIR $origin
}
log_assert "nopwrite works with sha256 and any compression algorithm"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
>/dev/null 2>&1 || log_fail "initial dd failed."
# Verify nop_write for 4 random compression algorithms
for i in $(get_rand_compress 4); do
- $ZFS snapshot $origin@a || log_fail "zfs snap failed"
- log_must $ZFS clone -o compress=$i $origin@a $origin/clone
- $DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
+ zfs snapshot $origin@a || log_fail "zfs snap failed"
+ log_must zfs clone -o compress=$i $origin@a $origin/clone
+ dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
log_must verify_nopwrite $origin $origin@a $origin/clone
- $ZFS destroy -R $origin@a || log_fail "zfs destroy failed"
+ zfs destroy -R $origin@a || log_fail "zfs destroy failed"
done
log_pass "nopwrite works with sha256 and any compression algorithm"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $origin && log_must $ZFS destroy -R $origin
+ datasetexists $origin && log_must zfs destroy -R $origin
# No need to recreate the volume as no other tests expect it.
}
log_assert "nopwrite works on volumes"
-log_must $ZFS set compress=on $origin
-log_must $ZFS set checksum=sha256 $origin
-$DD if=/dev/urandom of=$vol bs=8192 count=4096 conv=notrunc >/dev/null \
+log_must zfs set compress=on $origin
+log_must zfs set checksum=sha256 $origin
+dd if=/dev/urandom of=$vol bs=8192 count=4096 conv=notrunc >/dev/null \
2>&1 || log_fail "dd into $origin failed."
-$ZFS snapshot $origin@a || log_fail "zfs snap failed"
-log_must $ZFS clone $origin@a $clone
-log_must $ZFS set compress=on $clone
-log_must $ZFS set checksum=sha256 $clone
-$DD if=$vol of=$volclone bs=8192 count=4096 conv=notrunc >/dev/null 2>&1 || \
+zfs snapshot $origin@a || log_fail "zfs snap failed"
+log_must zfs clone $origin@a $clone
+log_must zfs set compress=on $clone
+log_must zfs set checksum=sha256 $clone
+dd if=$vol of=$volclone bs=8192 count=4096 conv=notrunc >/dev/null 2>&1 || \
log_fail "dd into $clone failed."
log_must verify_nopwrite $origin $origin@a $clone
export STF_TIMEOUT=3600
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set_device_dir
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Ensure we don't leave disks in the offline state
#
for disk in $DISKLIST; do
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "Unable to online $disk"
done
- $KILL $killpid >/dev/null 2>&1
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ kill $killpid >/dev/null 2>&1
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Turning a disk offline and back online during I/O completes."
-$FILE_TRUNC -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
+file_trunc -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
typeset killpid="$! "
for disk in $DISKLIST; do
for i in 'do_offline' 'do_offline_while_already_offline'; do
- log_must $ZPOOL offline $TESTPOOL $disk
+ log_must zpool offline $TESTPOOL $disk
check_state $TESTPOOL $disk "offline"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL is not offline."
fi
done
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "$disk of $TESTPOOL did not match online state"
fi
done
-log_must $KILL $killpid
-$SYNC
+log_must kill $killpid
+sync
typeset dir=$(get_device_dir $DISKS)
verify_filesys "$TESTPOOL" "$TESTPOOL/$TESTFS" "$dir"
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Ensure we don't leave disks in the offline state
#
for disk in $DISKLIST; do
- log_must $ZPOOL online $TESTPOOL $disk
+ log_must zpool online $TESTPOOL $disk
check_state $TESTPOOL $disk "online"
if [[ $? != 0 ]]; then
log_fail "Unable to online $disk"
done
- $KILL $killpid >/dev/null 2>&1
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ kill $killpid >/dev/null 2>&1
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Turning both disks offline should fail."
log_onexit cleanup
-$FILE_TRUNC -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
+file_trunc -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
typeset killpid="$! "
disks=($DISKLIST)
# all but one vdev offlined, whereas with raidz there can be only one.
#
pooltype='mirror'
-$ZPOOL list -v $TESTPOOL | $GREP raidz >/dev/null 2>&1 && pooltype='raidz'
+zpool list -v $TESTPOOL | grep raidz >/dev/null 2>&1 && pooltype='raidz'
typeset -i i=0
while [[ $i -lt ${#disks[*]} ]]; do
typeset -i j=0
if [[ $pooltype = 'mirror' ]]; then
# Hold one disk online, verify the others can be offlined.
- log_must $ZPOOL online $TESTPOOL ${disks[$i]}
+ log_must zpool online $TESTPOOL ${disks[$i]}
check_state $TESTPOOL ${disks[$i]} "online" || \
log_fail "Failed to set ${disks[$i]} online"
while [[ $j -lt ${#disks[*]} ]]; do
((j++))
continue
fi
- log_must $ZPOOL offline $TESTPOOL ${disks[$j]}
+ log_must zpool offline $TESTPOOL ${disks[$j]}
check_state $TESTPOOL ${disks[$j]} "offline" || \
log_fail "Failed to set ${disks[$j]} offline"
((j++))
done
elif [[ $pooltype = 'raidz' ]]; then
# Hold one disk offline, verify the others can't be offlined.
- log_must $ZPOOL offline $TESTPOOL ${disks[$i]}
+ log_must zpool offline $TESTPOOL ${disks[$i]}
check_state $TESTPOOL ${disks[$i]} "offline" || \
log_fail "Failed to set ${disks[$i]} offline"
while [[ $j -lt ${#disks[*]} ]]; do
((j++))
continue
fi
- log_mustnot $ZPOOL offline $TESTPOOL ${disks[$j]}
+ log_mustnot zpool offline $TESTPOOL ${disks[$j]}
check_state $TESTPOOL ${disks[$j]} "online" || \
log_fail "Failed to set ${disks[$j]} online"
check_state $TESTPOOL ${disks[$i]} "offline" || \
log_fail "Failed to set ${disks[$i]} offline"
((j++))
done
- log_must $ZPOOL online $TESTPOOL ${disks[$i]}
+ log_must zpool online $TESTPOOL ${disks[$i]}
check_state $TESTPOOL ${disks[$i]} "online" || \
log_fail "Failed to set ${disks[$i]} online"
fi
((i++))
done
-log_must $KILL $killpid
-$SYNC
+log_must kill $killpid
+sync
typeset dir=$(get_device_dir $DISKS)
verify_filesys "$TESTPOOL" "$TESTPOOL/$TESTFS" "$dir"
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
destroy_pool $TESTPOOL1
fi
- $KILL $killpid >/dev/null 2>&1
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ kill $killpid >/dev/null 2>&1
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Offlining disks in a non-redundant pool should fail."
specials_list=""
for i in 0 1 2; do
- $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
+ mkfile $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
done
disk=($specials_list)
create_pool $TESTPOOL1 $specials_list
-log_must $ZFS create $TESTPOOL1/$TESTFS1
-log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+log_must zfs create $TESTPOOL1/$TESTFS1
+log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
-$FILE_TRUNC -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
+file_trunc -f $((64 * 1024 * 1024)) -b 8192 -c 0 -r $TESTDIR/$TESTFILE1 &
typeset killpid="$! "
for i in 0 1 2; do
- log_mustnot $ZPOOL offline $TESTPOOL1 ${disk[$i]}
+ log_mustnot zpool offline $TESTPOOL1 ${disk[$i]}
check_state $TESTPOOL1 ${disk[$i]} "online"
done
-log_must $KILL $killpid
-$SYNC
+log_must kill $killpid
+sync
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if [[ -n $name ]] && poolexists $name ; then
- log_must $ZPOOL destroy $name
+ log_must zpool destroy $name
fi
if [[ -d $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
fi
}
DISK=${DISKS%% *}
if [[ ! -e $TESTDIR ]]; then
- log_must $MKDIR $TESTDIR
+ log_must mkdir $TESTDIR
fi
log_note "Ensure letters of the alphabet are allowable"
a b c d e f g h i j k l m \
n o p q r s t u v w x y z
do
- log_must $ZPOOL create -m $TESTDIR $name $DISK
+ log_must zpool create -m $TESTDIR $name $DISK
if ! poolexists $name; then
log_fail "Could not create a pool called '$name'"
fi
- log_must $ZPOOL destroy $name
+ log_must zpool destroy $name
done
log_note "Ensure a variety of unusual names passes"
"spar3-p00l" "hiddenmirrorpool" "hiddenraidzpool" \
"hiddensparepool"
do
- log_must $ZPOOL create -m $TESTDIR $name $DISK
+ log_must zpool create -m $TESTDIR $name $DISK
if ! poolexists $name; then
log_fail "Could not create a pool called '$name'"
fi
# Since the naming convention applies to datasets too,
# create datasets with the same names as above.
#
- log_must $ZFS create $name/$name
- log_must $ZFS snapshot $name/$name@$name
- log_must $ZFS clone $name/$name@$name $name/clone_$name
- log_must $ZFS create -V 150m $name/$name/$name
+ log_must zfs create $name/$name
+ log_must zfs snapshot $name/$name@$name
+ log_must zfs clone $name/$name@$name $name/clone_$name
+ log_must zfs create -V 150m $name/$name/$name
block_device_wait
- log_must $ZPOOL destroy $name
+ log_must zpool destroy $name
done
log_pass "Valid pool names were accepted correctly."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if poolexists $POOLNAME; then
- log_must $ZPOOL destroy $POOLNAME
+ log_must zpool destroy $POOLNAME
fi
if [[ -d $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR
+ log_must rm -rf $TESTDIR
fi
}
log_onexit cleanup
-typeset exclude=`eval $ECHO \"'(${KEEP})'\"`
-for pool in $($ZPOOL list -H -o name | \
- $EGREP -v "$exclude" | \
- $GREP -v "$TESTPOOL" | \
- $EGREP -v "$NO_POOLS"); do
- log_must $ZPOOL destroy $pool
+typeset exclude=`eval echo \"'(${KEEP})'\"`
+for pool in $(zpool list -H -o name | \
+ egrep -v "$exclude" | \
+ grep -v "$TESTPOOL" | \
+ egrep -v "$NO_POOLS"); do
+ log_must zpool destroy $pool
done
DISK=${DISKS%% *}
if [[ ! -e $TESTDIR ]]; then
- log_must $MKDIR $TESTDIR
+ log_must mkdir $TESTDIR
fi
log_note "Ensure invalid characters fail"
":" ";" "<" "=" ">" "\?" "@" \
"[" "]" "^" "_" "\`" "{" "|" "}" "~"
do
- log_mustnot $ZPOOL create -m $TESTDIR $POOLNAME $DISK
+ log_mustnot zpool create -m $TESTDIR $POOLNAME $DISK
if poolexists $POOLNAME; then
log_fail "Unexpectedly created pool: '$POOLNAME'"
fi
- log_mustnot $ZPOOL destroy $POOLNAME
+ log_mustnot zpool destroy $POOLNAME
done
log_note "Check that invalid octal values fail"
"\040" "\177"
do
POOLNAME=`eval "echo x | tr 'x' '$oct'"`
- log_mustnot $ZPOOL create -m $TESTDIR $POOLNAME $DISK
+ log_mustnot zpool create -m $TESTDIR $POOLNAME $DISK
if poolexists $POOLNAME; then
log_fail "Unexpectedly created pool: '$POOLNAME'"
fi
- log_mustnot $ZPOOL destroy $POOLNAME
+ log_mustnot zpool destroy $POOLNAME
done
log_note "Verify invalid pool names fail"
fi
typeset -i i=0
while ((i < ${#POOLNAME[@]})); do
- log_mustnot $ZPOOL create -m $TESTDIR ${POOLNAME[$i]} $DISK
+ log_mustnot zpool create -m $TESTDIR ${POOLNAME[$i]} $DISK
if poolexists ${POOLNAME[$i]}; then
log_fail "Unexpectedly created pool: '${POOLNAME[$i]}'"
fi
- log_mustnot $ZPOOL destroy ${POOLNAME[$i]}
+ log_mustnot zpool destroy ${POOLNAME[$i]}
((i += 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-log_must $ZPOOL destroy $TESTPOOL
-log_must $ZPOOL destroy $TESTPOOL2
+log_must zpool destroy $TESTPOOL
+log_must zpool destroy $TESTPOOL2
-log_must $RM /tmp/zpool_version_1.dat
-log_must $RM /tmp/zpool2_version_1.dat
+log_must rm /tmp/zpool_version_1.dat
+log_must rm /tmp/zpool2_version_1.dat
default_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool set version can upgrade a pool"
for version in 1 2 3 4 5 6 7 8
do
- log_must $ZPOOL set version=$version $TESTPOOL
- ACTUAL=$($ZPOOL get version $TESTPOOL | $GREP version \
- | $AWK '{print $3}')
+ log_must zpool set version=$version $TESTPOOL
+ ACTUAL=$(zpool get version $TESTPOOL | grep version \
+ | awk '{print $3}')
if [ "$ACTUAL" != "$version" ]
then
log_fail "v. $ACTUAL set for $TESTPOOL, expected v. $version!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
log_assert "zpool set version can only increment pool version"
-log_must $ZPOOL set version=6 $TESTPOOL2
+log_must zpool set version=6 $TESTPOOL2
# verify it's actually that version - by checking the version property
# and also by trying to set bootfs (which should fail if it is not version 6)
-VERSION=$($ZPOOL get version $TESTPOOL2| $GREP version | $AWK '{print $3}')
+VERSION=$(zpool get version $TESTPOOL2| grep version | awk '{print $3}')
if [ "$VERSION" != "6" ]
then
log_fail "Version $VERSION set for $TESTPOOL2 expected version 6!"
fi
-log_must $ZPOOL set bootfs=$TESTPOOL2 $TESTPOOL2
+log_must zpool set bootfs=$TESTPOOL2 $TESTPOOL2
# now verify we can't downgrade the version
-log_mustnot $ZPOOL set version=5 $TESTPOOL2
-log_mustnot $ZPOOL set version=-1 $TESTPOOL2
+log_mustnot zpool set version=5 $TESTPOOL2
+log_mustnot zpool set version=-1 $TESTPOOL2
# verify the version is still 6
-VERSION=$($ZPOOL get version $TESTPOOL2 | $GREP version | $AWK '{print $3}')
+VERSION=$(zpool get version $TESTPOOL2 | grep version | awk '{print $3}')
if [ "$VERSION" != "6" ]
then
log_fail "Version $VERSION set for $TESTPOOL2, expected version 6!"
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
# create a version 1 pool
-log_must $MKFILE $MINVDEVSIZE /tmp/zpool_version_1.dat
-log_must $ZPOOL create -o version=1 $TESTPOOL /tmp/zpool_version_1.dat
+log_must mkfile $MINVDEVSIZE /tmp/zpool_version_1.dat
+log_must zpool create -o version=1 $TESTPOOL /tmp/zpool_version_1.dat
# create another version 1 pool
-log_must $MKFILE $MINVDEVSIZE /tmp/zpool2_version_1.dat
-log_must $ZPOOL create -o version=1 $TESTPOOL2 /tmp/zpool2_version_1.dat
+log_must mkfile $MINVDEVSIZE /tmp/zpool2_version_1.dat
+log_must zpool create -o version=1 $TESTPOOL2 /tmp/zpool2_version_1.dat
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-ZFS_USER=$($CAT /tmp/zfs-privs-test-user.txt)
-USES_NIS=$($CAT /tmp/zfs-privs-test-nis.txt)
+ZFS_USER=$(cat /tmp/zfs-privs-test-user.txt)
+USES_NIS=$(cat /tmp/zfs-privs-test-nis.txt)
if [ "${USES_NIS}" == "true" ]
then
- $SVCADM enable svc:/network/nis/client:default
+ svcadm enable svc:/network/nis/client:default
fi
-$USERDEL $ZFS_USER
-[[ -d /export/home/$ZFS_USER ]] && $RM -rf /export/home/$ZFS_USER
-$RM /tmp/zfs-privs-test-nis.txt
-$RM /tmp/zfs-privs-test-user.txt
+userdel $ZFS_USER
+[[ -d /export/home/$ZFS_USER ]] && rm -rf /export/home/$ZFS_USER
+rm /tmp/zfs-privs-test-nis.txt
+rm /tmp/zfs-privs-test-user.txt
default_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "The RBAC profile \"ZFS Storage Management\" works"
-ZFS_USER=$($CAT /tmp/zfs-privs-test-user.txt)
+ZFS_USER=$(cat /tmp/zfs-privs-test-user.txt)
# the user shouldn't be able to do anything initially
-log_mustnot $SU $ZFS_USER -c "$ZPOOL create $TESTPOOL $DISKS"
-log_mustnot $SU $ZFS_USER -c "$PFEXEC $ZPOOL create $TESTPOOL $DISKS"
+log_mustnot su $ZFS_USER -c "zpool create $TESTPOOL $DISKS"
+log_mustnot su $ZFS_USER -c "pfexec zpool create $TESTPOOL $DISKS"
# the first time we assign the profile, we insist it should work
-log_must $USERMOD -P "ZFS Storage Management" $ZFS_USER
-log_must $SU $ZFS_USER -c "$PFEXEC $ZPOOL create -f $TESTPOOL $DISKS"
+log_must usermod -P "ZFS Storage Management" $ZFS_USER
+log_must su $ZFS_USER -c "pfexec zpool create -f $TESTPOOL $DISKS"
# ensure the user can't create a filesystem with this profile
-log_mustnot $SU $ZFS_USER -c "$ZFS create $TESTPOOL/fs"
+log_mustnot su $ZFS_USER -c "zfs create $TESTPOOL/fs"
# add ZFS File System Management profile, and try to create a fs
-log_must $USERMOD -P "ZFS File System Management" $ZFS_USER
-log_must $SU $ZFS_USER -c "$PFEXEC $ZFS create $TESTPOOL/fs"
+log_must usermod -P "ZFS File System Management" $ZFS_USER
+log_must su $ZFS_USER -c "pfexec zfs create $TESTPOOL/fs"
# revoke File System Management profile
-$USERMOD -P, $ZFS_USER
-$USERMOD -P "ZFS Storage Management" $ZFS_USER
+usermod -P, $ZFS_USER
+usermod -P "ZFS Storage Management" $ZFS_USER
# ensure the user can destroy pools
-log_mustnot $SU $ZFS_USER -c "$ZPOOL destroy $TESTPOOL"
-log_must $SU $ZFS_USER -c "$PFEXEC $ZPOOL destroy $TESTPOOL"
+log_mustnot su $ZFS_USER -c "zpool destroy $TESTPOOL"
+log_must su $ZFS_USER -c "pfexec zpool destroy $TESTPOOL"
# revoke Storage Management profile
-$USERMOD -P, $ZFS_USER
-log_mustnot $SU $ZFS_USER -c "$PFEXEC $ZPOOL create -f $TESTPOOL $DISKS"
+usermod -P, $ZFS_USER
+log_mustnot su $ZFS_USER -c "pfexec zpool create -f $TESTPOOL $DISKS"
log_pass "The RBAC profile \"ZFS Storage Management\" works"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "The RBAC profile \"ZFS File System Management\" works"
-ZFS_USER=$($CAT /tmp/zfs-privs-test-user.txt)
+ZFS_USER=$(cat /tmp/zfs-privs-test-user.txt)
# Set a $DATASET where we can create child files systems
if is_global_zone; then
- log_must $ZPOOL create -f $TESTPOOL $DISKS
+ log_must zpool create -f $TESTPOOL $DISKS
DATASET=$TESTPOOL
else
DATASET=zonepool/zonectr0
fi
# A user shouldn't be able to create filesystems
-log_mustnot $SU $ZFS_USER -c "$ZFS create $DATASET/zfsprivfs"
+log_mustnot su $ZFS_USER -c "zfs create $DATASET/zfsprivfs"
# Insist this invocation of usermod works
-log_must $USERMOD -P "ZFS File System Management" $ZFS_USER
+log_must usermod -P "ZFS File System Management" $ZFS_USER
# Now try to create file systems as the user
-log_mustnot $SU $ZFS_USER -c "$ZFS create $DATASET/zfsprivfs"
-log_must $SU $ZFS_USER -c "$PFEXEC $ZFS create $DATASET/zfsprivfs"
+log_mustnot su $ZFS_USER -c "zfs create $DATASET/zfsprivfs"
+log_must su $ZFS_USER -c "pfexec zfs create $DATASET/zfsprivfs"
# Ensure the user can't do anything to pools in this state:
-log_mustnot $SU $ZFS_USER -c "$ZPOOL destroy $DATASET"
-log_mustnot $SU $ZFS_USER -c "$PFEXEC $ZPOOL destroy $DATASET"
+log_mustnot su $ZFS_USER -c "zpool destroy $DATASET"
+log_mustnot su $ZFS_USER -c "pfexec zpool destroy $DATASET"
# revoke File System Management profile
-$USERMOD -P, $ZFS_USER
+usermod -P, $ZFS_USER
# Ensure the user can't create more filesystems
-log_mustnot $SU $ZFS_USER -c "$ZFS create $DATASET/zfsprivfs2"
-log_mustnot $SU $ZFS_USER -c "$PFEXEC $ZFS create $DATASET/zfsprivfs2"
+log_mustnot su $ZFS_USER -c "zfs create $DATASET/zfsprivfs2"
+log_mustnot su $ZFS_USER -c "pfexec zfs create $DATASET/zfsprivfs2"
# assign the profile again and destroy the fs.
-$USERMOD -P "ZFS File System Management" $ZFS_USER
-log_must $SU $ZFS_USER -c "$PFEXEC $ZFS destroy $DATASET/zfsprivfs"
-$USERMOD -P, $ZFS_USER
+usermod -P "ZFS File System Management" $ZFS_USER
+log_must su $ZFS_USER -c "pfexec zfs destroy $DATASET/zfsprivfs"
+usermod -P, $ZFS_USER
log_pass "The RBAC profile \"ZFS File System Management\" works"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# if we're running NIS, turn it off until we clean up
# (it can cause useradd to take a long time, hitting our TIMEOUT)
-$SVCS svc:/network/nis/client:default | $GREP online > /dev/null
+svcs svc:/network/nis/client:default | grep online > /dev/null
if [ $? -eq 0 ]
then
- $SVCADM disable svc:/network/nis/client:default
+ svcadm disable svc:/network/nis/client:default
USES_NIS=true
fi
fi
done
-log_must $MKDIR -p /export/home/$ZFS_USER
-log_must $USERADD -c "ZFS Privileges Test User" -d /export/home/$ZFS_USER $ZFS_USER
+log_must mkdir -p /export/home/$ZFS_USER
+log_must useradd -c "ZFS Privileges Test User" -d /export/home/$ZFS_USER $ZFS_USER
echo $ZFS_USER > /tmp/zfs-privs-test-user.txt
echo $USES_NIS > /tmp/zfs-privs-test-nis.txt
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/quota/quota.cfg
typeset FILESYSTEM="$1"
typeset MNTPT="$2"
- log_must $ZFS set quota=$QUOTA_VALUE $FILESYSTEM
+ log_must zfs set quota=$QUOTA_VALUE $FILESYSTEM
typeset -i write_size=0
(( write_size = 2 * QUOTA_VALUE ))
typeset -i zret=0
- $FILE_WRITE -o create -f $MNTPT/$TESTFILE1 -b $BLOCK_SIZE \
+ file_write -o create -f $MNTPT/$TESTFILE1 -b $BLOCK_SIZE \
-c $write_size -d 0
zret=$?
[[ $zret -ne $EDQUOT ]] && \
log_fail "Returned error code: $zret. Expected: $EDQUOT."
- typeset -i file_size=`$LS -lsk $MNTPT/$TESTFILE1 | $AWK '{ print $1 }'`
+ typeset -i file_size=`ls -lsk $MNTPT/$TESTFILE1 | awk '{ print $1 }'`
typeset -i limit=0
(( file_size = file_size * 1024 ))
(( limit = QUOTA_VALUE + TOLERANCE ))
# Writing a file without API to access return code
#
log_note "Creating a file in a FS that has already exceeded its quota"
- $FILE_WRITE -o create -f $MNTPT/$TESTFILE2 \
+ file_write -o create -f $MNTPT/$TESTFILE2 \
-b $BLOCK_SIZE -c $write_size -d 0
zret=$?
[[ $zret -ne $EDQUOT ]] && \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
[[ -e $TESTDIR/$TESTFILE1 ]] && \
- log_must $RM $TESTDIR/$TESTFILE1
+ log_must rm $TESTDIR/$TESTFILE1
#
# Need to allow time for space to be released back to
# pool, otherwise next test will fail trying to set a
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
[[ -e $TESTDIR/$TESTFILE1 ]] && \
- log_must $RM $TESTDIR/$TESTFILE1
+ log_must rm $TESTDIR/$TESTFILE1
[[ -e $TESTDIR/$TESTFILE2 ]] && \
- log_must $RM $TESTDIR/$TESTFILE2
+ log_must rm $TESTDIR/$TESTFILE2
}
log_onexit cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
[[ -e $TESTDIR1/$TESTFILE1 ]] && \
- log_must $RM $TESTDIR1/$TESTFILE1
+ log_must rm $TESTDIR1/$TESTFILE1
#
# Need to allow time for space to be released back to
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
[[ -e $TESTDIR1/$TESTFILE1 ]] && \
- log_must $RM $TESTDIR1/$TESTFILE1
+ log_must rm $TESTDIR1/$TESTFILE1
[[ -e $TESTDIR1/$TESTFILE2 ]] && \
- log_must $RM $TESTDIR1/$TESTFILE2
+ log_must rm $TESTDIR1/$TESTFILE2
}
log_onexit cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $fs_child && \
- log_must $ZFS destroy $fs_child
+ log_must zfs destroy $fs_child
- log_must $ZFS set quota=$quota_val $fs
+ log_must zfs set quota=$quota_val $fs
}
log_onexit cleanup
quota_val=$(get_prop quota $fs)
typeset -i quotasize=$space_avail
((quotasize = quotasize * 2 ))
-log_must $ZFS set quota=$quotasize $fs
+log_must zfs set quota=$quotasize $fs
-log_must $ZFS create $fs_child
+log_must zfs create $fs_child
quota_space=$(get_prop quota $fs_child)
[[ $quota_space == $quotasize ]] && \
log_fail "The quota of child dataset inherits its value from parent."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS set quota=none $TESTPOOL/$TESTFS
+ log_must zfs set quota=none $TESTPOOL/$TESTFS
}
log_onexit cleanup
for size in 0 -1 $quota_integer_size -$quota_integer_size $quota_fp_size -$quota_fp_size \
$invalid_size ; do
- log_mustnot $ZFS set quota=$size $TESTPOOL/$TESTFS
+ log_mustnot zfs set quota=$size $TESTPOOL/$TESTFS
done
-log_must $ZFS set quota=$space_used $TESTPOOL/$TESTFS
+log_must zfs set quota=$space_used $TESTPOOL/$TESTFS
log_pass "As expected cannot set quota lower than space currently in use"
# This option should make raidz_test to return non 0.
#
-log_mustnot $RAIDZ_TEST -T
+log_mustnot raidz_test -T
log_pass "raidz_test detects errors as espected."
# is set to 5min, but actual runtime might be longer.
#
-log_must $RAIDZ_TEST -S -t 300
+log_must raidz_test -S -t 300
log_pass "raidz_test parameter sweep test succeeded."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset dir
for dir in $TESTDIR $BASEDIR; do
if [[ -d $dir ]]; then
- log_must $RM -rf $dir
+ log_must rm -rf $dir
fi
done
}
fi
done
- $ECHO $value
+ echo $value
}
#
typeset recordfile=$2
[[ -z $pool ]] && log_fail "No specified pool."
- [[ -f $recordfile ]] && log_must $RM -f $recordfile
+ [[ -f $recordfile ]] && log_must rm -f $recordfile
typeset mntpnt
mntpnt=$(get_prop mountpoint $pool)
- log_must eval "$DU -a $mntpnt > $recordfile 2>&1"
+ log_must eval "du -a $mntpnt > $recordfile 2>&1"
#
# When the data was damaged, checksum is failing and return 1
# So, will not use log_must
#
- $FIND $mntpnt -type f -exec $CKSUM {} + >> $recordfile 2>&1
+ find $mntpnt -type f -exec cksum {} + >> $recordfile 2>&1
}
#
done
if [[ ! -d $BASEDIR ]]; then
- log_must $MKDIR $BASEDIR
+ log_must mkdir $BASEDIR
fi
if poolexists $pool ; then
destroy_pool $pool
fi
- log_must $MKFILE $MINVDEVSIZE $vdevs
+ log_must mkfile $MINVDEVSIZE $vdevs
- log_must $ZPOOL create -m $TESTDIR $pool $keyword $vdevs
+ log_must zpool create -m $TESTDIR $pool $keyword $vdevs
log_note "Filling up the filesystem ..."
typeset -i ret=0
typeset -i i=0
typeset file=$TESTDIR/file
- while $TRUE ; do
- $FILE_WRITE -o create -f $file.$i \
+ while true ; do
+ file_write -o create -f $file.$i \
-b $BLOCKSZ -c $NUM_WRITES
ret=$?
(( $ret != 0 )) && break
(( i = i + 1 ))
done
- (($ret != 28 )) && log_note "$FILE_WRITE return value($ret) is unexpected."
+ (($ret != 28 )) && log_note "file_write return value($ret) is unexpected."
record_data $TESTPOOL $PRE_RECORD_FILE
}
typeset pool=$1
typeset healthy_output="pool '$pool' is healthy"
- typeset real_output=$($ZPOOL status -x $pool)
+ typeset real_output=$(zpool status -x $pool)
if [[ "$real_output" == "$healthy_output" ]]; then
return 0
else
typeset -i ret
- $ZPOOL status -x $pool | $GREP "state:" | \
- $GREP "FAULTED" >/dev/null 2>&1
+ zpool status -x $pool | grep "state:" | \
+ grep "FAULTED" >/dev/null 2>&1
ret=$?
(( $ret == 0 )) && return 1
typeset l_scan
typeset errnum
- l_scan=$($ZPOOL status -x $pool | $GREP "scan:")
+ l_scan=$(zpool status -x $pool | grep "scan:")
l_scan=${l_scan##*"with"}
- errnum=$($ECHO $l_scan | $AWK '{print $1}')
+ errnum=$(echo $l_scan | awk '{print $1}')
return $errnum
fi
typeset pool=$1
record_data $pool $PST_RECORD_FILE
- if ! $DIFF $PRE_RECORD_FILE $PST_RECORD_FILE > /dev/null 2>&1; then
+ if ! diff $PRE_RECORD_FILE $PST_RECORD_FILE > /dev/null 2>&1; then
return 1
fi
typeset pool=$1
typeset -i cnt=$2
- typeset all_devs=$($ZPOOL iostat -v $pool | $AWK '{print $1}'| \
- $EGREP -v "^pool$|^capacity$|^mirror$|^raidz1$|^raidz2$|---" | \
- $EGREP -v "/old$|^$pool$")
+ typeset all_devs=$(zpool iostat -v $pool | awk '{print $1}'| \
+ egrep -v "^pool$|^capacity$|^mirror$|^raidz1$|^raidz2$|---" | \
+ egrep -v "/old$|^$pool$")
typeset -i i=0
typeset vdevs
while ((i < cnt)); do
- typeset dev=$($ECHO $all_devs | $AWK '{print $1}')
+ typeset dev=$(echo $all_devs | awk '{print $1}')
eval all_devs=\${all_devs##*$dev}
vdevs="$dev $vdevs"
((i += 1))
done
- $ECHO "$vdevs"
+ echo "$vdevs"
}
#
typeset vdev
for vdev in $@; do
- log_must $GNUDD if=/dev/zero of=$vdev \
+ log_must gnudd if=/dev/zero of=$vdev \
bs=1024k count=$(($MINDEVSIZE / (1024 * 1024))) \
oflag=fdatasync
- log_must $ZPOOL replace -f $pool $vdev $vdev
+ log_must zpool replace -f $pool $vdev $vdev
while true; do
if ! is_pool_resilvered $pool ; then
- log_must $SLEEP 2
+ log_must sleep 2
else
break
fi
typeset dev
if [[ -n $label ]]; then
for dev in $vdevs; do
- $DD if=/dev/zero of=$dev seek=512 bs=1024 \
+ dd if=/dev/zero of=$dev seek=512 bs=1024 \
count=$bs_count conv=notrunc >/dev/null 2>&1
done
else
for dev in $vdevs; do
- $DD if=/dev/zero of=$dev bs=1024 count=$bs_count \
+ dd if=/dev/zero of=$dev bs=1024 count=$bs_count \
conv=notrunc >/dev/null 2>&1
done
fi
{
typeset pool=$1
- log_must $ZPOOL clear $pool
+ log_must zpool clear $pool
if ! is_healthy $pool ; then
log_note "$pool should be healthy."
typeset vdevs
vdevs=$(get_vdevs $pool $cnt)
- log_must $RM -f $vdevs
+ log_must rm -f $vdevs
sync_pool $pool
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/redundancy/redundancy.kshlib
setup_test_env $TESTPOOL "" $cnt
damage_devs $TESTPOOL 1 "keep_label"
-log_must $ZPOOL clear $TESTPOOL
+log_must zpool clear $TESTPOOL
# Wait for the scrub intiated by the clear to wrap, or is_healthy will be wrong.
while ! is_pool_scrubbed $TESTPOOL; do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "refquota limits the amount of space a dataset can consume, " \
fs=$TESTPOOL/$TESTFS
sub=$fs/sub
-log_must $ZFS create $sub
+log_must zfs create $sub
-log_must $ZFS set refquota=10M $fs
+log_must zfs set refquota=10M $fs
mntpnt=$(get_prop mountpoint $fs)
-log_mustnot $MKFILE 11M $mntpnt/file
-log_must $MKFILE 9M $mntpnt/file
-log_must $ZFS snapshot $fs@snap
-log_mustnot $MKFILE 2M $mntpnt/file2
+log_mustnot mkfile 11M $mntpnt/file
+log_must mkfile 9M $mntpnt/file
+log_must zfs snapshot $fs@snap
+log_mustnot mkfile 2M $mntpnt/file2
mntpnt=$(get_prop mountpoint $sub)
-log_must $MKFILE 10M $mntpnt/file
-log_must $ZFS snapshot $sub@snap
-log_must $MKFILE 10 $mntpnt/file2
+log_must mkfile 10M $mntpnt/file
+log_must zfs snapshot $sub@snap
+log_must mkfile 10 $mntpnt/file2
log_pass "refquota limits the amount of space a dataset can consume, " \
"but does not include space used by descendents."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Quotas are enforced using the minimum of the two properties"
TESTFILE='testfile'
fs=$TESTPOOL/$TESTFS
-log_must $ZFS set quota=15M $fs
-log_must $ZFS set refquota=25M $fs
+log_must zfs set quota=15M $fs
+log_must zfs set refquota=25M $fs
mntpnt=$(get_prop mountpoint $fs)
-log_mustnot $MKFILE 20M $mntpnt/$TESTFILE
+log_mustnot mkfile 20M $mntpnt/$TESTFILE
typeset -i used quota
used=$(get_prop used $fs)
quota=$(get_prop quota $fs)
#
# Switch the value of them and try again
#
-log_must $RM $mntpnt/$TESTFILE
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refquota=15M $fs
+log_must rm $mntpnt/$TESTFILE
+log_must zfs set quota=25M $fs
+log_must zfs set refquota=15M $fs
-log_mustnot $MKFILE 20M $mntpnt/$TESTFILE
+log_mustnot mkfile 20M $mntpnt/$TESTFILE
used=$(get_prop used $fs)
refquota=$(get_prop refquota $fs)
((used = used / (1024 * 1024)))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Sub-filesystem quotas are not enforced by property 'refquota'"
TESTFILE='testfile'
fs=$TESTPOOL/$TESTFS
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refquota=10M $fs
-log_must $ZFS create $fs/subfs
+log_must zfs set quota=25M $fs
+log_must zfs set refquota=10M $fs
+log_must zfs create $fs/subfs
mntpnt=$(get_prop mountpoint $fs/subfs)
-log_must $MKFILE 20M $mntpnt/$TESTFILE
+log_must mkfile 20M $mntpnt/$TESTFILE
typeset -i used quota refquota
used=$(get_prop used $fs)
log_fail "ERROR: $used < $refquota subfs quotas are limited by refquota"
fi
-log_mustnot $MKFILE 20M $mntpnt/$TESTFILE.2
+log_mustnot mkfile 20M $mntpnt/$TESTFILE.2
used=$(get_prop used $fs)
quota=$(get_prop quota $fs)
((used = used / (1024 * 1024)))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "refquotas are not limited by snapshots."
TESTFILE='testfile'
fs=$TESTPOOL/$TESTFS
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refquota=15M $fs
+log_must zfs set quota=25M $fs
+log_must zfs set refquota=15M $fs
mntpnt=$(get_prop mountpoint $fs)
typeset -i i=0
while ((i < 3)); do
- log_must $MKFILE 7M $mntpnt/$TESTFILE.$i
- log_must $ZFS snapshot $fs@snap.$i
- log_must $RM $mntpnt/$TESTFILE.$i
+ log_must mkfile 7M $mntpnt/$TESTFILE.$i
+ log_must zfs snapshot $fs@snap.$i
+ log_must rm $mntpnt/$TESTFILE.$i
((i += 1))
done
#
# Verify out of the limitation of 'quota'
#
-log_mustnot $MKFILE 7M $mntpnt/$TESTFILE
+log_mustnot mkfile 7M $mntpnt/$TESTFILE
log_pass "refquotas are not limited by snapshots."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "refquotas are not limited by sub-filesystem snapshots."
TESTFILE='testfile'
fs=$TESTPOOL/$TESTFS
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refquota=15M $fs
-log_must $ZFS create $fs/subfs
+log_must zfs set quota=25M $fs
+log_must zfs set refquota=15M $fs
+log_must zfs create $fs/subfs
mntpnt=$(get_prop mountpoint $fs/subfs)
typeset -i i=0
while ((i < 3)); do
- log_must $MKFILE 7M $mntpnt/$TESTFILE.$i
- log_must $ZFS snapshot $fs/subfs@snap.$i
- log_must $RM $mntpnt/$TESTFILE.$i
+ log_must mkfile 7M $mntpnt/$TESTFILE.$i
+ log_must zfs snapshot $fs/subfs@snap.$i
+ log_must rm $mntpnt/$TESTFILE.$i
((i += 1))
done
#
# Verify out of the limitation of 'quota'
#
-log_mustnot $MKFILE 7M $mntpnt/$TESTFILE
+log_mustnot mkfile 7M $mntpnt/$TESTFILE
log_pass "refquotas are not limited by sub-filesystem snapshots"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS set refquota=none $TESTPOOL/$TESTFS
- log_must $ZFS set refreserv=none $TESTPOOL/$TESTFS
+ log_must zfs set refquota=none $TESTPOOL/$TESTFS
+ log_must zfs set refreserv=none $TESTPOOL/$TESTFS
}
log_assert "'zfs set refquota' can handle incorrect arguments correctly."
typeset -i i=0
while ((i < ${#badopt[@]})); do
- log_mustnot $ZFS set refquota=${badopt[$i]} $TESTPOOL/$TESTFS
- log_mustnot $ZFS set refreserv=${badopt[$i]} $TESTPOOL/$TESTFS
+ log_mustnot zfs set refquota=${badopt[$i]} $TESTPOOL/$TESTFS
+ log_mustnot zfs set refreserv=${badopt[$i]} $TESTPOOL/$TESTFS
((i += 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Reservations are enforced using the maximum of " \
log_onexit cleanup
fs=$TESTPOOL/$TESTFS ; subfs=$fs/subfs
-log_must $ZFS create $subfs
-log_must $ZFS set quota=25M $fs
+log_must zfs create $subfs
+log_must zfs set quota=25M $fs
-log_must $ZFS set reserv=10M $subfs
-log_must $ZFS set refreserv=20M $subfs
+log_must zfs set reserv=10M $subfs
+log_must zfs set refreserv=20M $subfs
mntpnt=$(get_prop mountpoint $fs)
-log_mustnot $MKFILE 15M $mntpnt/$TESTFILE
+log_mustnot mkfile 15M $mntpnt/$TESTFILE
-log_must $RM -f $mntpnt/$TESTFILE
+log_must rm -f $mntpnt/$TESTFILE
-log_must $ZFS set reserv=20M $subfs
-log_must $ZFS set refreserv=10M $subfs
-log_mustnot $MKFILE 15M $mntpnt/$TESTFILE
+log_must zfs set reserv=20M $subfs
+log_must zfs set refreserv=10M $subfs
+log_mustnot mkfile 15M $mntpnt/$TESTFILE
log_pass "Reservations are enforced using the maximum of " \
"'reserv' and 'refreserv'"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if is_global_zone ; then
- log_must $ZFS set refreservation=none $TESTPOOL
+ log_must zfs set refreservation=none $TESTPOOL
if datasetexists $TESTPOOL@snap ; then
- log_must $ZFS destroy -f $TESTPOOL@snap
+ log_must zfs destroy -f $TESTPOOL@snap
fi
fi
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
# This function iteratively increases refreserv to its highest possible
typeset -i incsize=131072
typeset -i rr=$(get_prop available $ds)
- log_must $ZFS set refreserv=$rr $ds
+ log_must zfs set refreserv=$rr $ds
while :; do
- $ZFS set refreserv=$((rr + incsize)) $ds >/dev/null 2>&1
+ zfs set refreserv=$((rr + incsize)) $ds >/dev/null 2>&1
if [[ $? == 0 ]]; then
((rr += incsize))
continue
"can be created."
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS/subfs
+log_must zfs create $TESTPOOL/$TESTFS/subfs
typeset datasets
if is_global_zone; then
#
# Verify refreservation on dataset
#
- log_must $ZFS set quota=25M $ds
+ log_must zfs set quota=25M $ds
max_refreserv $ds
- log_mustnot $ZFS snapshot $ds@snap
+ log_mustnot zfs snapshot $ds@snap
if datasetexists $ds@snap ; then
log_fail "ERROR: $ds@snap should not exists."
fi
- log_must $ZFS set quota=none $ds
- log_must $ZFS set refreservation=none $ds
+ log_must zfs set quota=none $ds
+ log_must zfs set refreservation=none $ds
done
log_pass "Setting full size as refreservation, verify no snapshot " \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Verify a snapshot will only be allowed if there is enough " \
log_onexit cleanup
fs=$TESTPOOL/$TESTFS
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refreservation=10M $fs
+log_must zfs set quota=25M $fs
+log_must zfs set refreservation=10M $fs
mntpnt=$(get_prop mountpoint $fs)
-log_must $MKFILE 7M $mntpnt/$TESTFILE
-log_must $ZFS snapshot $fs@snap
+log_must mkfile 7M $mntpnt/$TESTFILE
+log_must zfs snapshot $fs@snap
-log_must $MKFILE 7M $mntpnt/$TESTFILE.2
-log_must $ZFS snapshot $fs@snap2
+log_must mkfile 7M $mntpnt/$TESTFILE.2
+log_must zfs snapshot $fs@snap2
-log_must $MKFILE 7M $mntpnt/$TESTFILE.3
-log_mustnot $ZFS snapshot $fs@snap3
+log_must mkfile 7M $mntpnt/$TESTFILE.3
+log_mustnot zfs snapshot $fs@snap3
if datasetexists $fs@snap3 ; then
log_fail "ERROR: $fs@snap3 should not exists."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if is_global_zone ; then
- log_must $ZFS set refreservation=none $TESTPOOL
+ log_must zfs set refreservation=none $TESTPOOL
fi
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Verify refreservation is limited by available space."
log_onexit cleanup
pool=$TESTPOOL ; fs=$pool/$TESTFS ; subfs=$fs/subfs
-log_must $ZFS create $subfs
+log_must zfs create $subfs
typeset datasets
if is_global_zone; then
fi
for ds in $datasets; do
- log_must $ZFS set quota=25M $ds
- log_must $ZFS set refreservation=15M $ds
+ log_must zfs set quota=25M $ds
+ log_must zfs set refreservation=15M $ds
typeset -i avail
avail=$(get_prop avail $subfs)
- log_must $ZFS set refreservation=$avail $subfs
+ log_must zfs set refreservation=$avail $subfs
typeset mntpnt
mntpnt=$(get_prop mountpoint $subfs)
- log_must $MKFILE $avail $mntpnt/$TESTFILE
+ log_must mkfile $avail $mntpnt/$TESTFILE
typeset -i exceed
((exceed = avail + 1))
- log_mustnot $ZFS set refreservation=$exceed $subfs
- log_mustnot $MKFILE $avail $mntpnt/$TESTFILE
+ log_mustnot zfs set refreservation=$exceed $subfs
+ log_mustnot mkfile $avail $mntpnt/$TESTFILE
- log_must $ZFS set quota=none $ds
- log_must $ZFS set reservation=15M $ds
+ log_must zfs set quota=none $ds
+ log_must zfs set reservation=15M $ds
done
log_pass "Verify refreservation is limited by available space."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rf $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs destroy -rf $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Volume refreservation is limited by volsize"
log_onexit cleanup
fs=$TESTPOOL/$TESTFS; vol=$fs/vol
-log_must $ZFS create -V 10M $vol
+log_must zfs create -V 10M $vol
# Verify the parent filesystem does not affect volume
-log_must $ZFS set quota=25M $fs
-log_must $ZFS set refreservation=10M $vol
+log_must zfs set quota=25M $fs
+log_must zfs set refreservation=10M $vol
avail=$(get_prop mountpoint $vol)
-log_mustnot $ZFS set refreservation=$avail $vol
+log_mustnot zfs set refreservation=$avail $vol
# Verify it is affected by volsize
-log_must $ZFS set volsize=15M $vol
-log_must $ZFS set refreservation=15M $vol
-log_mustnot $ZFS set refreservation=16M $vol
+log_must zfs set volsize=15M $vol
+log_must zfs set refreservation=15M $vol
+log_mustnot zfs set refreservation=16M $vol
log_pass "Volume refreservation is limited by volsize"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $RM -rf $TESTDIR/*
+ log_must rm -rf $TESTDIR/*
}
log_assert "ZFS can handle race directory rename operation."
log_onexit cleanup
-$CD $TESTDIR
-$MKDIR -p 1/2/3/4/5 a/b/c/d/e
+cd $TESTDIR
+mkdir -p 1/2/3/4/5 a/b/c/d/e
$RENAME_DIRS &
-$SLEEP 500
+sleep 500
typeset -i retval=1
-$PGREP $RENAME_DIRS >/dev/null 2>&1
+pgrep $RENAME_DIRS >/dev/null 2>&1
retval=$?
if (( $retval == 0 )); then
- $PKILL -9 $RENAME_DIRS >/dev/null 2>&1
+ pkill -9 $RENAME_DIRS >/dev/null 2>&1
fi
log_pass "ZFS handle race directory rename operation as expected."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [[ -n "$child_pids" ]]; then
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
fi
destroy_pool $TESTPOOL1
fi
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Replacing a disk during I/O completes."
typeset i=0
while [[ $i -lt $iters ]]; do
- log_note "Invoking $FILE_TRUNC with: $options_display"
- $FILE_TRUNC $options $TESTDIR/$TESTFILE.$i &
+ log_note "Invoking file_trunc with: $options_display"
+ file_trunc $options $TESTDIR/$TESTFILE.$i &
typeset pid=$!
- $SLEEP 1
+ sleep 1
child_pids="$child_pids $pid"
((i = i + 1))
done
- log_must $ZPOOL replace $opt $TESTPOOL1 $disk1 $disk2
+ log_must zpool replace $opt $TESTPOOL1 $disk1 $disk2
- $SLEEP 10
+ sleep 10
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
child_pids=""
- log_must $ZPOOL export $TESTPOOL1
- log_must $ZPOOL import -d $TESTDIR $TESTPOOL1
- log_must $ZFS umount $TESTPOOL1/$TESTFS1
- log_must $ZDB -cdui $TESTPOOL1/$TESTFS1
- log_must $ZFS mount $TESTPOOL1/$TESTFS1
+ log_must zpool export $TESTPOOL1
+ log_must zpool import -d $TESTDIR $TESTPOOL1
+ log_must zfs umount $TESTPOOL1/$TESTFS1
+ log_must zdb -cdui $TESTPOOL1/$TESTFS1
+ log_must zfs mount $TESTPOOL1/$TESTFS1
}
specials_list=""
i=0
while [[ $i != 2 ]]; do
- $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
+ mkfile $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
#
# Create a replacement disk special file.
#
-$MKFILE $MINVDEVSIZE $TESTDIR/$REPLACEFILE
+mkfile $MINVDEVSIZE $TESTDIR/$REPLACEFILE
for type in "" "raidz" "raidz1" "mirror"; do
for op in "" "-f"; do
create_pool $TESTPOOL1 $type $specials_list
- log_must $ZFS create $TESTPOOL1/$TESTFS1
- log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+ log_must zfs create $TESTPOOL1/$TESTFS1
+ log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
replace_test "$opt" $TESTDIR/$TESTFILE1.1 $TESTDIR/$REPLACEFILE
- $ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
+ zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
if [[ $? -ne 0 ]]; then
log_fail "$REPLACEFILE is not present."
fi
destroy_pool $TESTPOOL1
- log_must $RM -rf /$TESTPOOL1
+ log_must rm -rf /$TESTPOOL1
done
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [[ -n "$child_pids" ]]; then
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
fi
destroy_pool $TESTPOOL1
fi
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Replacing a disk during I/O completes."
typeset i=0
while [[ $i -lt $iters ]]; do
- log_note "Invoking $FILE_TRUNC with: $options_display"
- $FILE_TRUNC $options $TESTDIR/$TESTFILE.$i &
+ log_note "Invoking file_trunc with: $options_display"
+ file_trunc $options $TESTDIR/$TESTFILE.$i &
typeset pid=$!
- $SLEEP 1
+ sleep 1
child_pids="$child_pids $pid"
((i = i + 1))
done
- log_must $ZPOOL attach $opt $TESTPOOL1 $disk1 $disk2
+ log_must zpool attach $opt $TESTPOOL1 $disk1 $disk2
- $SLEEP 10
+ sleep 10
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
child_pids=""
- log_must $ZPOOL export $TESTPOOL1
- log_must $ZPOOL import -d $TESTDIR $TESTPOOL1
- log_must $ZFS umount $TESTPOOL1/$TESTFS1
- log_must $ZDB -cdui $TESTPOOL1/$TESTFS1
- log_must $ZFS mount $TESTPOOL1/$TESTFS1
+ log_must zpool export $TESTPOOL1
+ log_must zpool import -d $TESTDIR $TESTPOOL1
+ log_must zfs umount $TESTPOOL1/$TESTFS1
+ log_must zdb -cdui $TESTPOOL1/$TESTFS1
+ log_must zfs mount $TESTPOOL1/$TESTFS1
}
specials_list=""
i=0
while [[ $i != 2 ]]; do
- $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
+ mkfile $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
#
# Create a replacement disk special file.
#
-$MKFILE $MINVDEVSIZE $TESTDIR/$REPLACEFILE
+mkfile $MINVDEVSIZE $TESTDIR/$REPLACEFILE
for op in "" "-f"; do
create_pool $TESTPOOL1 mirror $specials_list
- log_must $ZFS create $TESTPOOL1/$TESTFS1
- log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+ log_must zfs create $TESTPOOL1/$TESTFS1
+ log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
attach_test "$opt" $TESTDIR/$TESTFILE1.1 $TESTDIR/$REPLACEFILE
- $ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
+ zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
if [[ $? -ne 0 ]]; then
log_fail "$REPLACEFILE is not present."
fi
for type in "" "raidz" "raidz1"; do
for op in "" "-f"; do
create_pool $TESTPOOL1 $type $specials_list
- log_must $ZFS create $TESTPOOL1/$TESTFS1
- log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+ log_must zfs create $TESTPOOL1/$TESTFS1
+ log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
- log_mustnot $ZPOOL attach "$opt" $TESTDIR/$TESTFILE1.1 \
+ log_mustnot zpool attach "$opt" $TESTDIR/$TESTFILE1.1 \
$TESTDIR/$REPLACEFILE
- $ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
+ zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$REPLACEFILE"
if [[ $? -eq 0 ]]; then
log_fail "$REPLACEFILE should not be present."
fi
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [[ -n "$child_pids" ]]; then
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
fi
destroy_pool $TESTPOOL1
fi
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Replacing a disk during I/O completes."
typeset i=0
while [[ $i -lt $iters ]]; do
- log_note "Invoking $FILE_TRUNC with: $options_display"
- $FILE_TRUNC $options $TESTDIR/$TESTFILE.$i &
+ log_note "Invoking file_trunc with: $options_display"
+ file_trunc $options $TESTDIR/$TESTFILE.$i &
typeset pid=$!
- $SLEEP 1
+ sleep 1
child_pids="$child_pids $pid"
((i = i + 1))
done
- log_must $ZPOOL detach $TESTPOOL1 $disk1
+ log_must zpool detach $TESTPOOL1 $disk1
- $SLEEP 10
+ sleep 10
for wait_pid in $child_pids
do
- $KILL $wait_pid
+ kill $wait_pid
done
child_pids=""
- log_must $ZPOOL export $TESTPOOL1
- log_must $ZPOOL import -d $TESTDIR $TESTPOOL1
- log_must $ZFS umount $TESTPOOL1/$TESTFS1
- log_must $ZDB -cdui $TESTPOOL1/$TESTFS1
- log_must $ZFS mount $TESTPOOL1/$TESTFS1
+ log_must zpool export $TESTPOOL1
+ log_must zpool import -d $TESTDIR $TESTPOOL1
+ log_must zfs umount $TESTPOOL1/$TESTFS1
+ log_must zdb -cdui $TESTPOOL1/$TESTFS1
+ log_must zfs mount $TESTPOOL1/$TESTFS1
}
specials_list=""
i=0
while [[ $i != 2 ]]; do
- $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
+ mkfile $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
done
create_pool $TESTPOOL1 mirror $specials_list
-log_must $ZFS create $TESTPOOL1/$TESTFS1
-log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+log_must zfs create $TESTPOOL1/$TESTFS1
+log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
detach_test $TESTDIR/$TESTFILE1.1
-$ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1"
+zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1"
if [[ $? -eq 0 ]]; then
log_fail "$TESTFILE1.1 should no longer be present."
fi
for type in "" "raidz" "raidz1" ; do
create_pool $TESTPOOL1 $type $specials_list
- log_must $ZFS create $TESTPOOL1/$TESTFS1
- log_must $ZFS set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
+ log_must zfs create $TESTPOOL1/$TESTFS1
+ log_must zfs set mountpoint=$TESTDIR1 $TESTPOOL1/$TESTFS1
- log_mustnot $ZPOOL detach $TESTDIR/$TESTFILE1.1
+ log_mustnot zpool detach $TESTDIR/$TESTFILE1.1
- $ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1"
+ zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1"
if [[ $? -ne 0 ]]; then
log_fail "$TESTFILE1.1 is not present."
fi
typeset resv_val
dataset=$1
- log_must $ZFS set reservation=none $dataset
+ log_must zfs set reservation=none $dataset
- resv_val=`$ZFS get -H reservation $dataset | awk '{print $3}'`
+ resv_val=`zfs get -H reservation $dataset | awk '{print $3}'`
if [[ $? -ne 0 ]]; then
log_fail "Unable to get reservation prop on $dataset"
elif [[ $resv_val != "none" ]]; then
fi
- resv_val=`$ZFS get -pH reservation $dataset | awk '{print $3}'`
+ resv_val=`zfs get -pH reservation $dataset | awk '{print $3}'`
if [[ $? -ne 0 ]]; then
log_fail "Unable to get reservation prop on $dataset"
elif [[ $resv_val -ne 0 ]]; then
typeset MNT_NAME=$3
while (($iter < $count)); do
- log_must $ZFS create ${FS_NAME}$iter
- log_must $ZFS set mountpoint=${MNT_NAME}$iter ${FS_NAME}$iter
+ log_must zfs create ${FS_NAME}$iter
+ log_must zfs set mountpoint=${MNT_NAME}$iter ${FS_NAME}$iter
((iter = iter + 1))
done
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
}
# setting a reservation upon it (i.e. the size of the volume)
# which we reset back to zero initially.
#
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS set reservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS set refreservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs set reservation=none $TESTPOOL/$TESTVOL
+ log_must zfs set refreservation=none $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
[[ $obj == $TESTPOOL/$TESTVOL ]] && \
((resv_size_set = vol_set_size - RESV_DELTA))
- log_must $ZFS set reservation=$resv_size_set $obj
+ log_must zfs set reservation=$resv_size_set $obj
resv_size_get=`get_prop reservation $obj`
if [[ $resv_size_set != $resv_size_get ]]; then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
log_must zero_reservation $TESTPOOL/$TESTFS
((sparse_vol_set_size = space_avail * 4))
sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS set reservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs set reservation=none $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
for obj in $TESTPOOL/$TESTFS $OBJ_LIST ; do
((resv_size_set = vol_set_size + RESV_DELTA))
log_must zero_reservation $obj
- log_mustnot $ZFS set reservation=$resv_size_set $obj
+ log_mustnot zfs set reservation=$resv_size_set $obj
resv_size_get=`get_prop reservation $obj`
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_must zero_reservation $TESTPOOL/$TESTFS
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
}
((resv_size_set = resv_size * i))
- log_must $ZFS set reservation=$resv_size_set $dataset
+ log_must zfs set reservation=$resv_size_set $dataset
resv_size_get=`get_prop reservation $dataset`
if [[ $resv_size_set != $resv_size_get ]]; then
sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS set reservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs set reservation=none $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
for obj in $TESTPOOL/$TESTFS $OBJ_LIST ; do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
}
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS2
+log_must zfs create $TESTPOOL/$TESTFS2
space_avail=`get_prop available $TESTPOOL`
((sparse_vol_set_size = space_avail * 4))
sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS set refreservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS set reservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs set refreservation=none $TESTPOOL/$TESTVOL
+ log_must zfs set reservation=none $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
# re-calculate space available.
[[ $obj == $TESTPOOL/$TESTVOL ]] && \
((resv_size_set = vol_set_size - RESV_DELTA))
- log_must $ZFS set reservation=$resv_size_set $obj
+ log_must zfs set reservation=$resv_size_set $obj
resv_size_get=`get_prop reservation $obj`
if [[ $resv_size_set != $resv_size_get ]]; then
"($resv_size_set != $resv_size_get)"
fi
- log_must $ZFS destroy -f $obj
+ log_must zfs destroy -f $obj
new_space_avail=`get_prop available $TESTPOOL`
new_space_used=`get_prop used $TESTPOOL`
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
}
sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS set reservation=none $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs set reservation=none $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
space_avail=`get_prop available $TESTPOOL`
[[ $obj == $TESTPOOL/$TESTVOL ]] && \
((resv_size_set = vol_set_size - RESV_DELTA))
- log_must $ZFS set reservation=$resv_size_set $obj
+ log_must zfs set reservation=$resv_size_set $obj
resv_size_get=`get_prop reservation $obj`
if [[ $resv_size_set != $resv_size_get ]]; then
"($resv_size_set != $resv_size_get)"
fi
- log_must $ZFS set reservation=none $obj
+ log_must zfs set reservation=none $obj
new_space_avail=`get_prop available $TESTPOOL`
new_space_used=`get_prop used $TESTPOOL`
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $TESTDIR/$TESTFILE1 ]] && log_must $RM -rf $TESTDIR/$TESTFILE1
- log_must $ZFS set reservation=none $TESTPOOL/$TESTFS
+ [[ -e $TESTDIR/$TESTFILE1 ]] && log_must rm -rf $TESTDIR/$TESTFILE1
+ log_must zfs set reservation=none $TESTPOOL/$TESTFS
}
log_onexit cleanup
space_used=`get_prop used $TESTPOOL`
-log_must $ZFS set reservation=$RESV_SIZE $TESTPOOL/$TESTFS
+log_must zfs set reservation=$RESV_SIZE $TESTPOOL/$TESTFS
#
# Calculate how many writes of BLOCK_SIZE it would take to fill
fill_size=`expr $RESV_SIZE + 20971520`
write_count=`expr $fill_size / $BLOCK_SIZE`
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
+log_must file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
-c $write_count -d 0
log_pass "Able to create files inside and outside reserved area"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTFS2 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2
datasetexists $TESTPOOL/$TESTFS1 && \
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
}
log_onexit cleanup
args2=$3
dataset2=$4
- log_must $ZFS create $args1 $dataset1
+ log_must zfs create $args1 $dataset1
- log_must $ZFS set reservation=$RESV_SIZE $dataset1
+ log_must zfs set reservation=$RESV_SIZE $dataset1
avail_aft_dset1=`get_prop available $TESTPOOL`
used_aft_dset1=`get_prop used $TESTPOOL`
- log_must $ZFS create $args2 $dataset2
+ log_must zfs create $args2 $dataset2
- log_must $ZFS set reservation=$RESV_SIZE $dataset2
+ log_must zfs set reservation=$RESV_SIZE $dataset2
#
# After destroying the second dataset the space used and
# available totals should revert back to the values they
# had after creating the first dataset.
#
- log_must $ZFS destroy -f $dataset2
+ log_must zfs destroy -f $dataset2
avail_dest_dset2=`get_prop available $TESTPOOL`
used_dest_dset2=`get_prop used $TESTPOOL`
# After destroying the first dataset the space used and
# space available totals should revert back to the values
# they had when the pool was first created.
- log_must $ZFS destroy -f $dataset1
+ log_must zfs destroy -f $dataset1
avail_dest_dset1=`get_prop available $TESTPOOL`
used_dest_dset1=`get_prop used $TESTPOOL`
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i loop=0
while (($loop < $RESV_NUM_FS)); do
datasetexists $TESTPOOL/${TESTFS}$loop && \
- log_must $ZFS destroy -f $TESTPOOL/${TESTFS}$loop
+ log_must zfs destroy -f $TESTPOOL/${TESTFS}$loop
- [[ -d ${TESTDIR}$loop ]] && log_must $RM -r ${TESTDIR}$loop
+ [[ -d ${TESTDIR}$loop ]] && log_must rm -r ${TESTDIR}$loop
((loop = loop + 1))
done
#
typeset -i num=1
while (($num < $RESV_NUM_FS)); do
- log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS$num
+ log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS$num
((num = num + 1))
done
num=0
log_note "Writing to $TESTDIR$num/$TESTFILE1"
-$FILE_WRITE -o create -f $TESTDIR$num/$TESTFILE1 -b $BLOCK_SIZE \
+file_write -o create -f $TESTDIR$num/$TESTFILE1 -b $BLOCK_SIZE \
-c $write_count -d 0
ret=$?
if (($ret != $ENOSPC)); then
# Remove the reservation on one of the other filesystems and verify
# can write more data to the original non-reservation filesystem.
num=1
-log_must $ZFS set reservation=none $TESTPOOL/${TESTFS}$num
+log_must zfs set reservation=none $TESTPOOL/${TESTFS}$num
num=0
-log_must $FILE_WRITE -o create -f ${TESTDIR}$num/$TESTFILE2 -b $PAGESIZE \
- -c 1000 -d 0
+log_must file_write -o create -f ${TESTDIR}$num/$TESTFILE2 \
+ -b $(getconf PAGESIZE) -c 1000 -d 0
log_pass "reducing reservation allows other datasets to use space"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $RM -rf $TESTDIR/$TESTFILE1
- log_must $RM -rf $TESTDIR/$TESTFILE2
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+ log_must rm -rf $TESTDIR/$TESTFILE1
+ log_must rm -rf $TESTDIR/$TESTFILE2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS1
}
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS1
+log_must zfs create $TESTPOOL/$TESTFS1
space_avail=`get_prop available $TESTPOOL`
#
((resv_size_set = space_avail - RESV_FREE_SPACE))
-log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS1
+log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS1
space_avail_still=`get_prop available $TESTPOOL`
# Now fill up the filesystem (which doesn't have a reservation set
# and thus will use up whatever free space is left in the pool).
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
+file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
-c $write_count -d 0
ret=$?
if (($ret != $ENOSPC)); then
log_fail "Did not get ENOSPC as expected (got $ret)."
fi
-log_must $ZFS set reservation=none $TESTPOOL/$TESTFS1
+log_must zfs set reservation=none $TESTPOOL/$TESTFS1
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
- -c 1000 -d 0
+log_must file_write -o create -f $TESTDIR/$TESTFILE2 \
+ -b $(getconf PAGESIZE) -c 1000 -d 0
log_pass "Setting top level dataset reservation to 'none' allows more " \
"data to be written to the top level filesystem"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTFS1 && \
- log_must $ZFS destroy $TESTPOOL/$TESTFS1
+ log_must zfs destroy $TESTPOOL/$TESTFS1
- [[ -e $TESTDIR/$TESTFILE1 ]] && log_must $RM -rf $TESTDIR/$TESTFILE1
- [[ -e $TESTDIR/$TESTFILE2 ]] && log_must $RM -rf $TESTDIR/$TESTFILE2
+ [[ -e $TESTDIR/$TESTFILE1 ]] && log_must rm -rf $TESTDIR/$TESTFILE1
+ [[ -e $TESTDIR/$TESTFILE2 ]] && log_must rm -rf $TESTDIR/$TESTFILE2
}
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS1
+log_must zfs create $TESTPOOL/$TESTFS1
space_avail=`get_prop available $TESTPOOL`
#
((resv_size_set = space_avail - RESV_FREE_SPACE))
-log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS1
+log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS1
space_avail_still=`get_prop available $TESTPOOL`
# Now fill up the filesystem (which doesn't have a reservation set
# and thus will use up whatever free space is left in the pool).
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
+file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
ret=$?
if (($ret != $ENOSPC)); then
log_fail "Did not get ENOSPC as expected (got $ret)."
fi
-log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
+log_must zfs destroy -f $TESTPOOL/$TESTFS1
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
- -c 1000 -d 0
+log_must file_write -o create -f $TESTDIR/$TESTFILE2 \
+ -b $(getconf PAGESIZE) -c 1000 -d 0
log_pass "Destroying top level filesystem with reservation allows more data " \
"to be written to another top level filesystem"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
((resv_size_set = (space_avail - RESV_DELTA) / 2))
-fs_quota=`$ZFS get quota $TESTPOOL/$TESTFS`
+fs_quota=`zfs get quota $TESTPOOL/$TESTFS`
-log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS
+log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS
-new_fs_quota=`$ZFS get quota $TESTPOOL/$TESTFS`
+new_fs_quota=`zfs get quota $TESTPOOL/$TESTFS`
if [[ $fs_quota != $new_fs_quota ]]; then
log_fail "Quota value on $TESTFS has changed " \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -f $TESTPOOL/$TESTFS2
+ log_must zfs destroy -f $TESTPOOL/$TESTFS2
log_must zero_reservation $TESTPOOL/$TESTFS
- [[ -e $TESTDIR/$TESTFILE2 ]] && log_must $RM -rf $TESTDIR/$TESTFILE2
- [[ -d $TESTDIR2 ]] && log_must $RM -rf $TESTDIR2
+ [[ -e $TESTDIR/$TESTFILE2 ]] && log_must rm -rf $TESTDIR/$TESTFILE2
+ [[ -d $TESTDIR2 ]] && log_must rm -rf $TESTDIR2
}
log_onexit cleanup
-log_must $ZFS create $TESTPOOL/$TESTFS2
-log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL/$TESTFS2
+log_must zfs create $TESTPOOL/$TESTFS2
+log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL/$TESTFS2
space_avail=`get_prop available $TESTPOOL`
((resv_size_set = space_avail - RESV_FREE_SPACE))
-log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS
+log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS
((write_count = (RESV_FREE_SPACE + RESV_TOLERANCE) / BLOCK_SIZE))
-$FILE_WRITE -o create -f $TESTDIR2/$TESTFILE1 -b $BLOCK_SIZE -c $write_count \
+file_write -o create -f $TESTDIR2/$TESTFILE1 -b $BLOCK_SIZE -c $write_count \
-d 0
ret=$?
if [[ $ret != $ENOSPC ]]; then
fi
((write_count = (RESV_FREE_SPACE - RESV_TOLERANCE) / BLOCK_SIZE))
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $BLOCK_SIZE -c \
+log_must file_write -o create -f $TESTDIR/$TESTFILE2 -b $BLOCK_SIZE -c \
$write_count -d 0
log_pass "Reserved space preserved correctly"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
for obj in $OBJ_LIST; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
log_must zero_reservation $TESTPOOL/$TESTFS
OBJ_LIST="$TESTPOOL/$TESTFS1/$TESTFS2 $TESTPOOL/$TESTFS1 $TESTPOOL/$TESTVOL \
$TESTPOOL/$TESTVOL2"
-log_must $ZFS create $TESTPOOL/$TESTFS1
-log_must $ZFS create $TESTPOOL/$TESTFS1/$TESTFS2
+log_must zfs create $TESTPOOL/$TESTFS1
+log_must zfs create $TESTPOOL/$TESTFS1/$TESTFS2
space_avail=$(get_prop available $TESTPOOL)
[[ $? -ne 0 ]] && \
# When initially created, a regular volume's reservation property is set
# equal to its size (unlike a sparse volume), so we don't need to set it
# explicitly later on
-log_must $ZFS create -V $resv_set $TESTPOOL/$TESTVOL
-log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+log_must zfs create -V $resv_set $TESTPOOL/$TESTVOL
+log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
-log_must $ZFS set reservation=$resv_set $TESTPOOL/$TESTFS
-log_must $ZFS set reservation=$resv_set $TESTPOOL/$TESTFS1
-log_must $ZFS set reservation=$resv_set $TESTPOOL/$TESTFS1/$TESTFS2
-log_must $ZFS set reservation=$resv_set $TESTPOOL/$TESTVOL2
+log_must zfs set reservation=$resv_set $TESTPOOL/$TESTFS
+log_must zfs set reservation=$resv_set $TESTPOOL/$TESTFS1
+log_must zfs set reservation=$resv_set $TESTPOOL/$TESTFS1/$TESTFS2
+log_must zfs set reservation=$resv_set $TESTPOOL/$TESTVOL2
-log_must $ZPOOL export $TESTPOOL
-log_must $ZPOOL import $TESTPOOL
+log_must zpool export $TESTPOOL
+log_must zpool import $TESTPOOL
for obj in $TESTPOOL/$TESTFS $OBJ_LIST; do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# Note we don't destroy $TESTFS as it's used by other tests
for obj in $OBJ_LIST ; do
- datasetexists $obj && log_must $ZFS destroy -f $obj
+ datasetexists $obj && log_must zfs destroy -f $obj
done
log_must zero_reservation $TESTPOOL/$TESTFS
((sparse_vol_set_size = space_avail * 4))
sparse_vol_set_size=$(floor_volsize $sparse_vol_set_size)
- log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
- log_must $ZFS create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
+ log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
+ log_must zfs create -s -V $sparse_vol_set_size $TESTPOOL/$TESTVOL2
fi
for obj in $TESTPOOL/$TESTFS $OBJ_LIST ; do
# space in the pool, whichever is smaller.
#
if [[ $obj == $TESTPOOL/$TESTFS ]]; then
- log_must $ZFS set quota=$quota_set_size $obj
+ log_must zfs set quota=$quota_set_size $obj
((resv_set_size = quota_set_size + RESV_SIZE))
elif [[ $obj == $TESTPOOL/$TESTVOL2 ]] ; then
orig_quota=`get_prop quota $obj`
- log_mustnot $ZFS set reservation=$resv_set_size $obj
+ log_mustnot zfs set reservation=$resv_set_size $obj
new_quota=`get_prop quota $obj`
if [[ $orig_quota != $new_quota ]]; then
fi
if [[ $obj == $TESTPOOL/$TESTFS ]]; then
- log_must $ZFS set quota=none $obj
+ log_must zfs set quota=none $obj
fi
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTVOL && \
- log_must $ZFS destroy $TESTPOOL/$TESTVOL
+ log_must zfs destroy $TESTPOOL/$TESTVOL
- [[ -e $TESTDIR/$TESTFILE1 ]] && log_must $RM -rf $TESTDIR/$TESTFILE1
- [[ -e $TESTDIR/$TESTFILE2 ]] && log_must $RM -rf $TESTDIR/$TESTFILE2
+ [[ -e $TESTDIR/$TESTFILE1 ]] && log_must rm -rf $TESTDIR/$TESTFILE1
+ [[ -e $TESTDIR/$TESTFILE2 ]] && log_must rm -rf $TESTDIR/$TESTFILE2
}
log_onexit cleanup
((resv_size_set = space_avail - RESV_FREE_SPACE))
resv_size_set=$(floor_volsize $resv_size_set)
-log_must $ZFS create -V $resv_size_set $TESTPOOL/$TESTVOL
+log_must zfs create -V $resv_size_set $TESTPOOL/$TESTVOL
space_avail_still=`get_prop available $TESTPOOL`
# Now fill up the filesystem (which doesn't have a reservation set
# and thus will use up whatever free space is left in the pool).
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
+file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
ret=$?
if (($ret != $ENOSPC)); then
log_fail "Did not get ENOSPC as expected (got $ret)."
fi
-log_must $ZFS set refreservation=none $TESTPOOL/$TESTVOL
+log_must zfs set refreservation=none $TESTPOOL/$TESTVOL
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
- -c 1000 -d 0
+log_must file_write -o create -f $TESTDIR/$TESTFILE2 \
+ -b $(getconf PAGESIZE) -c 1000 -d 0
log_pass "Setting top level volume reservation to 'none' allows more " \
"data to be written to the top level filesystem"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$TESTVOL && \
- log_must $ZFS destroy $TESTPOOL/$TESTVOL
+ log_must zfs destroy $TESTPOOL/$TESTVOL
- [[ -e $TESTDIR/$TESTFILE1 ]] && log_must $RM -rf $TESTDIR/$TESTFILE1
- [[ -e $TESTDIR/$TESTFILE2 ]] && log_must $RM -rf $TESTDIR/$TESTFILE2
+ [[ -e $TESTDIR/$TESTFILE1 ]] && log_must rm -rf $TESTDIR/$TESTFILE1
+ [[ -e $TESTDIR/$TESTFILE2 ]] && log_must rm -rf $TESTDIR/$TESTFILE2
}
log_onexit cleanup
# Creating a regular volume implicitly sets its reservation
# property to the same value.
-log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
+log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
space_avail_still=$(get_prop available $TESTPOOL)
fill_size=$((space_avail_still + $RESV_TOLERANCE))
# Now fill up the filesystem (which doesn't have a reservation set
# and thus will use up whatever free space is left in the pool).
-$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
+file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
ret=$?
if (($ret != $ENOSPC)); then
log_fail "Did not get ENOSPC as expected (got $ret)."
fi
-log_must $ZFS destroy -f $TESTPOOL/$TESTVOL
+log_must zfs destroy -f $TESTPOOL/$TESTVOL
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
- -c 1000 -d 0
+log_must file_write -o create -f $TESTDIR/$TESTFILE2 \
+ -b $(getconf PAGESIZE) -c 1000 -d 0
log_pass "Destroying volume with reservation allows more data to be written " \
"to top level filesystem"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset vol
for vol in $regvol $sparsevol; do
- datasetexists $vol && log_must $ZFS destroy $vol
+ datasetexists $vol && log_must zfs destroy $vol
done
}
log_onexit cleanup
# Create a regular and sparse volume for testing.
regvol=$TESTPOOL/$TESTVOL
sparsevol=$TESTPOOL/$TESTVOL2
-log_must $ZFS create -V 64M $regvol
-log_must $ZFS create -s -V 64M $sparsevol
+log_must zfs create -V 64M $regvol
+log_must zfs create -s -V 64M $sparsevol
typeset vsize=$(get_prop available $TESTPOOL)
typeset iterate=10
((randomblknum = 1 + RANDOM % blknum))
# Make sure volsize is a multiple of volume block size
((vsize = randomblknum * volblocksize))
- log_must $ZFS set volsize=$vsize $regvol
- log_must $ZFS set volsize=$vsize $sparsevol
+ log_must zfs set volsize=$vsize $regvol
+ log_must zfs set volsize=$vsize $sparsevol
vsize=$(volsize_to_reservation $regvol $vsize)
regreserv=$(get_prop refreservation $regvol)
sparsereserv=$(get_prop reservation $sparsevol)
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- datasetexists $fs_child && log_must $ZFS destroy $fs_child
- log_must $ZFS set reservation=$reserv_val $fs
+ datasetexists $fs_child && log_must zfs destroy $fs_child
+ log_must zfs set reservation=$reserv_val $fs
}
log_onexit cleanup
reserv_val=$(get_prop reservation $fs)
typeset reservsize=$space_avail
((reservsize = reservsize / 2))
-log_must $ZFS set reservation=$reservsize $fs
+log_must zfs set reservation=$reservsize $fs
-log_must $ZFS create $fs_child
+log_must zfs create $fs_child
rsv_space=$(get_prop reservation $fs_child)
[[ $rsv_space == $reservsize ]] && \
log_fail "The reservation of child dataset inherits its value from parent."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# damage done by the attempted pool destroy. The destroy itself should fail, but
# some filesystems can become unmounted in the process, and aren't automatically
# remounted.
-$MOUNT -p | $AWK '{if ($4 == "zfs") print $1" "$3}' > $tmpfile
+mount -p | awk '{if ($4 == "zfs") print $1" "$3}' > $tmpfile
-log_mustnot $ZPOOL destroy $rootpool
+log_mustnot zpool destroy $rootpool
# Remount any filesystems that the destroy attempt unmounted.
while read ds mntpt; do
- mounted $ds || log_must $MOUNT -Fzfs $ds $mntpt
+ mounted $ds || log_must mount -Fzfs $ds $mntpt
done < $tmpfile
-$RM -f $tmpfile
+rm -f $tmpfile
-log_mustnot $ZFS destroy $rootpool
+log_mustnot zfs destroy $rootpool
log_pass "rootpool can not be destroyed"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset rootpool=$(get_rootpool)
typeset rootfs=$(get_rootfs)
-log_mustnot $ZFS rename $rootfs $rootpool/newfs
-log_mustnot $ZFS rename -f $rootfs $rootpool/newfs
+log_mustnot zfs rename $rootfs $rootpool/newfs
+log_mustnot zfs rename -f $rootfs $rootpool/newfs
-log_mustnot $ZFS destroy $rootfs
-log_mustnot $ZFS destroy -f $rootfs
+log_mustnot zfs destroy $rootfs
+log_mustnot zfs destroy -f $rootfs
log_pass "system related filesystems can not be renamed or destroyed"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
function cleanup {
- log_must $ZFS set compression=$orig_compress $rootfs
+ log_must zfs set compression=$orig_compress $rootfs
}
log_onexit cleanup
typeset -i i=0
while (( i < ${#gtype[@]} )); do
- log_mustnot $ZFS set compression=${gtype[i]} $rootfs
+ log_mustnot zfs set compression=${gtype[i]} $rootfs
(( i += 1 ))
done
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
cleanup_pool $POOL
cleanup_pool $POOL2
fi
-log_must $RM -rf $BACKDIR $TESTDIR
+log_must rm -rf $BACKDIR $TESTDIR
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
export BACKDIR=${TEST_BASE_DIR%%/}/backdir-rsend
export DISK1=${DISKS%% *}
-export DISK2=$($ECHO $DISKS | $AWK '{print $2}')
+export DISK2=$(echo $DISKS | awk '{print $2}')
export POOL=$TESTPOOL
export POOL2=$TESTPOOL1
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
typeset pool=$1
- log_must $ZFS create -p $pool/$FS/fs1/fs2
+ log_must zfs create -p $pool/$FS/fs1/fs2
- log_must $ZFS snapshot $pool@psnap
- log_must $ZFS clone $pool@psnap $pool/pclone
+ log_must zfs snapshot $pool@psnap
+ log_must zfs clone $pool@psnap $pool/pclone
if is_global_zone ; then
- log_must $ZFS create -V 16M $pool/vol
- log_must $ZFS create -V 16M $pool/$FS/vol
+ log_must zfs create -V 16M $pool/vol
+ log_must zfs create -V 16M $pool/$FS/vol
block_device_wait
- log_must $ZFS snapshot $pool/$FS/vol@vsnap
- log_must $ZFS clone $pool/$FS/vol@vsnap $pool/$FS/vclone
+ log_must zfs snapshot $pool/$FS/vol@vsnap
+ log_must zfs clone $pool/$FS/vol@vsnap $pool/$FS/vclone
block_device_wait
fi
log_must snapshot_tree $pool/$FS/fs1/fs2@fsnap
- log_must $ZFS clone $pool/$FS/fs1/fs2@fsnap $pool/$FS/fs1/fclone
- log_must $ZFS snapshot -r $pool@init
+ log_must zfs clone $pool/$FS/fs1/fs2@fsnap $pool/$FS/fs1/fclone
+ log_must zfs snapshot -r $pool@init
log_must snapshot_tree $pool@snapA
log_must snapshot_tree $pool@snapC
log_must snapshot_tree $pool/$FS/fs1/fclone@snapA
if is_global_zone ; then
- log_must $ZFS snapshot $pool/vol@snapA
- log_must $ZFS snapshot $pool/$FS/vol@snapB
- log_must $ZFS snapshot $pool/$FS/vol@snapC
- log_must $ZFS snapshot $pool/$FS/vclone@snapC
+ log_must zfs snapshot $pool/vol@snapA
+ log_must zfs snapshot $pool/$FS/vol@snapB
+ log_must zfs snapshot $pool/$FS/vol@snapC
+ log_must zfs snapshot $pool/$FS/vclone@snapC
fi
- log_must $ZFS snapshot -r $pool@final
+ log_must zfs snapshot -r $pool@final
return 0
}
function cleanup_pool
{
typeset pool=$1
- log_must $RM -rf $BACKDIR/*
+ log_must rm -rf $BACKDIR/*
if is_global_zone ; then
- log_must $ZFS destroy -Rf $pool
+ log_must zfs destroy -Rf $pool
else
- typeset list=$($ZFS list -H -r -t filesystem,snapshot,volume -o name $pool)
+ typeset list=$(zfs list -H -r -t filesystem,snapshot,volume -o name $pool)
for ds in $list ; do
if [[ $ds != $pool ]] ; then
if datasetexists $ds ; then
- log_must $ZFS destroy -Rf $ds
+ log_must zfs destroy -Rf $ds
fi
fi
done
if ! ismounted $pool ; then
# Make sure mountpoint directory is empty
if [[ -d $mntpnt ]]; then
- log_must $RM -rf $mntpnt/*
+ log_must rm -rf $mntpnt/*
fi
- log_must $ZFS mount $pool
+ log_must zfs mount $pool
fi
if [[ -d $mntpnt ]]; then
- log_must $RM -rf $mntpnt/*
+ log_must rm -rf $mntpnt/*
fi
return 0
typeset src_fs=$1
typeset dst_fs=$2
- $ZFS list -r -H -t filesystem,snapshot,volume -o name $src_fs > $BACKDIR/src1
- $ZFS list -r -H -t filesystem,snapshot,volume -o name $dst_fs > $BACKDIR/dst1
+ zfs list -r -H -t filesystem,snapshot,volume -o name $src_fs > $BACKDIR/src1
+ zfs list -r -H -t filesystem,snapshot,volume -o name $dst_fs > $BACKDIR/dst1
- eval $SED -e 's:^$src_fs:PREFIX:g' < $BACKDIR/src1 > $BACKDIR/src
- eval $SED -e 's:^$dst_fs:PREFIX:g' < $BACKDIR/dst1 > $BACKDIR/dst
+ eval sed -e 's:^$src_fs:PREFIX:g' < $BACKDIR/src1 > $BACKDIR/src
+ eval sed -e 's:^$dst_fs:PREFIX:g' < $BACKDIR/dst1 > $BACKDIR/dst
- $DIFF $BACKDIR/src $BACKDIR/dst
+ diff $BACKDIR/src $BACKDIR/dst
typeset -i ret=$?
- $RM -f $BACKDIR/src $BACKDIR/dst $BACKDIR/src1 $BACKDIR/dst1
+ rm -f $BACKDIR/src $BACKDIR/dst $BACKDIR/src1 $BACKDIR/dst1
return $ret
}
srcdir=$(get_prop mountpoint $src_fs)
dstdir=$(get_prop mountpoint $dst_fs)
- $DIFF -r $srcdir $dstdir > /dev/null 2>&1
+ diff -r $srcdir $dstdir > /dev/null 2>&1
return $?
}
"setuid" "snapdir" "version" "volsize" "xattr" "zoned" \
"mountpoint";
do
- $ZFS get -H -o property,value,source $item $dtst1 >> \
+ zfs get -H -o property,value,source $item $dtst1 >> \
$BACKDIR/dtst1
- $ZFS get -H -o property,value,source $item $dtst2 >> \
+ zfs get -H -o property,value,source $item $dtst2 >> \
$BACKDIR/dtst2
done
- eval $SED -e 's:$dtst1:PREFIX:g' < $BACKDIR/dtst1 > $BACKDIR/dtst1
- eval $SED -e 's:$dtst2:PREFIX:g' < $BACKDIR/dtst2 > $BACKDIR/dtst2
+ eval sed -e 's:$dtst1:PREFIX:g' < $BACKDIR/dtst1 > $BACKDIR/dtst1
+ eval sed -e 's:$dtst2:PREFIX:g' < $BACKDIR/dtst2 > $BACKDIR/dtst2
- $DIFF $BACKDIR/dtst1 $BACKDIR/dtst2
+ diff $BACKDIR/dtst1 $BACKDIR/dtst2
typeset -i ret=$?
- $RM -f $BACKDIR/dtst1 $BACKDIR/dtst2
+ rm -f $BACKDIR/dtst1 $BACKDIR/dtst2
return $ret
typeset dir=$1
if [[ -d $dir ]]; then
- $RM -rf $dir
+ rm -rf $dir
fi
- $MKDIR -p $dir
+ mkdir -p $dir
typeset -i ret=$?
typeset -i nl nd nf
((nl = RANDOM % 6 + 1))
((nd = RANDOM % 3 ))
((nf = RANDOM % 5 ))
- $MKTREE -b $dir -l $nl -d $nd -f $nf
+ mktree -b $dir -l $nl -d $nd -f $nf
((ret |= $?))
return $ret
fi
if ((ret == 0)) ; then
- $ZFS snapshot $snap
+ zfs snapshot $snap
((ret |= $?))
fi
typeset -i ret=0
typeset snap
for snap in "$@" ; do
- $ZFS destroy $snap
+ zfs destroy $snap
ret=$?
typeset ds=${snap%%@*}
((ret |= $?))
if ((ret != 0)); then
- $RM -r $mntpnt/$snap
+ rm -r $mntpnt/$snap
((ret |= $?))
fi
fi
typeset ds=$1
typeset suffix=$2
- typeset list=$($ZFS list -r -H -t filesystem,snapshot,volume -o name $ds \
- | $GREP "$suffix$")
+ typeset list=$(zfs list -r -H -t filesystem,snapshot,volume -o name $ds \
+ | grep "$suffix$")
- $ECHO $list
+ echo $list
}
#
{
typeset fs_prop
if is_global_zone ; then
- fs_prop=$($ZFS inherit 2>&1 | \
- $AWK '$2=="YES" && $3=="YES" {print $1}')
+ fs_prop=$(zfs inherit 2>&1 | \
+ awk '$2=="YES" && $3=="YES" {print $1}')
if ! is_te_enabled ; then
- fs_prop=$(echo $fs_prop | $GREP -v "mlslabel")
+ fs_prop=$(echo $fs_prop | grep -v "mlslabel")
fi
else
- fs_prop=$($ZFS inherit 2>&1 | \
- $AWK '$2=="YES" && $3=="YES" {print $1}'|
- $EGREP -v "devices|mlslabel|sharenfs|sharesmb|zoned")
+ fs_prop=$(zfs inherit 2>&1 | \
+ awk '$2=="YES" && $3=="YES" {print $1}'|
+ egrep -v "devices|mlslabel|sharenfs|sharesmb|zoned")
fi
- $ECHO $fs_prop
+ echo $fs_prop
}
#
#
function vol_inherit_prop
{
- $ECHO "checksum readonly"
+ echo "checksum readonly"
}
#
#
# If the srcfs is not pool
#
- if ! $ZPOOL list $srcfs > /dev/null 2>&1 ; then
+ if ! zpool list $srcfs > /dev/null 2>&1 ; then
eval dstfs="$dstfs/${srcfs#*/}"
fi
- $ECHO $dstfs
+ echo $dstfs
}
#
fs=$4
for ((i=0; i<$nfiles; i=i+1)); do
- $DD if=/dev/urandom \
+ dd if=/dev/urandom \
of=/$fs/file-$maxsize-$((i+$file_id_offset)) \
bs=$((($RANDOM * $RANDOM % ($maxsize - 1)) + 1)) \
count=1 >/dev/null 2>&1 || log_fail \
"Failed to create /$fs/file-$maxsize-$((i+$file_id_offset))"
done
- $ECHO Created $nfiles files of random sizes up to $maxsize bytes
+ echo Created $nfiles files of random sizes up to $maxsize bytes
}
#
fs=$4
for ((i=0; i<$nfiles; i=i+1)); do
- $RM -f /$fs/file-$maxsize-$((i+$file_id_offset))
+ rm -f /$fs/file-$maxsize-$((i+$file_id_offset))
done
- $ECHO Removed $nfiles files of random sizes up to $maxsize bytes
+ echo Removed $nfiles files of random sizes up to $maxsize bytes
}
#
{
file=$1
- filesize=$($STAT -c '%s' $file)
+ filesize=$(stat -c '%s' $file)
offset=$(($RANDOM * $RANDOM % $filesize))
if (($RANDOM % 7 <= 1)); then
#
# We corrupt 2 bytes to minimize the chance that we
# write the same value that's already there.
#
- log_must eval "$DD if=/dev/urandom of=$file conv=notrunc " \
+ log_must eval "dd if=/dev/urandom of=$file conv=notrunc " \
"bs=1 count=2 seek=$offset >/dev/null 2>&1"
else
- log_must $TRUNCATE -s $offset $file
+ log_must truncate -s $offset $file
fi
}
if [[ -d /$recvfs/.zfs/snapshot/a && -d \
/$sendfs/.zfs/snapshot/a ]]; then
- $DIFF -r /$recvfs/.zfs/snapshot/a /$sendfs/.zfs/snapshot/a
+ diff -r /$recvfs/.zfs/snapshot/a /$sendfs/.zfs/snapshot/a
[[ $? -eq 0 ]] || log_fail "Differences found in snap a"
fi
if [[ -d /$recvfs/.zfs/snapshot/b && -d \
/$sendfs/.zfs/snapshot/b ]]; then
- $DIFF -r /$recvfs/.zfs/snapshot/b /$sendfs/.zfs/snapshot/b
+ diff -r /$recvfs/.zfs/snapshot/b /$sendfs/.zfs/snapshot/b
[[ $? -eq 0 ]] || log_fail "Differences found in snap b"
fi
}
for ((i=0; i<2; i=i+1)); do
mess_file /$streamfs/$stream_num
- log_mustnot $ZFS recv -sv $recvfs </$streamfs/$stream_num
+ log_mustnot zfs recv -sv $recvfs </$streamfs/$stream_num
stream_num=$((stream_num+1))
- token=$($ZFS get -Hp -o value receive_resume_token $recvfs)
- log_must eval "$ZFS send -v -t $token >/$streamfs/$stream_num"
+ token=$(zfs get -Hp -o value receive_resume_token $recvfs)
+ log_must eval "zfs send -v -t $token >/$streamfs/$stream_num"
[[ -f /$streamfs/$stream_num ]] || \
log_fail "NO FILE /$streamfs/$stream_num"
done
- log_must $ZFS recv -sv $recvfs </$streamfs/$stream_num
+ log_must zfs recv -sv $recvfs </$streamfs/$stream_num
}
#
streamfs=$sendpool/stream
if datasetexists $recvfs; then
- log_must $ZFS destroy -r $recvfs
+ log_must zfs destroy -r $recvfs
fi
if datasetexists $sendfs; then
- log_must $ZFS destroy -r $sendfs
+ log_must zfs destroy -r $sendfs
fi
- if $($ZFS create -o compress=lz4 $sendfs); then
+ if $(zfs create -o compress=lz4 $sendfs); then
mk_files 1000 256 0 $sendfs &
mk_files 1000 131072 0 $sendfs &
mk_files 100 1048576 0 $sendfs &
mk_files 10 10485760 0 $sendfs &
mk_files 1 104857600 0 $sendfs &
wait
- log_must $ZFS snapshot $sendfs@a
+ log_must zfs snapshot $sendfs@a
rm_files 200 256 0 $sendfs &
rm_files 200 131072 0 $sendfs &
mk_files 4 10485760 0 $sendfs &
wait
- log_must $ZFS snapshot $sendfs@b
- log_must eval "$ZFS send -v $sendfs@a >/$sendpool/initial.zsend"
- log_must eval "$ZFS send -v -i @a $sendfs@b " \
+ log_must zfs snapshot $sendfs@b
+ log_must eval "zfs send -v $sendfs@a >/$sendpool/initial.zsend"
+ log_must eval "zfs send -v -i @a $sendfs@b " \
">/$sendpool/incremental.zsend"
fi
if datasetexists $streamfs; then
- log_must $ZFS destroy -r $streamfs
+ log_must zfs destroy -r $streamfs
fi
- log_must $ZFS create -o compress=lz4 $sendpool/stream
+ log_must zfs create -o compress=lz4 $sendpool/stream
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Verify the entire pool and sub-ds can be backup and restored.
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
dstds=$(get_dst_ds $POOL $POOL2)
log_must cmp_ds_subs $POOL $dstds
#
# Verify all the filesystem and sub-fs can be backup and restored.
#
-log_must eval "$ZFS send -R $POOL/$FS@final > $BACKDIR/fs-final-R"
-log_must eval "$ZFS receive -d $POOL2 < $BACKDIR/fs-final-R"
+log_must eval "zfs send -R $POOL/$FS@final > $BACKDIR/fs-final-R"
+log_must eval "zfs receive -d $POOL2 < $BACKDIR/fs-final-R"
dstds=$(get_dst_ds $POOL/$FS $POOL2)
log_must cmp_ds_subs $POOL/$FS $dstds
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Duplicate POOL2
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-R"
if is_global_zone ; then
#
# Verify send -I will backup all the incrementals in pool
#
- log_must eval "$ZFS send -I $POOL2@init $POOL2@final > " \
+ log_must eval "zfs send -I $POOL2@init $POOL2@final > " \
"$BACKDIR/pool-init-final-I"
log_must destroy_tree $POOL2@final $POOL2@snapC $POOL2@snapA
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-init-final-I"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-init-final-I"
log_must cmp_ds_subs $POOL $POOL2
log_must cmp_ds_cont $POOL $POOL2
fi
#
# Verify send -I will backup all the incrementals in filesystem
#
-log_must eval "$ZFS send -I @init $dstds/$FS@final > $BACKDIR/fs-init-final-I"
+log_must eval "zfs send -I @init $dstds/$FS@final > $BACKDIR/fs-init-final-I"
log_must destroy_tree $dstds/$FS@final $dstds/$FS@snapC $dstds/$FS@snapB
-log_must eval "$ZFS receive -d -F $dstds < $BACKDIR/fs-init-final-I"
+log_must eval "zfs receive -d -F $dstds < $BACKDIR/fs-init-final-I"
log_must cmp_ds_subs $POOL $dstds
log_must cmp_ds_cont $POOL $dstds
# Verify send -I will backup all the incrementals in volume
#
dataset=$POOL2/$FS/vol
- log_must eval "$ZFS send -I @vsnap $dataset@final > " \
+ log_must eval "zfs send -I @vsnap $dataset@final > " \
"$BACKDIR/vol-vsnap-final-I"
log_must destroy_tree $dataset@final $dataset@snapC \
$dataset@snapB $dataset@init
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/vol-vsnap-final-I"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/vol-vsnap-final-I"
log_must cmp_ds_subs $POOL $POOL2
log_must cmp_ds_cont $POOL $POOL2
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Duplicate POOL2
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-R"
if is_global_zone ; then
#
# Verify send -I backup all incrementals from pool
#
- log_must eval "$ZFS send -I $POOL2@psnap $POOL2/pclone@final > " \
+ log_must eval "zfs send -I $POOL2@psnap $POOL2/pclone@final > " \
"$BACKDIR/pool-clone-I"
- log_must $ZFS destroy -rf $POOL2/pclone
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-clone-I"
+ log_must zfs destroy -rf $POOL2/pclone
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-clone-I"
log_must cmp_ds_subs $POOL $POOL2
log_must cmp_ds_cont $POOL $POOL2
fi
# Verify send -I backup all incrementals from filesystem
#
ds=$dstds/$FS/fs1
-log_must eval "$ZFS send -I $ds/fs2@fsnap $ds/fclone@final > " \
+log_must eval "zfs send -I $ds/fs2@fsnap $ds/fclone@final > " \
"$BACKDIR/fs-clone-I"
-log_must $ZFS destroy -rf $ds/fclone
-log_must eval "$ZFS receive -F $ds/fclone < $BACKDIR/fs-clone-I"
+log_must zfs destroy -rf $ds/fclone
+log_must eval "zfs receive -F $ds/fclone < $BACKDIR/fs-clone-I"
log_must cmp_ds_subs $POOL $dstds
log_must cmp_ds_cont $POOL $dstds
# Verify send -I backup all incrementals from volume
#
ds=$POOL2/$FS
- log_must eval "$ZFS send -I $ds/vol@vsnap $ds/vclone@final > " \
+ log_must eval "zfs send -I $ds/vol@vsnap $ds/vclone@final > " \
"$BACKDIR/vol-clone-I"
- log_must $ZFS destroy -rf $ds/vclone
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/vol-clone-I"
+ log_must zfs destroy -rf $ds/vclone
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/vol-clone-I"
log_must cmp_ds_subs $POOL $POOL2
log_must cmp_ds_cont $POOL $POOL2
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Duplicate POOL2 for testing
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
if is_global_zone ; then
#
interlist="$interlist $(getds_with_suffix $POOL2 @snapB)"
interlist="$interlist $(getds_with_suffix $POOL2 @snapA)"
- log_must eval "$ZFS send -R -i @init $POOL2@final > " \
+ log_must eval "zfs send -R -i @init $POOL2@final > " \
"$BACKDIR/pool-init-final-iR"
log_must destroy_tree $interlist
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-init-final-iR"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-init-final-iR"
# Get current datasets with suffix @final
dstlist=$(getds_with_suffix $POOL2 @final)
#
# Testing send -R -i backup from filesystem
#
-log_must eval "$ZFS send -R -i @init $dstds/$FS@final > " \
+log_must eval "zfs send -R -i @init $dstds/$FS@final > " \
"$BACKDIR/fs-init-final-iR"
srclist=$(getds_with_suffix $dstds/$FS @final)
interlist="$interlist $(getds_with_suffix $dstds/$FS @snapA)"
log_must destroy_tree $interlist
if is_global_zone ; then
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/fs-init-final-iR"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/fs-init-final-iR"
else
- $ZFS receive -F -d $dstds/$FS < $BACKDIR/fs-init-final-iR
+ zfs receive -F -d $dstds/$FS < $BACKDIR/fs-init-final-iR
fi
dstlist=$(getds_with_suffix $dstds/$FS @final)
# Testing send -R -i backup from volume
#
srclist=$(getds_with_suffix $POOL2/$FS/vol @final)
- log_must eval "$ZFS send -R -i @init $POOL2/$FS/vol@final > " \
+ log_must eval "zfs send -R -i @init $POOL2/$FS/vol@final > " \
"$BACKDIR/vol-init-final-iR"
log_must destroy_tree $srclist
- log_must eval "$ZFS receive -d $POOL2 < $BACKDIR/vol-init-final-iR"
+ log_must eval "zfs receive -d $POOL2 < $BACKDIR/vol-init-final-iR"
dstlist=$(getds_with_suffix $POOL2/$FS/vol @final)
if [[ $srclist != $dstlist ]]; then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Duplicate POOL2 for testing
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
if is_global_zone ; then
#
# Testing send -R -I from pool
#
- log_must eval "$ZFS send -R -I @init $POOL2@final > " \
+ log_must eval "zfs send -R -I @init $POOL2@final > " \
"$BACKDIR/pool-init-final-IR"
list=$(getds_with_suffix $POOL2 @snapA)
list="$list $(getds_with_suffix $POOL2 @snapB)"
list="$list $(getds_with_suffix $POOL2 @snapC)"
list="$list $(getds_with_suffix $POOL2 @final)"
log_must destroy_tree $list
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-init-final-IR"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-init-final-IR"
log_must cmp_ds_cont $POOL $POOL2
fi
#
# Testing send -R -I from filesystem
#
-log_must eval "$ZFS send -R -I @init $dstds/$FS@final > " \
+log_must eval "zfs send -R -I @init $dstds/$FS@final > " \
"$BACKDIR/fs-init-final-IR"
list=$(getds_with_suffix $dstds/$FS @snapA)
list="$list $(getds_with_suffix $dstds/$FS @snapB)"
list="$list $(getds_with_suffix $dstds/$FS @final)"
log_must destroy_tree $list
if is_global_zone ; then
- log_must eval "$ZFS receive -d -F $dstds < $BACKDIR/fs-init-final-IR"
+ log_must eval "zfs receive -d -F $dstds < $BACKDIR/fs-init-final-IR"
else
- $ZFS receive -d -F $dstds < $BACKDIR/fs-init-final-IR
+ zfs receive -d -F $dstds < $BACKDIR/fs-init-final-IR
fi
log_must cmp_ds_subs $POOL $dstds
log_must cmp_ds_cont $POOL $dstds
# Testing send -I -R for volume
#
vol=$POOL2/$FS/vol
- log_must eval "$ZFS send -R -I @init $vol@final > " \
+ log_must eval "zfs send -R -I @init $vol@final > " \
"$BACKDIR/vol-init-final-IR"
log_must destroy_tree $vol@snapB $vol@snapC $vol@final
- log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/vol-init-final-IR"
+ log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/vol-init-final-IR"
log_must cmp_ds_subs $POOL $POOL2
log_must cmp_ds_cont $POOL $POOL2
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
typeset -i i=0
while ((i < ${#snaps[@]})); do
- log_must $ZFS rename -r ${snaps[$i]} ${snaps[((i+1))]}
+ log_must zfs rename -r ${snaps[$i]} ${snaps[((i+1))]}
((i += 2))
done
#
# Duplicate POOL2 for testing
#
-log_must eval "$ZFS send -R $POOL@init > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@init > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
dstds=$(get_dst_ds $POOL $POOL2)
log_must cmp_ds_subs $POOL $dstds
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
typeset -i i=0
while ((i < ${#dtst[@]})); do
- log_must $ZFS rename ${dtst[$i]} ${dtst[((i+1))]}
+ log_must zfs rename ${dtst[$i]} ${dtst[((i+1))]}
((i += 2))
done
#
# Verify zfs send -R should succeed
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
dstds=$(get_dst_ds $POOL $POOL2)
log_must cmp_ds_subs $POOL $dstds
#
# Verify zfs send -R -I should succeed
#
-log_must eval "$ZFS send -R -I @init $dstds@final > " \
+log_must eval "zfs send -R -I @init $dstds@final > " \
"$BACKDIR/pool-init-final-IR"
list=$(getds_with_suffix $dstds @snapA)
list="$list $(getds_with_suffix $dstds @snapB)"
list="$list $(getds_with_suffix $dstds @final)"
log_must destroy_tree $list
if is_global_zone ; then
- log_must eval "$ZFS receive -d -F $dstds < $BACKDIR/pool-init-final-IR"
+ log_must eval "zfs receive -d -F $dstds < $BACKDIR/pool-init-final-IR"
else
- $ZFS receive -d -F $dstds < $BACKDIR/pool-init-final-IR
+ zfs receive -d -F $dstds < $BACKDIR/pool-init-final-IR
fi
log_must cmp_ds_subs $POOL $dstds
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
origin=$(get_prop origin ${dtst[$i]})
if [[ $origin != "-" ]]; then
- log_must $ZFS promote ${dtst[$i]}
+ log_must zfs promote ${dtst[$i]}
fi
((i += 2))
origin=$(get_prop origin $POOL2)
if [[ $origin != "-" ]]; then
- log_must $ZFS promote $POOL2
+ log_must zfs promote $POOL2
fi
log_must cleanup_pool $POOL2
}
typeset -i i=0
while ((i < ${#dtst[@]})); do
- log_must $ZFS promote ${dtst[((i+1))]}
+ log_must zfs promote ${dtst[((i+1))]}
((i += 2))
done
#
# Verify zfs send -R should succeed
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
dstds=$(get_dst_ds $POOL $POOL2)
#
done
# Verify the original filesystem can be promoted
-log_must $ZFS promote $dstds
+log_must zfs promote $dstds
if is_global_zone ; then
- log_must $ZFS promote $dstds/$FS/vol
+ log_must zfs promote $dstds/$FS/vol
fi
-log_must $ZFS promote $dstds/$FS/fs1/fs2
+log_must zfs promote $dstds/$FS/fs1/fs2
log_pass "Changes made by 'zfs promote' can be properly received."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
function cleanup
{
if datasetexists bpool ; then
- log_must $ZPOOL destroy -f bpool
+ log_must zpool destroy -f bpool
fi
if datasetexists spool ; then
- log_must $ZPOOL destroy -f spool
+ log_must zpool destroy -f spool
fi
}
log_assert "Verify zfs receive can handle out of space correctly."
log_onexit cleanup
-log_must $MKFILE $MINVDEVSIZE $TESTDIR/bfile
-log_must $MKFILE $SPA_MINDEVSIZE $TESTDIR/sfile
+log_must mkfile $MINVDEVSIZE $TESTDIR/bfile
+log_must mkfile $SPA_MINDEVSIZE $TESTDIR/sfile
log_must zpool create bpool $TESTDIR/bfile
log_must zpool create spool $TESTDIR/sfile
#
# Test out of space on sub-filesystem
#
-log_must $ZFS create bpool/fs
-log_must $MKFILE 30M /bpool/fs/file
+log_must zfs create bpool/fs
+log_must mkfile 30M /bpool/fs/file
-log_must $ZFS snapshot bpool/fs@snap
-log_must eval "$ZFS send -R bpool/fs@snap > $BACKDIR/fs-R"
-log_mustnot eval "$ZFS receive -d -F spool < $BACKDIR/fs-R"
+log_must zfs snapshot bpool/fs@snap
+log_must eval "zfs send -R bpool/fs@snap > $BACKDIR/fs-R"
+log_mustnot eval "zfs receive -d -F spool < $BACKDIR/fs-R"
log_must datasetnonexists spool/fs
log_must ismounted spool
#
# Test out of space on top filesystem
#
-log_must $MV /bpool/fs/file /bpool
-log_must $ZFS destroy -rf bpool/fs
+log_must mv /bpool/fs/file /bpool
+log_must zfs destroy -rf bpool/fs
-log_must $ZFS snapshot bpool@snap
-log_must eval "$ZFS send -R bpool@snap > $BACKDIR/bpool-R"
-log_mustnot eval "$ZFS receive -d -F spool < $BACKDIR/bpool-R"
+log_must zfs snapshot bpool@snap
+log_must eval "zfs send -R bpool@snap > $BACKDIR/bpool-R"
+log_mustnot eval "zfs receive -d -F spool < $BACKDIR/bpool-R"
log_must datasetnonexists spool/fs
log_must ismounted spool
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
log_assert "ZFS can handle stream with multiple identical (same GUID) snapshots"
log_onexit cleanup_pool $POOL2
-log_must $ZFS create $POOL2/$FS
-log_must $ZFS snapshot $POOL2/$FS@snap
+log_must zfs create $POOL2/$FS
+log_must zfs snapshot $POOL2/$FS@snap
#
# First round restore the stream
#
-log_must eval "$ZFS send -R $POOL2/$FS@snap > $BACKDIR/fs-R"
-log_must eval "$ZFS receive -d -F $POOL2/$FS < $BACKDIR/fs-R"
+log_must eval "zfs send -R $POOL2/$FS@snap > $BACKDIR/fs-R"
+log_must eval "zfs receive -d -F $POOL2/$FS < $BACKDIR/fs-R"
#
# In order to avoid 'zfs send -R' failed, create snapshot for
# all the sub-systems
#
-list=$($ZFS list -r -H -o name -t filesystem $POOL2/$FS)
+list=$(zfs list -r -H -o name -t filesystem $POOL2/$FS)
for item in $list ; do
if datasetnonexists $item@snap ; then
- log_must $ZFS snapshot $item@snap
+ log_must zfs snapshot $item@snap
fi
done
#
# Second round restore the stream
#
-log_must eval "$ZFS send -R $POOL2/$FS@snap > $BACKDIR/fs-R"
+log_must eval "zfs send -R $POOL2/$FS@snap > $BACKDIR/fs-R"
dstds=$(get_dst_ds $POOL2/$FS $POOL2/$FS)
-log_must eval "$ZFS receive -d -F $dstds < $BACKDIR/fs-R"
+log_must eval "zfs receive -d -F $dstds < $BACKDIR/fs-R"
log_pass "ZFS can handle stream with multiple identical (same GUID) snapshots"
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
function cleanup
{
export __ZFS_POOL_RESTRICT="$POOL $POOL2"
- log_must $ZFS unmount -a
+ log_must zfs unmount -a
unset __ZFS_POOL_RESTRICT
log_must cleanup_pool $POOL
log_must cleanup_pool $POOL2
#
for prop in $(fs_inherit_prop); do
value=$(get_prop $prop $POOL/$FS)
- log_must $ZFS set $prop=$value $POOL/$FS
+ log_must zfs set $prop=$value $POOL/$FS
done
#
#
for ds in "$POOL/$FS/fs1" "$POOL/$FS/fs1/fs2" "$POOL/$FS/fs1/fclone" ; do
for prop in $(fs_inherit_prop) ; do
- $ZFS inherit $prop $ds
+ zfs inherit $prop $ds
if (($? !=0 )); then
- log_fail "$ZFS inherit $prop $ds"
+ log_fail "zfs inherit $prop $ds"
fi
done
done
if is_global_zone ; then
for prop in $(vol_inherit_prop) ; do
- $ZFS inherit $prop $POOL/$FS/vol
+ zfs inherit $prop $POOL/$FS/vol
if (($? !=0 )); then
- log_fail "$ZFS inherit $prop $POOL/$FS/vol"
+ log_fail "zfs inherit $prop $POOL/$FS/vol"
fi
done
fi
# Verify datasets can be backup and restore correctly
# Unmount $POOL/$FS to avoid two fs mount in the same mountpoint
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-R"
-log_must $ZFS unmount -f $POOL/$FS
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-R"
+log_must zfs unmount -f $POOL/$FS
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-R"
dstds=$(get_dst_ds $POOL $POOL2)
#
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
shift 2
typeset value=$(random_get $@)
- log_must eval "$ZFS set $prop='$value' $dtst"
+ log_must eval "zfs set $prop='$value' $dtst"
}
function edited_prop
case $behaviour in
"get")
- typeset props=$($ZFS inherit 2>&1 | \
- $AWK '$2=="YES" {print $1}' | \
- $EGREP -v "^vol|\.\.\.$")
+ typeset props=$(zfs inherit 2>&1 | \
+ awk '$2=="YES" {print $1}' | \
+ egrep -v "^vol|\.\.\.$")
for item in $props ; do
if [[ $item == "mlslabel" ]] && \
! is_te_enabled ; then
continue
fi
- $ZFS get -H -o property,value $item $ds >> \
+ zfs get -H -o property,value $item $ds >> \
$backfile
if (($? != 0)); then
log_fail "zfs get -H -o property,value"\
typeset prop value
while read prop value ; do
- eval $ZFS set $prop='$value' $ds
+ eval zfs set $prop='$value' $ds
if (($? != 0)); then
- log_fail "$ZFS set $prop=$value $ds"
+ log_fail "zfs set $prop=$value $ds"
fi
done < $backfile
;;
typeset prop
for prop in $(fs_inherit_prop) ; do
- log_must $ZFS inherit $prop $POOL
- log_must $ZFS inherit $prop $POOL2
+ log_must zfs inherit $prop $POOL
+ log_must zfs inherit $prop $POOL2
done
log_must setup_test_model $POOL
if [[ -d $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/*
+ log_must rm -rf $TESTDIR/*
fi
}
#
# Duplicate POOL2 for testing
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
#
# Define all the POOL/POOL2 datasets pair
done
-$ZPOOL upgrade -v | $GREP "Snapshot properties" > /dev/null 2>&1
+zpool upgrade -v | grep "Snapshot properties" > /dev/null 2>&1
if (( $? == 0 )) ; then
i=0
while ((i < ${#pair[@]})); do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
#
# Duplicate POOL2 for testing
#
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -dF $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -dF $POOL2 < $BACKDIR/pool-final-R"
-log_must $ZFS destroy -Rf $POOL/$FS
-log_must $ZFS destroy -Rf $POOL/pclone
+log_must zfs destroy -Rf $POOL/$FS
+log_must zfs destroy -Rf $POOL/pclone
if is_global_zone ; then
- log_must $ZFS destroy -Rf $POOL/vol
+ log_must zfs destroy -Rf $POOL/vol
fi
-log_must $ZFS snapshot -r $POOL@destroy
+log_must zfs snapshot -r $POOL@destroy
-log_must eval "$ZFS send -R -I @final $POOL@destroy > " \
+log_must eval "zfs send -R -I @final $POOL@destroy > " \
"$BACKDIR/pool-final-destroy-IR"
-log_must eval "$ZFS receive -dF $POOL2 < $BACKDIR/pool-final-destroy-IR"
+log_must eval "zfs receive -dF $POOL2 < $BACKDIR/pool-final-destroy-IR"
dstds=$(get_dst_ds $POOL $POOL2)
log_must cmp_ds_subs $POOL $dstds
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "zfs send will work on filesystems and volumes in a read-only pool."
log_onexit cleanup_pool $POOL2
-log_must eval "$ZPOOL export $POOL"
-log_must eval "$ZPOOL import -o readonly=on $POOL"
-log_must eval "$ZFS send -R $POOL@final > $BACKDIR/pool-final-R"
-log_must eval "$ZFS receive -d -F $POOL2 < $BACKDIR/pool-final-R"
+log_must eval "zpool export $POOL"
+log_must eval "zpool import -o readonly=on $POOL"
+log_must eval "zfs send -R $POOL@final > $BACKDIR/pool-final-R"
+log_must eval "zfs receive -d -F $POOL2 < $BACKDIR/pool-final-R"
dstds=$(get_dst_ds $POOL $POOL2)
log_must cmp_ds_subs $POOL $dstds
log_must cleanup_pool $POOL2
-log_must eval "$ZFS send -R $POOL/$FS@final > $BACKDIR/fs-final-R"
-log_must eval "$ZFS receive -d $POOL2 < $BACKDIR/fs-final-R"
+log_must eval "zfs send -R $POOL/$FS@final > $BACKDIR/fs-final-R"
+log_must eval "zfs receive -d $POOL2 < $BACKDIR/fs-final-R"
block_device_wait
-log_must eval "$ZPOOL export $POOL"
-log_must eval "$ZPOOL import $POOL"
+log_must eval "zpool export $POOL"
+log_must eval "zpool import $POOL"
dstds=$(get_dst_ds $POOL/$FS $POOL2)
log_must cmp_ds_subs $POOL/$FS $dstds
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
streamfs=$POOL/stream
test_fs_setup $POOL $POOL2
-resume_test "$ZFS send -v $sendfs@a" $streamfs $recvfs
-resume_test "$ZFS send -v -i @a $sendfs@b" $streamfs $recvfs
+resume_test "zfs send -v $sendfs@a" $streamfs $recvfs
+resume_test "zfs send -v -i @a $sendfs@b" $streamfs $recvfs
file_check $sendfs $recvfs
log_pass "Verify resumability of a full and incremental ZFS send/receive " \
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
streamfs=$POOL/stream
test_fs_setup $POOL $POOL2
-resume_test "$ZFS send -D -v $sendfs@a" $streamfs $recvfs
+resume_test "zfs send -D -v $sendfs@a" $streamfs $recvfs
file_check $sendfs $recvfs
log_pass "Verify resumability of full ZFS send/receive with the -D " \
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
streamfs=$POOL/stream
test_fs_setup $POOL $POOL2
-resume_test "$ZFS send -v -e $sendfs@a" $streamfs $recvfs
-resume_test "$ZFS send -v -e -i @a $sendfs@b" $streamfs $recvfs
+resume_test "zfs send -v -e $sendfs@a" $streamfs $recvfs
+resume_test "zfs send -v -e -i @a $sendfs@b" $streamfs $recvfs
file_check $sendfs $recvfs
log_pass "Verify resumability of a full and incremental ZFS send/receive " \
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
streamfs=$POOL/stream
test_fs_setup $POOL $POOL2
-log_must $ZFS bookmark $sendfs@a $sendfs#bm_a
-log_must $ZFS destroy $sendfs@a
-log_must $ZFS receive -v $recvfs </$POOL/initial.zsend
-resume_test "$ZFS send -i \#bm_a $sendfs@b" $streamfs $recvfs
-log_must $ZFS destroy -r -f $sendfs
-log_must $ZFS receive -v $sendfs </$POOL/initial.zsend
-log_must $ZFS receive -v $sendfs </$POOL/incremental.zsend
+log_must zfs bookmark $sendfs@a $sendfs#bm_a
+log_must zfs destroy $sendfs@a
+log_must zfs receive -v $recvfs </$POOL/initial.zsend
+resume_test "zfs send -i \#bm_a $sendfs@b" $streamfs $recvfs
+log_must zfs destroy -r -f $sendfs
+log_must zfs receive -v $sendfs </$POOL/initial.zsend
+log_must zfs receive -v $sendfs </$POOL/incremental.zsend
file_check $sendfs $recvfs
log_pass "Verify resumability of an incremental ZFS send/receive with ZFS " \
#
#
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
streamfs=$POOL/stream
test_fs_setup $POOL $POOL2
-log_must $ZFS unmount $sendfs
-resume_test "$ZFS send $sendfs" $streamfs $recvfs
+log_must zfs unmount $sendfs
+resume_test "zfs send $sendfs" $streamfs $recvfs
file_check $sendfs $recvfs
log_pass "Verify resumability of a full ZFS send/receive with the source " \
#
#
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/rsend/rsend.kshlib
verify_disk_count "$DISKS" 2
if is_global_zone ; then
- log_must $ZPOOL create $POOL $DISK1
- log_must $ZPOOL create $POOL2 $DISK2
+ log_must zpool create $POOL $DISK1
+ log_must zpool create $POOL2 $DISK2
fi
-log_must $MKDIR $BACKDIR $TESTDIR
+log_must mkdir $BACKDIR $TESTDIR
log_must setup_test_model $POOL
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-$DF -F zfs -h | $GREP "$TESTFS " >/dev/null
-[[ $? == 0 ]] && log_must $ZFS umount -f $TESTDIR
+df -F zfs -h | grep "$TESTFS " >/dev/null
+[[ $? == 0 ]] && log_must zfs umount -f $TESTDIR
destroy_pool $TESTPOOL
DISK=${DISKS%% *}
#
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
typeset -i NUMBER_OF_DISKS=0
for i in $DISKS; do
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $SINGLE_DISK ) && [[ -z $($ECHO $SINGLE_DISK | awk 'substr($1,18,1)\
+ if ( is_mpath_device $SINGLE_DISK ) && [[ -z $(echo $SINGLE_DISK | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $SINGLE_DISK ); then
SIDE_PRIMARY=${SINGLE_DISK}1
SIDE_SECONDARY=${SINGLE_DISK}2
else
export DEV_DSKDIR=$DEV_RDSKDIR
fi
- if ( is_mpath_device $MIRROR_PRIMARY ) && [[ -z $($ECHO $MIRROR_PRIMARY | awk 'substr($1,18,1)\
+ if ( is_mpath_device $MIRROR_PRIMARY ) && [[ -z $(echo $MIRROR_PRIMARY | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $MIRROR_PRIMARY ); then
SIDE_PRIMARY=${MIRROR_PRIMARY}1
elif ( is_mpath_device $MIRROR_PRIMARY || is_loop_device $MIRROR_PRIMARY ); then
else
log_fail "$MIRROR_PRIMARY not supported for partitioning."
fi
- if ( is_mpath_device $MIRROR_SECONDARY ) && [[ -z $($ECHO $MIRROR_SECONDARY | awk 'substr($1,18,1)\
+ if ( is_mpath_device $MIRROR_SECONDARY ) && [[ -z $(echo $MIRROR_SECONDARY | awk 'substr($1,18,1)\
~ /^[[:digit:]]+$/') ]] || ( is_real_device $MIRROR_SECONDARY ); then
SIDE_SECONDARY=${MIRROR_SECONDARY}1
elif ( is_mpath_device $MIRROR_SECONDARY || is_loop_device $MIRROR_SECONDARY ); then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/scrub_mirror/default.cfg
while (( atfile < FILE_COUNT )); do
files[$atfile]=$TESTDIR/file.$atfile
- log_must $FILE_WRITE -o create -f $TESTDIR/file.$atfile \
+ log_must file_write -o create -f $TESTDIR/file.$atfile \
-b $FILE_SIZE -c 1
- cksums[$atfile]=$($CKSUM ${files[$atfile]})
+ cksums[$atfile]=$(cksum ${files[$atfile]})
(( atfile = atfile + 1 ))
done
# dd the affected side of the mirror
- log_must $DD if=$OVERWRITING_DEVICE of=${DEV_DSKDIR}/$AFFECTED_DEVICE \
+ log_must dd if=$OVERWRITING_DEVICE of=${DEV_DSKDIR}/$AFFECTED_DEVICE \
seek=8 bs=$DD_BLOCK count=$(( DD_COUNT - 128 )) conv=notrunc
- log_must $ZPOOL scrub $POOL
+ log_must zpool scrub $POOL
while is_pool_scrubbing $POOL; do
- $SLEEP 2
+ sleep 2
done
atfile=0
typeset -i failedcount=0
while (( atfile < FILE_COUNT )); do
files[$atfile]=$TESTDIR/file.$atfile
- newcksum=$($CKSUM ${files[$atfile]})
+ newcksum=$(cksum ${files[$atfile]})
if [[ $newcksum != ${cksums[$atfile]} ]]; then
(( failedcount = failedcount + 1 ))
fi
- $RM -f ${files[$atfile]}
+ rm -f ${files[$atfile]}
(( atfile = atfile + 1 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
if datasetexists $TESTPOOL2 ; then
- log_must $ZPOOL destroy -f $TESTPOOL2
+ log_must zpool destroy -f $TESTPOOL2
fi
if [[ -d $VDIR ]]; then
- log_must $RM -rf $VDIR
+ log_must rm -rf $VDIR
fi
if [[ -d $VDIR2 ]]; then
- log_must $RM -rf $VDIR2
+ log_must rm -rf $VDIR2
fi
log_pass
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
if [[ -d $VDEV ]]; then
- log_must $RM -rf $VDIR
+ log_must rm -rf $VDIR
fi
if [[ -d $VDEV2 ]]; then
- log_must $RM -rf $VDIR2
+ log_must rm -rf $VDIR2
fi
-log_must $MKDIR -p $VDIR $VDIR2
-log_must $MKFILE $MINVDEVSIZE $VDEV $SDEV $LDEV $VDEV2 $SDEV2 $LDEV2
+log_must mkdir -p $VDIR $VDIR2
+log_must mkfile $MINVDEVSIZE $VDEV $SDEV $LDEV $VDEV2 $SDEV2 $LDEV2
log_pass
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
if datasetexists $TESTPOOL2 ; then
- log_must $ZPOOL destroy -f $TESTPOOL2
+ log_must zpool destroy -f $TESTPOOL2
fi
rm -rf $TESTDIR
}
typeset pool=$1
typeset -i ret=0
- $ZPOOL status -xv $pool > /dev/null 2>&1
+ zpool status -xv $pool > /dev/null 2>&1
ret=$?
- $ZPOOL iostat > /dev/null 2>&1
+ zpool iostat > /dev/null 2>&1
((ret |= $?))
typeset mntpnt=$(get_prop mountpoint $pool)
- $DD if=/dev/random of=$mntpnt/testfile.$$ &
+ dd if=/dev/random of=$mntpnt/testfile.$$ &
typeset pid=$!
- $ZPOOL iostat -v 1 3 > /dev/null
+ zpool iostat -v 1 3 > /dev/null
((ret |= $?))
kill -9 $pid
#
# mirror:/disks/d ONLINE mirror:/disks/e ONLINE stripe:/disks/f ONLINE
#
- set -A dev_stat_tab $($ZPOOL status -v $pool | $NAWK 'BEGIN {start=0} \
+ set -A dev_stat_tab $(zpool status -v $pool | nawk 'BEGIN {start=0} \
/\tlogs/ {start=1}
/\tmirror/ || /\tspares/ || /^$/ {start=0}
(start==1) && /\t (\/|[a-zA-Z])/ \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for logtype in "" "mirror"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV
log_must display_status $TESTPOOL
log_must verify_slog_device \
$TESTPOOL $ldev 'ONLINE' $logtype
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for logtype in "" "mirror"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV $spare $SDEV
- log_must $ZPOOL add $TESTPOOL log $logtype $LDEV
+ log_must zpool create $TESTPOOL $type $VDEV $spare $SDEV
+ log_must zpool add $TESTPOOL log $logtype $LDEV
log_must display_status $TESTPOOL
typeset ldev=$(random_get $LDEV)
log_must verify_slog_device \
$TESTPOOL $ldev 'ONLINE' $logtype
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for newtype in "" "mirror"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV
- log_must $ZPOOL add $TESTPOOL \
+ log_must zpool add $TESTPOOL \
log $newtype $LDEV2
log_must display_status $TESTPOOL
log_must verify_slog_device \
$TESTPOOL $ldev 'ONLINE' $newtype
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for logtype in "" "mirror"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV
ldev=$(random_get $LDEV)
typeset ldev2=$(random_get $LDEV2)
- log_must $ZPOOL attach $TESTPOOL $ldev $ldev2
+ log_must zpool attach $TESTPOOL $ldev $ldev2
log_must display_status $TESTPOOL
log_must verify_slog_device \
$TESTPOOL $ldev 'ONLINE' 'mirror'
log_must verify_slog_device \
$TESTPOOL $ldev2 'ONLINE' 'mirror'
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for spare in "" "spare"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV $spare $SDEV \
+ log_must zpool create $TESTPOOL $type $VDEV $spare $SDEV \
log mirror $LDEV mirror $LDEV2
ldev=$(random_get $LDEV $LDEV2)
- log_must $ZPOOL detach $TESTPOOL $ldev
+ log_must zpool detach $TESTPOOL $ldev
log_must display_status $TESTPOOL
log_mustnot verify_slog_device $TESTPOOL $ldev 'ONLINE' 'mirror'
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for logtype in "" "mirror"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV
sdev=$(random_get $LDEV)
tdev=$(random_get $LDEV2)
- log_must $ZPOOL replace $TESTPOOL $sdev $tdev
+ log_must zpool replace $TESTPOOL $sdev $tdev
log_must display_status $TESTPOOL
# sleep 15 to make sure replacement completely.
- log_must $SLEEP 15
+ log_must sleep 15
log_must verify_slog_device \
$TESTPOOL $tdev 'ONLINE' $logtype
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
# Create pool which devices resider in different
# directory
#
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV $LDEV2
ldev=$(random_get $LDEV $LDEV2)
log_must verify_slog_device \
#
# Nomal export/import operating
#
- log_must $ZPOOL export $TESTPOOL
- log_must $ZPOOL import -d $VDIR -d $VDIR2 $TESTPOOL
+ log_must zpool export $TESTPOOL
+ log_must zpool import -d $VDIR -d $VDIR2 $TESTPOOL
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV $LDEV2)
log_must verify_slog_device \
#
# Destroy the pool and import again
#
- log_must $ZPOOL destroy $TESTPOOL
- log_must $ZPOOL import -Df -d $VDIR -d $VDIR2 $TESTPOOL
+ log_must zpool destroy $TESTPOOL
+ log_must zpool import -Df -d $VDIR -d $VDIR2 $TESTPOOL
log_must display_status $TESTPOOL
ldev=$(random_get $LDEV $LDEV2)
log_must verify_slog_device \
$TESTPOOL $ldev 'ONLINE' $logtype
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for logtype in "raidz" "raidz1" "raidz2"
do
- log_mustnot $ZPOOL create $TESTPOOL $type $VDEV \
+ log_mustnot zpool create $TESTPOOL $type $VDEV \
$spare $SDEV log $logtype $LDEV $LDEV2
ldev=$(random_get $LDEV $LDEV2)
log_mustnot verify_slog_device \
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
for logtype in "raidz" "raidz1" "raidz2"
do
log=$(random_get_with_non "log")
- log_must $ZPOOL create $TESTPOOL $type $VDEV \
+ log_must zpool create $TESTPOOL $type $VDEV \
$spare $SDEV $log $LDEV
- log_mustnot $ZPOOL add $TESTPOOL log $logtype $LDEV2
+ log_mustnot zpool add $TESTPOOL log $logtype $LDEV2
ldev=$(random_get $LDEV2)
log_mustnot verify_slog_device \
$TESTPOOL $ldev 'ONLINE' $logtype
- log_must $ZPOOL destroy $TESTPOOL
+ log_must zpool destroy $TESTPOOL
done
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
log_assert "Slog device can not be replaced with spare device."
log_onexit cleanup
-log_must $ZPOOL create $TESTPOOL $VDEV spare $SDEV log $LDEV
+log_must zpool create $TESTPOOL $VDEV spare $SDEV log $LDEV
sdev=$(random_get $SDEV)
ldev=$(random_get $LDEV)
-log_mustnot $ZPOOL replace $TESTPOOL $ldev $sdev
+log_mustnot zpool replace $TESTPOOL $ldev $sdev
log_mustnot verify_slog_device $TESTPOOL $sdev 'ONLINE'
log_must verify_slog_device $TESTPOOL $ldev 'ONLINE'
-log_must $ZPOOL create $TESTPOOL2 $VDEV2 spare $SDEV2
+log_must zpool create $TESTPOOL2 $VDEV2 spare $SDEV2
sdev2=$(random_get $SDEV2)
-log_mustnot $ZPOOL replace $TESTPOOL $ldev $sdev2
-log_mustnot $ZPOOL replace -f $TESTPOOL $ldev $sdev2
+log_mustnot zpool replace $TESTPOOL $ldev $sdev2
+log_mustnot zpool replace -f $TESTPOOL $ldev $sdev2
log_mustnot verify_slog_device $TESTPOOL $sdev2 'ONLINE'
log_must verify_slog_device $TESTPOOL $ldev 'ONLINE'
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for spare in "" "spare"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV $spare $SDEV \
+ log_must zpool create $TESTPOOL $type $VDEV $spare $SDEV \
log mirror $LDEV mirror $LDEV2
ldev=$(random_get $LDEV $LDEV2)
- log_must $ZPOOL offline $TESTPOOL $ldev
+ log_must zpool offline $TESTPOOL $ldev
log_must display_status $TESTPOOL
log_must verify_slog_device $TESTPOOL $ldev 'OFFLINE' 'mirror'
- log_must $ZPOOL online $TESTPOOL $ldev
+ log_must zpool online $TESTPOOL $ldev
log_must display_status $TESTPOOL
log_must verify_slog_device $TESTPOOL $ldev 'ONLINE' 'mirror'
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for spare in "" "spare"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV $spare $SDEV \
+ log_must zpool create $TESTPOOL $type $VDEV $spare $SDEV \
log mirror $LDEV
mntpnt=$(get_prop mountpoint $TESTPOOL)
#
# Create file in pool to trigger writing in slog devices
#
- log_must $DD if=/dev/urandom of=$mntpnt/testfile.$$ count=100
+ log_must dd if=/dev/urandom of=$mntpnt/testfile.$$ count=100
ldev=$(random_get $LDEV)
- log_must $MKFILE $MINVDEVSIZE $ldev
- log_must $ZPOOL scrub $TESTPOOL
+ log_must mkfile $MINVDEVSIZE $ldev
+ log_must zpool scrub $TESTPOOL
log_must display_status $TESTPOOL
log_must verify_slog_device $TESTPOOL $ldev 'UNAVAIL' 'mirror'
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
{
cleanup
if datasetexists $TESTPOOL2 ; then
- log_must $ZPOOL destroy -f $TESTPOOL2
+ log_must zpool destroy -f $TESTPOOL2
fi
if [[ -n $lofidev ]]; then
- $LOFIADM -d $lofidev
+ lofiadm -d $lofidev
fi
}
log_onexit cleanup_testenv
dsk1=${DISKS%% *}
-log_must $ZPOOL create $TESTPOOL ${DISKS#$dsk1}
+log_must zpool create $TESTPOOL ${DISKS#$dsk1}
# Add nomal disk
-log_must $ZPOOL add $TESTPOOL log $dsk1
+log_must zpool add $TESTPOOL log $dsk1
log_must verify_slog_device $TESTPOOL $dsk1 'ONLINE'
# Add nomal file
-log_must $ZPOOL add $TESTPOOL log $LDEV
+log_must zpool add $TESTPOOL log $LDEV
ldev=$(random_get $LDEV)
log_must verify_slog_device $TESTPOOL $ldev 'ONLINE'
# Add lofi device
lofidev=${LDEV2%% *}
-log_must $LOFIADM -a $lofidev
-lofidev=$($LOFIADM $lofidev)
-log_must $ZPOOL add $TESTPOOL log $lofidev
+log_must lofiadm -a $lofidev
+lofidev=$(lofiadm $lofidev)
+log_must zpool add $TESTPOOL log $lofidev
log_must verify_slog_device $TESTPOOL $lofidev 'ONLINE'
log_pass "Verify slog device can be disk, file, lofi device or any device " \
# Add file which reside in the itself
mntpnt=$(get_prop mountpoint $TESTPOOL)
-log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev
-log_must $ZPOOL add $TESTPOOL $mntpnt/vdev
+log_must mkfile $MINVDEVSIZE $mntpnt/vdev
+log_must zpool add $TESTPOOL $mntpnt/vdev
# Add ZFS volume
vol=$TESTPOOL/vol
-log_must $ZPOOL create -V $MINVDEVSIZE $vol
-log_must $ZPOOL add $TESTPOOL ${ZVOL_DEVDIR}/$vol
\ No newline at end of file
+log_must zpool create -V $MINVDEVSIZE $vol
+log_must zpool add $TESTPOOL ${ZVOL_DEVDIR}/$vol
\ No newline at end of file
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
do
for spare in "" "spare"
do
- log_must $ZPOOL create $TESTPOOL $type $VDEV $spare $SDEV \
+ log_must zpool create $TESTPOOL $type $VDEV $spare $SDEV \
log $LDEV
# Corrupt a pool device to make the pool DEGRADED
- $DD if=/dev/urandom of=/$TESTPOOL/filler bs=1024k count=50
+ dd if=/dev/urandom of=/$TESTPOOL/filler bs=1024k count=50
# The oseek value below is to skip past the vdev label.
if is_linux; then
- log_must $DD if=/dev/urandom of=$VDIR/a bs=1024k \
+ log_must dd if=/dev/urandom of=$VDIR/a bs=1024k \
seek=4 conv=notrunc count=50
else
- log_must $DD if=/dev/urandom of=$VDIR/a bs=1024k \
+ log_must dd if=/dev/urandom of=$VDIR/a bs=1024k \
oseek=4 conv=notrunc count=50
fi
- log_must $ZPOOL scrub $TESTPOOL
+ log_must zpool scrub $TESTPOOL
log_must display_status $TESTPOOL
- log_must $ZPOOL status $TESTPOOL 2>&1 >/dev/null
+ log_must zpool status $TESTPOOL 2>&1 >/dev/null
- $ZPOOL status -v $TESTPOOL | \
- $GREP "state: DEGRADED" 2>&1 >/dev/null
+ zpool status -v $TESTPOOL | \
+ grep "state: DEGRADED" 2>&1 >/dev/null
if (( $? != 0 )); then
log_fail "pool $TESTPOOL status should be DEGRADED"
fi
- $ZPOOL status -v $TESTPOOL | $GREP logs | \
- $GREP "DEGRADED" 2>&1 >/dev/null
+ zpool status -v $TESTPOOL | grep logs | \
+ grep "DEGRADED" 2>&1 >/dev/null
if (( $? == 0 )); then
log_fail "log device should display correct status"
fi
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
done
done
#
# 1. Create an empty file system (TESTFS)
#
-log_must $ZPOOL create $TESTPOOL $VDEV log mirror $LDEV
-log_must $ZFS set compression=on $TESTPOOL
-log_must $ZFS create $TESTPOOL/$TESTFS
-log_must $MKDIR -p $TESTDIR
+log_must zpool create $TESTPOOL $VDEV log mirror $LDEV
+log_must zfs set compression=on $TESTPOOL
+log_must zfs create $TESTPOOL/$TESTFS
+log_must mkdir -p $TESTDIR
#
# This dd command works around an issue where ZIL records aren't created
# after freezing the pool unless a ZIL header already exists. Create a file
# synchronously to force ZFS to write one out.
#
-log_must $GNUDD if=/dev/zero of=/$TESTPOOL/$TESTFS/sync \
+log_must dd if=/dev/zero of=/$TESTPOOL/$TESTFS/sync \
conv=fdatasync,fsync bs=1 count=1
#
# 2. Freeze TESTFS
#
-log_must $ZPOOL freeze $TESTPOOL
+log_must zpool freeze $TESTPOOL
#
# 3. Run various user commands that create files, directories and ACLs
log_must rmdir /$TESTPOOL/$TESTFS/dir_to_delete
# Create a simple validation payload
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS/payload bs=1k count=8
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/payload bs=1k count=8
CHECKSUM_BEFORE=$(sha256sum -b /$TESTPOOL/$TESTFS/payload)
# TX_WRITE (small file with ordering)
-log_must $MKFILE 1k /$TESTPOOL/$TESTFS/small_file
-log_must $MKFILE 512b /$TESTPOOL/$TESTFS/small_file
+log_must mkfile 1k /$TESTPOOL/$TESTFS/small_file
+log_must mkfile 512b /$TESTPOOL/$TESTFS/small_file
# TX_CREATE, TX_MKDIR, TX_REMOVE, TX_RMDIR
log_must cp -R /usr/share/dict /$TESTPOOL/$TESTFS
log_must touch -cm -t 201311271200 /$TESTPOOL/$TESTFS/setattr
# TX_TRUNCATE (to zero)
-log_must $MKFILE 4k /$TESTPOOL/$TESTFS/truncated_file
-log_must $TRUNCATE -s 0 /$TESTPOOL/$TESTFS/truncated_file
+log_must mkfile 4k /$TESTPOOL/$TESTFS/truncated_file
+log_must truncate -s 0 /$TESTPOOL/$TESTFS/truncated_file
# TX_WRITE (large file)
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS/large \
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/large \
bs=128k count=64 oflag=sync
# Write zeroes, which compresss to holes, in the middle of a file
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.1 bs=128k count=8
-log_must $DD if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.1 bs=128k count=2
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.1 bs=128k count=8
+log_must dd if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.1 bs=128k count=2
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.2 bs=128k count=8
-log_must $DD if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.2 bs=128k count=2 seek=2
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.2 bs=128k count=8
+log_must dd if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.2 bs=128k count=2 seek=2
-log_must $DD if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.3 bs=128k count=8
-log_must $DD if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.3 bs=128k count=2 \
+log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/holes.3 bs=128k count=8
+log_must dd if=/dev/zero of=/$TESTPOOL/$TESTFS/holes.3 bs=128k count=2 \
seek=2 conv=notrunc
# TX_MKXATTR
-log_must $MKDIR /$TESTPOOL/$TESTFS/xattr.dir
+log_must mkdir /$TESTPOOL/$TESTFS/xattr.dir
log_must attr -qs fileattr -V HelloWorld /$TESTPOOL/$TESTFS/xattr.dir
log_must attr -qs tmpattr -V HelloWorld /$TESTPOOL/$TESTFS/xattr.dir
log_must attr -qr tmpattr /$TESTPOOL/$TESTFS/xattr.dir
# At this stage TESTFS is empty again and unfrozen, and the
# intent log contains a complete set of deltas to replay it.
#
-log_must $ZFS unmount /$TESTPOOL/$TESTFS
+log_must zfs unmount /$TESTPOOL/$TESTFS
log_note "Verify transactions to replay:"
-log_must $ZDB -iv $TESTPOOL/$TESTFS
+log_must zdb -iv $TESTPOOL/$TESTFS
-log_must $ZPOOL export $TESTPOOL
+log_must zpool export $TESTPOOL
#
# 6. Remount TESTFS <which replays the intent log>
# Import the pool to unfreeze it and claim log blocks. It has to be
# `zpool import -f` because we can't write a frozen pool's labels!
#
-log_must $ZPOOL import -f -d $VDIR $TESTPOOL
+log_must zpool import -f -d $VDIR $TESTPOOL
#
# 7. Compare TESTFS against the TESTDIR copy
#
log_note "Verify current block usage:"
-log_must $ZDB -bcv $TESTPOOL
+log_must zdb -bcv $TESTPOOL
log_note "Verify copy of xattrs:"
log_must attr -l /$TESTPOOL/$TESTFS/xattr.dir
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function setup_all
{
create_pool $TESTPOOL1 ${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL
- log_must $ZFS create $TESTPOOL1/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR2 $TESTPOOL1/$TESTFS
+ log_must zfs create $TESTPOOL1/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR2 $TESTPOOL1/$TESTFS
return 0
}
i=0
while (( i < ${#args[*]} )); do
snapexists ${args[i]} && \
- log_must $ZFS destroy -Rf ${args[i]}
+ log_must zfs destroy -Rf ${args[i]}
[[ -d ${args[i+3]} ]] && \
- log_must $RM -rf ${args[i+3]}
+ log_must rm -rf ${args[i+3]}
[[ -d ${args[i+1]} ]] && \
- log_must $RM -rf ${args[i+1]}
+ log_must rm -rf ${args[i+1]}
(( i = i + 4 ))
done
datasetexists $TESTPOOL1/$TESTFS && \
- log_must $ZFS destroy -f $TESTPOOL1/$TESTFS
+ log_must zfs destroy -f $TESTPOOL1/$TESTFS
destroy_pool $TESTPOOL1
[[ -d $TESTDIR2 ]] && \
- log_must $RM -rf $TESTDIR2
+ log_must rm -rf $TESTDIR2
return 0
}
setup_all
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
typeset -i i=0
log_note "Populate the $mtpt directory (prior to snapshot)"
typeset -i j=1
while [[ $j -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $mtpt/before_file$j \
+ log_must file_write -o create -f $mtpt/before_file$j \
-b $BLOCKSZ -c $NUM_WRITES -d $j
(( j = j + 1 ))
#
# Take a snapshot of the test file system.
#
- log_must $ZFS snapshot ${args[i]}
+ log_must zfs snapshot ${args[i]}
#
# Clone a new file system from the snapshot
#
- log_must $ZFS clone ${args[i]} ${args[i+2]}
+ log_must zfs clone ${args[i]} ${args[i+2]}
if [[ -n ${args[i+3]} ]] ; then
- log_must $ZFS set mountpoint=${args[i+3]} ${args[i+2]}
+ log_must zfs set mountpoint=${args[i+3]} ${args[i+2]}
- FILE_COUNT=`$LS -Al ${args[i+3]} | $GREP -v "total" \
- | $GREP -v "\.zfs" | wc -l`
+ FILE_COUNT=`ls -Al ${args[i+3]} | grep -v "total" \
+ | grep -v "\.zfs" | wc -l`
if [[ $FILE_COUNT -ne $COUNT ]]; then
- $LS -Al ${args[i+3]}
+ ls -Al ${args[i+3]}
log_fail "AFTER: ${args[i+3]} contains $FILE_COUNT files(s)."
fi
log_note "Verify the ${args[i+3]} directory is writable"
j=1
while [[ $j -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f ${args[i+3]}/after_file$j \
+ log_must file_write -o create -f ${args[i+3]}/after_file$j \
-b $BLOCKSZ -c $NUM_WRITES -d $j
(( j = j + 1 ))
done
- FILE_COUNT=`$LS -Al ${args[i+3]}/after* | $GREP -v "total" | wc -l`
+ FILE_COUNT=`ls -Al ${args[i+3]}/after* | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne $COUNT ]]; then
- $LS -Al ${args[i+3]}
+ ls -Al ${args[i+3]}
log_fail "${args[i+3]} contains $FILE_COUNT after* files(s)."
fi
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
snapexists $SNAPFS
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $SNAPFS
+ log_must zfs destroy $SNAPFS
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify that a rollback to a previous snapshot succeeds."
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Populate the $TESTDIR directory (prior to snapshot)"
typeset -i i=1
while [[ $i -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/before_file$i \
+ log_must file_write -o create -f $TESTDIR/before_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
-FILE_COUNT=`$LS -Al $SNAPDIR | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $SNAPDIR | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne $COUNT ]]; then
- $LS -Al $SNAPDIR
+ ls -Al $SNAPDIR
log_fail "AFTER: $SNAPFS contains $FILE_COUNT files(s)."
fi
log_note "Populate the $TESTDIR directory (post snapshot)"
typeset -i i=1
while [[ $i -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/after_file$i \
+ log_must file_write -o create -f $TESTDIR/after_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
#
# Now rollback to latest snapshot
#
-log_must $ZFS rollback $SNAPFS
+log_must zfs rollback $SNAPFS
-FILE_COUNT=`$LS -Al $TESTDIR/after* 2> /dev/null | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/after* 2> /dev/null | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne 0 ]]; then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT after* files(s)."
fi
-FILE_COUNT=`$LS -Al $TESTDIR/before* 2> /dev/null \
- | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/before* 2> /dev/null \
+ | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne $COUNT ]]; then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT before* files(s)."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
snapexists $SNAPFS.1
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $SNAPFS.1
+ log_must zfs destroy $SNAPFS.1
snapexists $SNAPFS
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $SNAPFS
+ log_must zfs destroy $SNAPFS
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify rollback is with respect to latest snapshot."
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Populate the $TESTDIR directory (prior to first snapshot)"
typeset -i i=1
while [[ $i -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/original_file$i \
+ log_must file_write -o create -f $TESTDIR/original_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
-FILE_COUNT=`$LS -Al $SNAPDIR | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $SNAPDIR | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne $COUNT ]]; then
- $LS -Al $SNAPDIR
+ ls -Al $SNAPDIR
log_fail "AFTER: $SNAPFS contains $FILE_COUNT files(s)."
fi
log_note "Populate the $TESTDIR directory (prior to second snapshot)"
typeset -i i=1
while [[ $i -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/afterfirst_file$i \
+ log_must file_write -o create -f $TESTDIR/afterfirst_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-log_must $ZFS snapshot $SNAPFS.1
+log_must zfs snapshot $SNAPFS.1
log_note "Populate the $TESTDIR directory (Post second snapshot)"
typeset -i i=1
while [[ $i -le $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/aftersecond_file$i \
+ log_must file_write -o create -f $TESTDIR/aftersecond_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/original_file* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/original_file* > /dev/null 2>&1
#
# Now rollback to latest snapshot
#
-log_must $ZFS rollback $SNAPFS.1
+log_must zfs rollback $SNAPFS.1
-FILE_COUNT=`$LS -Al $TESTDIR/aftersecond* 2> /dev/null \
- | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/aftersecond* 2> /dev/null \
+ | grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne 0 ]]; then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT aftersecond* files(s)."
fi
-FILE_COUNT=`$LS -Al $TESTDIR/original* $TESTDIR/afterfirst*| $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/original* $TESTDIR/afterfirst*| grep -v "total" | wc -l`
if [[ $FILE_COUNT -ne 20 ]]; then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT original* files(s)."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset fs=""
export __ZFS_POOL_RESTRICT="$TESTPOOL"
- log_must $ZFS mount -a
+ log_must zfs mount -a
unset __ZFS_POOL_RESTRICT
for snap in "$SNAPPOOL.1" "$SNAPPOOL"
do
snapexists $snap
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $snap
+ log_must zfs destroy $snap
done
for fs in "$TESTPOOL/$TESTFILE/$TESTFILE.1" "$TESTPOOL/$TESTFILE"
do
datasetexists $fs
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy -r $fs
+ log_must zfs destroy -r $fs
done
[[ -e /$TESTPOOL ]] && \
- log_must $RM -rf $TESTPOOL/*
+ log_must rm -rf $TESTPOOL/*
}
log_assert "Verify rollback succeeds when there are nested file systems."
log_onexit cleanup
-log_must $ZFS snapshot $SNAPPOOL
-log_must $ZFS rollback $SNAPPOOL
-log_mustnot $ZFS snapshot $SNAPPOOL
+log_must zfs snapshot $SNAPPOOL
+log_must zfs rollback $SNAPPOOL
+log_mustnot zfs snapshot $SNAPPOOL
-log_must $TOUCH /$TESTPOOL/$TESTFILE
+log_must touch /$TESTPOOL/$TESTFILE
-log_must $ZFS rollback $SNAPPOOL
-log_must $ZFS create $TESTPOOL/$TESTFILE
+log_must zfs rollback $SNAPPOOL
+log_must zfs create $TESTPOOL/$TESTFILE
-log_must $ZFS rollback $SNAPPOOL
+log_must zfs rollback $SNAPPOOL
log_note "Verify rollback of multiple nested file systems succeeds."
-log_must $ZFS snapshot $TESTPOOL/$TESTFILE@$TESTSNAP
-log_must $ZFS snapshot $SNAPPOOL.1
+log_must zfs snapshot $TESTPOOL/$TESTFILE@$TESTSNAP
+log_must zfs snapshot $SNAPPOOL.1
export __ZFS_POOL_RESTRICT="$TESTPOOL"
-log_must $ZFS unmount -a
-log_must $ZFS mount -a
+log_must zfs unmount -a
+log_must zfs mount -a
unset __ZFS_POOL_RESTRICT
-log_must $TOUCH /$TESTPOOL/$TESTFILE/$TESTFILE.1
+log_must touch /$TESTPOOL/$TESTFILE/$TESTFILE.1
-log_must $ZFS rollback $SNAPPOOL.1
+log_must zfs rollback $SNAPPOOL.1
log_pass "Rollbacks succeed when nested file systems are present."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
snapexists $SNAPFS
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPFS
+ log_must zfs destroy $SNAPFS
fi
if [[ -e $SNAPDIR ]]; then
- log_must $RM -rf $SNAPDIR > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
}
log_onexit cleanup
log_note "Create a file in the zfs filesystem..."
-log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE -b $BLOCKSZ \
+log_must file_write -o create -f $TESTDIR/$TESTFILE -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
log_note "Sum the file, save for later comparison..."
-FILE_SUM=`$SUM -r $TESTDIR/$TESTFILE | $AWK '{ print $1 }'`
+FILE_SUM=`sum -r $TESTDIR/$TESTFILE | awk '{ print $1 }'`
log_note "FILE_SUM = $FILE_SUM"
log_note "Create a snapshot and mount it..."
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
log_note "Append to the original file..."
-log_must $FILE_WRITE -o append -f $TESTDIR/$TESTFILE -b $BLOCKSZ \
+log_must file_write -o append -f $TESTDIR/$TESTFILE -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
-SNAP_FILE_SUM=`$SUM -r $SNAPDIR/$TESTFILE | $AWK '{ print $1 }'`
+SNAP_FILE_SUM=`sum -r $SNAPDIR/$TESTFILE | awk '{ print $1 }'`
if [[ $SNAP_FILE_SUM -ne $FILE_SUM ]]; then
log_fail "Sums do not match, aborting!! ($SNAP_FILE_SUM != $FILE_SUM)"
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
snapexists $SNAPFS
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPFS
+ log_must zfs destroy $SNAPFS
fi
if [[ -e $SNAPDIR ]]; then
- log_must $RM -rf $SNAPDIR > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
if [[ -e /tmp/zfs_snapshot2.$$ ]]; then
- log_must $RM -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
+ log_must rm -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
fi
}
typeset OP=create
[[ -n $TESTDIR ]] && \
- $RM -rf $TESTDIR/* > /dev/null 2>&1
+ rm -rf $TESTDIR/* > /dev/null 2>&1
log_note "Create files in the zfs filesystem..."
typeset i=1
while [ $i -lt $COUNT ]; do
- log_must $FILE_WRITE -o $OP -f $TESTDIR/file$i \
+ log_must file_write -o $OP -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
(( i = i + 1 ))
log_note "Create a tarball from $TESTDIR contents..."
CWD=$PWD
cd $TESTDIR || log_fail "Could not cd $TESTDIR"
-log_must $TAR cf $TESTDIR/tarball.original.tar file*
+log_must tar cf $TESTDIR/tarball.original.tar file*
cd $CWD || log_fail "Could not cd $CWD"
log_note "Create a snapshot and mount it..."
-log_must $ZFS snapshot $SNAPFS
+log_must zfs snapshot $SNAPFS
log_note "Remove all of the original files..."
-log_must $RM -f $TESTDIR/file* > /dev/null 2>&1
+log_must rm -f $TESTDIR/file* > /dev/null 2>&1
log_note "Create tarball of snapshot..."
CWD=$PWD
cd $SNAPDIR || log_fail "Could not cd $SNAPDIR"
-log_must $TAR cf $TESTDIR/tarball.snapshot.tar file*
+log_must tar cf $TESTDIR/tarball.snapshot.tar file*
cd $CWD || log_fail "Could not cd $CWD"
-log_must $MKDIR $TESTDIR/original
-log_must $MKDIR $TESTDIR/snapshot
+log_must mkdir $TESTDIR/original
+log_must mkdir $TESTDIR/snapshot
CWD=$PWD
cd $TESTDIR/original || log_fail "Could not cd $TESTDIR/original"
-log_must $TAR xf $TESTDIR/tarball.original.tar
+log_must tar xf $TESTDIR/tarball.original.tar
cd $TESTDIR/snapshot || log_fail "Could not cd $TESTDIR/snapshot"
-log_must $TAR xf $TESTDIR/tarball.snapshot.tar
+log_must tar xf $TESTDIR/tarball.snapshot.tar
cd $CWD || log_fail "Could not cd $CWD"
-$DIRCMP $TESTDIR/original $TESTDIR/snapshot > /tmp/zfs_snapshot2.$$
-$GREP different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
+dircmp $TESTDIR/original $TESTDIR/snapshot > /tmp/zfs_snapshot2.$$
+grep different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
if [[ $? -ne 1 ]]; then
log_fail "Directory structures differ."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while [ $i -lt $COUNT ]; do
snapexists $SNAPFS.$i
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPFS.$i
+ log_must zfs destroy $SNAPFS.$i
fi
if [[ -e $SNAPDIR.$i ]]; then
- log_must $RM -rf $SNAPDIR.$i > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR.$i > /dev/null 2>&1
fi
(( i = i + 1 ))
done
if [[ -e $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
}
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Create some files in the $TESTDIR directory..."
typeset -i i=1
while [[ $i -lt $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/file$i \
+ log_must file_write -o create -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
- log_must $ZFS snapshot $SNAPFS.$i
+ log_must zfs snapshot $SNAPFS.$i
(( i = i + 1 ))
done
log_note "Remove all of the original files"
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/file* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/file* > /dev/null 2>&1
i=1
while [[ $i -lt $COUNT ]]; do
- FILECOUNT=`$LS $SNAPDIR.$i/file* | wc -l`
+ FILECOUNT=`ls $SNAPDIR.$i/file* | wc -l`
typeset j=1
while [ $j -lt $FILECOUNT ]; do
- log_must $FILE_CHECK $SNAPDIR.$i/file$j $j
+ log_must file_check $SNAPDIR.$i/file$j $j
(( j = j + 1 ))
done
(( i = i + 1 ))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
snapexists $SNAPFS
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $SNAPFS
+ log_must zfs destroy $SNAPFS
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify that a snapshot of an empty file system remains empty."
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
-log_must $ZFS snapshot $SNAPFS
-FILE_COUNT=`$LS -Al $SNAPDIR | $GREP -v "total 0" | wc -l`
+log_must zfs snapshot $SNAPFS
+FILE_COUNT=`ls -Al $SNAPDIR | grep -v "total 0" | wc -l`
if [[ $FILE_COUNT -ne 0 ]]; then
- $LS $SNAPDIR
+ ls $SNAPDIR
log_fail "BEFORE: $SNAPDIR contains $FILE_COUNT files(s)."
fi
log_note "Populate the $TESTDIR directory"
typeset -i i=1
while [[ $i -lt $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/file$i \
+ log_must file_write -o create -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-FILE_COUNT=`$LS -Al $SNAPDIR | $GREP -v "total 0" | wc -l`
+FILE_COUNT=`ls -Al $SNAPDIR | grep -v "total 0" | wc -l`
if [[ $FILE_COUNT -ne 0 ]]; then
- $LS $SNAPDIR
+ ls $SNAPDIR
log_fail "AFTER: $SNAPDIR contains $FILE_COUNT files(s)."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
snapexists $SNAPCTR
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPCTR
+ log_must zfs destroy $SNAPCTR
fi
if [[ -e $SNAPDIR1 ]]; then
- log_must $RM -rf $SNAPDIR1 > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR1 > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
}
log_onexit cleanup
log_note "Create a file in the zfs filesystem..."
-log_must $FILE_WRITE -o create -f $TESTDIR1/$TESTFILE -b $BLOCKSZ \
+log_must file_write -o create -f $TESTDIR1/$TESTFILE -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
log_note "Sum the file, save for later comparison..."
-FILE_SUM=`$SUM -r $TESTDIR1/$TESTFILE | $AWK '{ print $1 }'`
+FILE_SUM=`sum -r $TESTDIR1/$TESTFILE | awk '{ print $1 }'`
log_note "FILE_SUM = $FILE_SUM"
log_note "Create a snapshot and mount it..."
-log_must $ZFS snapshot $SNAPCTR
+log_must zfs snapshot $SNAPCTR
log_note "Append to the original file..."
-log_must $FILE_WRITE -o append -f $TESTDIR1/$TESTFILE -b $BLOCKSZ \
+log_must file_write -o append -f $TESTDIR1/$TESTFILE -b $BLOCKSZ \
-c $NUM_WRITES -d $DATA
-SNAP_FILE_SUM=`$SUM -r $SNAPDIR1/$TESTFILE | $AWK '{ print $1 }'`
+SNAP_FILE_SUM=`sum -r $SNAPDIR1/$TESTFILE | awk '{ print $1 }'`
if [[ $SNAP_FILE_SUM -ne $FILE_SUM ]]; then
log_fail "Sums do not match, aborting!! ($SNAP_FILE_SUM != $FILE_SUM)"
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
snapexists $SNAPCTR
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPCTR
+ log_must zfs destroy $SNAPCTR
fi
if [[ -e $SNAPDIR1 ]]; then
- log_must $RM -rf $SNAPDIR1 > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR1 > /dev/null 2>&1
fi
if [[ -e $TESTDIR1 ]]; then
- log_must $RM -rf $TESTDIR1/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR1/* > /dev/null 2>&1
fi
if [[ -e /tmp/zfs_snapshot2.$$ ]]; then
- log_must $RM -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
+ log_must rm -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
fi
}
typeset -i COUNT=21
typeset OP=create
-[[ -n $TESTDIR1 ]] && $RM -rf $TESTDIR1/* > /dev/null 2>&1
+[[ -n $TESTDIR1 ]] && rm -rf $TESTDIR1/* > /dev/null 2>&1
log_note "Create files in the zfs dataset ..."
typeset i=1
while [ $i -lt $COUNT ]; do
- log_must $FILE_WRITE -o $OP -f $TESTDIR1/file$i \
+ log_must file_write -o $OP -f $TESTDIR1/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
(( i = i + 1 ))
log_note "Create a tarball from $TESTDIR1 contents..."
CWD=$PWD
cd $TESTDIR1 || log_fail "Could not cd $TESTDIR1"
-log_must $TAR cf $TESTDIR1/tarball.original.tar file*
+log_must tar cf $TESTDIR1/tarball.original.tar file*
cd $CWD || log_fail "Could not cd $CWD"
log_note "Create a snapshot and mount it..."
-log_must $ZFS snapshot $SNAPCTR
+log_must zfs snapshot $SNAPCTR
log_note "Remove all of the original files..."
-log_must $RM -f $TESTDIR1/file* > /dev/null 2>&1
+log_must rm -f $TESTDIR1/file* > /dev/null 2>&1
log_note "Create tarball of snapshot..."
CWD=$PWD
cd $SNAPDIR1 || log_fail "Could not cd $SNAPDIR1"
-log_must $TAR cf $TESTDIR1/tarball.snapshot.tar file*
+log_must tar cf $TESTDIR1/tarball.snapshot.tar file*
cd $CWD || log_fail "Could not cd $CWD"
-log_must $MKDIR $TESTDIR1/original
-log_must $MKDIR $TESTDIR1/snapshot
+log_must mkdir $TESTDIR1/original
+log_must mkdir $TESTDIR1/snapshot
CWD=$PWD
cd $TESTDIR1/original || log_fail "Could not cd $TESTDIR1/original"
-log_must $TAR xf $TESTDIR1/tarball.original.tar
+log_must tar xf $TESTDIR1/tarball.original.tar
cd $TESTDIR1/snapshot || log_fail "Could not cd $TESTDIR1/snapshot"
-log_must $TAR xf $TESTDIR1/tarball.snapshot.tar
+log_must tar xf $TESTDIR1/tarball.snapshot.tar
cd $CWD || log_fail "Could not cd $CWD"
-$DIRCMP $TESTDIR1/original $TESTDIR1/snapshot > /tmp/zfs_snapshot2.$$
-$GREP different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
+dircmp $TESTDIR1/original $TESTDIR1/snapshot > /tmp/zfs_snapshot2.$$
+grep different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
if [[ $? -ne 1 ]]; then
log_fail "Directory structures differ."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while [ $i -lt $COUNT ]; do
snapexists $SNAPCTR.$i
if [[ $? -eq 0 ]]; then
- log_must $ZFS destroy $SNAPCTR.$i
+ log_must zfs destroy $SNAPCTR.$i
fi
if [[ -e $SNAPDIR.$i ]]; then
- log_must $RM -rf $SNAPDIR1.$i > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR1.$i > /dev/null 2>&1
fi
(( i = i + 1 ))
done
if [[ -e $SNAPDIR1 ]]; then
- log_must $RM -rf $SNAPDIR1 > /dev/null 2>&1
+ log_must rm -rf $SNAPDIR1 > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
}
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Create some files in the $TESTDIR directory..."
typeset -i i=1
while [[ $i -lt $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR1/file$i \
+ log_must file_write -o create -f $TESTDIR1/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
- log_must $ZFS snapshot $SNAPCTR.$i
+ log_must zfs snapshot $SNAPCTR.$i
(( i = i + 1 ))
done
log_note "Remove all of the original files"
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR1/file* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR1/file* > /dev/null 2>&1
i=1
while [[ $i -lt $COUNT ]]; do
- FILECOUNT=`$LS $SNAPDIR1.$i/file* | wc -l`
+ FILECOUNT=`ls $SNAPDIR1.$i/file* | wc -l`
typeset j=1
while [ $j -lt $FILECOUNT ]; do
- log_must $FILE_CHECK $SNAPDIR1.$i/file$j $j
+ log_must file_check $SNAPDIR1.$i/file$j $j
(( j = j + 1 ))
done
(( i = i + 1 ))
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
while [[ $i -lt $COUNT ]]; do
snapexists $SNAPFS.$i
[[ $? -eq 0 ]] && \
- log_must $ZFS destroy $SNAPFS.$i
+ log_must zfs destroy $SNAPFS.$i
(( i = i + 1 ))
done
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify that destroying snapshots returns space to the pool."
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Populate the $TESTDIR directory"
typeset -i i=1
while [[ $i -lt $COUNT ]]; do
- log_must $FILE_WRITE -o create -f $TESTDIR/file$i \
+ log_must file_write -o create -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
- log_must $ZFS snapshot $SNAPFS.$i
+ log_must zfs snapshot $SNAPFS.$i
(( i = i + 1 ))
done
typeset -i i=1
while [[ $i -lt $COUNT ]]; do
log_must rm -rf $TESTDIR/file$i > /dev/null 2>&1
- log_must $ZFS destroy $SNAPFS.$i
+ log_must zfs destroy $SNAPFS.$i
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for ds in $ctr/$TESTVOL1 $ctr/$TESTCLONE; do
datasetexists $ds && \
- log_must $ZFS destroy -f $ds
+ log_must zfs destroy -f $ds
done
for snap in $ctr/$TESTFS1@$TESTSNAP1 \
$snapctrclone $snapctrfs
do
snapexists $snap && \
- log_must $ZFS destroy -rf $snap
+ log_must zfs destroy -rf $snap
done
}
snapctrfs=$SNAPCTR
#preparation for testing
-log_must $ZFS snapshot $ctrfs@$TESTSNAP1
-log_must $ZFS clone $ctrfs@$TESTSNAP1 $ctrclone
+log_must zfs snapshot $ctrfs@$TESTSNAP1
+log_must zfs clone $ctrfs@$TESTSNAP1 $ctrclone
if is_global_zone; then
- log_must $ZFS create -V $VOLSIZE $ctrvol
+ log_must zfs create -V $VOLSIZE $ctrvol
else
- log_must $ZFS create $ctrvol
+ log_must zfs create $ctrvol
fi
-log_must $ZFS snapshot -r $snappool
+log_must zfs snapshot -r $snappool
#verify the snapshot -r results
for snap in $snappool $snapfs $snapvol $snapctr $snapctrvol \
log_note "Verify that destroy -r can destroy the snapshot tree."
-log_must $ZFS destroy -r $snappool
+log_must zfs destroy -r $snappool
for snap in $snappool $snapfs $snapvol $snapctr $snapctrvol \
$snapctrclone $snapctrfs
do
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset snap
datasetexists $ctrvol && \
- log_must $ZFS destroy -f $ctrvol
+ log_must zfs destroy -f $ctrvol
for snap in $ctrfs@$TESTSNAP1 \
$snappool $snapvol $snapctr $snapctrvol \
$snapctrclone $snapctrfs
do
snapexists $snap && \
- log_must $ZFS destroy -rf $snap
+ log_must zfs destroy -rf $snap
done
}
snapctrfs=$SNAPCTR
#preparation for testing
-log_must $ZFS snapshot $ctrfs@$TESTSNAP1
+log_must zfs snapshot $ctrfs@$TESTSNAP1
if is_global_zone; then
- log_must $ZFS create -V $VOLSIZE $ctrvol
+ log_must zfs create -V $VOLSIZE $ctrvol
else
- log_must $ZFS create $ctrvol
+ log_must zfs create $ctrvol
fi
-log_must $ZFS snapshot -r $snappool
+log_must zfs snapshot -r $snappool
#select the $TESTCTR as destroy point, $TESTCTR is a child of $TESTPOOL
-log_must $ZFS destroy -r $snapctr
+log_must zfs destroy -r $snapctr
for snap in $snapctr $snapctrvol $snapctrclone $snapctrfs; do
snapexists $snap && \
log_fail "The snapshot $snap is not destroyed correctly."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
snapexists $SNAPPOOL && \
- log_must $ZFS destroy -r $SNAPPOOL
+ log_must zfs destroy -r $SNAPPOOL
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify that rollback to a snapshot created by snapshot -r succeeds."
log_onexit cleanup
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Populate the $TESTDIR directory (prior to snapshot)"
typeset -i i=0
while (( i < COUNT )); do
- log_must $FILE_WRITE -o create -f $TESTDIR/before_file$i \
+ log_must file_write -o create -f $TESTDIR/before_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-log_must $ZFS snapshot -r $SNAPPOOL
+log_must zfs snapshot -r $SNAPPOOL
-FILE_COUNT=`$LS -Al $SNAPDIR | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $SNAPDIR | grep -v "total" | wc -l`
if (( FILE_COUNT != COUNT )); then
- $LS -Al $SNAPDIR
+ ls -Al $SNAPDIR
log_fail "AFTER: $SNAPFS contains $FILE_COUNT files(s)."
fi
log_note "Populate the $TESTDIR directory (post snapshot)"
typeset -i i=0
while (( i < COUNT )); do
- log_must $FILE_WRITE -o create -f $TESTDIR/after_file$i \
+ log_must file_write -o create -f $TESTDIR/after_file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
#
# Now rollback to latest snapshot
#
-log_must $ZFS rollback $SNAPFS
+log_must zfs rollback $SNAPFS
-FILE_COUNT=`$LS -Al $TESTDIR/after* 2> /dev/null | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/after* 2> /dev/null | grep -v "total" | wc -l`
if (( FILE_COUNT != 0 )); then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT after* files(s)."
fi
-FILE_COUNT=`$LS -Al $TESTDIR/before* 2> /dev/null \
- | $GREP -v "total" | wc -l`
+FILE_COUNT=`ls -Al $TESTDIR/before* 2> /dev/null \
+ | grep -v "total" | wc -l`
if (( FILE_COUNT != $COUNT )); then
- $LS -Al $TESTDIR
+ ls -Al $TESTDIR
log_fail "$TESTDIR contains $FILE_COUNT before* files(s)."
fi
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $clone1; then
- log_must $ZFS promote $ctrfs
- log_must $ZFS destroy $clone1
+ log_must zfs promote $ctrfs
+ log_must zfs destroy $clone1
fi
snapexists $snapctr && \
- log_must $ZFS destroy -r $snapctr
+ log_must zfs destroy -r $snapctr
if snapexists $clone@$TESTSNAP1; then
- log_must $ZFS promote $ctrfs
- log_must $ZFS destroy -rR $ctrfs@$TESTSNAP1
+ log_must zfs promote $ctrfs
+ log_must zfs destroy -rR $ctrfs@$TESTSNAP1
fi
}
snapctrfs=$SNAPCTR
#preparation for testing
-log_must $ZFS snapshot $ctrfs@$TESTSNAP1
-log_must $ZFS clone $ctrfs@$TESTSNAP1 $clone
-log_must $ZFS promote $clone
+log_must zfs snapshot $ctrfs@$TESTSNAP1
+log_must zfs clone $ctrfs@$TESTSNAP1 $clone
+log_must zfs promote $clone
-log_must $ZFS snapshot -r $snapctr
+log_must zfs snapshot -r $snapctr
! snapexists $snapctrclone && \
log_fail "'snapshot -r' fails to create $snapctrclone for $ctr/$TESTCLONE."
-log_must $ZFS clone $snapctrfs $clone1
-log_must $ZFS promote $clone1
+log_must zfs clone $snapctrfs $clone1
+log_must zfs promote $clone1
#verify the origin value is correct.
orig_value=$(get_prop origin $ctrfs)
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $ctrfs && \
- $ZFS destroy -r $ctrfs
+ zfs destroy -r $ctrfs
snapexists $snappool && \
- log_must $ZFS destroy -r $snappool
+ log_must zfs destroy -r $snappool
[[ -e $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
}
log_assert "Verify snapshots from 'snapshot -r' can be used for zfs send/recv"
snapdir=$fsdir/.zfs/snapshot/$TESTSNAP
[[ -n $TESTDIR ]] && \
- log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR/* > /dev/null 2>&1
typeset -i COUNT=10
log_note "Populate the $TESTDIR directory (prior to snapshot)"
typeset -i i=0
while (( i < COUNT )); do
- log_must $FILE_WRITE -o create -f $TESTDIR/file$i \
+ log_must file_write -o create -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $i
(( i = i + 1 ))
done
-log_must $ZFS snapshot -r $snappool
+log_must zfs snapshot -r $snappool
-$ZFS send $snapfs | $ZFS receive $ctrfs >/dev/null 2>&1
+zfs send $snapfs | zfs receive $ctrfs >/dev/null 2>&1
if ! datasetexists $ctrfs || ! snapexists $snapctrfs; then
log_fail "zfs send/receive fails with snapshot $snapfs."
fi
for dir in $fsdir $snapdir; do
- FILE_COUNT=`$LS -Al $dir | $GREP -v "total" | wc -l`
+ FILE_COUNT=`ls -Al $dir | grep -v "total" | wc -l`
(( FILE_COUNT != COUNT )) && log_fail "Got $FILE_COUNT expected $COUNT"
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
[[ -e $TESTDIR1 ]] && \
- log_must $RM -rf $TESTDIR1/* > /dev/null 2>&1
+ log_must rm -rf $TESTDIR1/* > /dev/null 2>&1
snapexists $SNAPCTR && \
- log_must $ZFS destroy $SNAPCTR
+ log_must zfs destroy $SNAPCTR
datasetexists $TESTPOOL/$TESTCTR/$TESTFS1 && \
- log_must $ZFS set quota=none $TESTPOOL/$TESTCTR/$TESTFS1
+ log_must zfs set quota=none $TESTPOOL/$TESTCTR/$TESTFS1
}
log_assert "Verify creating/destroying snapshots do things clean"
log_onexit cleanup
-log_must $ZFS set quota=$FSQUOTA $TESTPOOL/$TESTCTR/$TESTFS1
-log_must $MKFILE $FILESIZE $TESTDIR1/$TESTFILE
+log_must zfs set quota=$FSQUOTA $TESTPOOL/$TESTCTR/$TESTFS1
+log_must mkfile $FILESIZE $TESTDIR1/$TESTFILE
-log_must $ZFS snapshot $SNAPCTR
-log_must $ZFS destroy $SNAPCTR
+log_must zfs snapshot $SNAPCTR
+log_must zfs destroy $SNAPCTR
log_note "Make the quota of filesystem is reached"
-log_mustnot $MKFILE $FILESIZE1 $TESTDIR1/$TESTFILE1
+log_mustnot mkfile $FILESIZE1 $TESTDIR1/$TESTFILE1
log_note "Verify removing the first file should succeed after the snapshot is \
removed"
-log_must $RM $TESTDIR1/$TESTFILE
+log_must rm $TESTDIR1/$TESTFILE
log_pass "Verify creating/destroying snapshots do things clean"
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while ((i < snap_cnt)); do
typeset snap=$fs@snap.$i
- datasetexists $snap && log_must $ZFS destroy -f $snap
+ datasetexists $snap && log_must zfs destroy -f $snap
((i += 1))
done
}
-$ZFS 2>&1 | $GREP "allow" > /dev/null
+zfs 2>&1 | grep "allow" > /dev/null
(($? != 0)) && log_unsupported
log_assert "Verify snapshot can be created via mkdir in .zfs/snapshot."
set -A ro_dirs "$snapdir" "$snapdir/snap" "$snapdir/snapshot"
for dir in ${ro_dirs[@]}; do
if [[ -d $dir ]]; then
- log_mustnot $RM -rf $dir
- log_mustnot $TOUCH $dir/testfile
+ log_mustnot rm -rf $dir
+ log_mustnot touch $dir/testfile
else
- log_mustnot $MKDIR $dir
+ log_mustnot mkdir $dir
fi
done
typeset -i cnt=0
while ((cnt < snap_cnt)); do
testfile=$mntpnt/testfile.$cnt
- log_must $MKFILE 1M $testfile
- log_must $MKDIR $snapdir/snapshot/snap.$cnt
+ log_must mkfile 1M $testfile
+ log_must mkdir $snapdir/snapshot/snap.$cnt
if ! datasetexists $fs@snap.$cnt ; then
log_fail "ERROR: $fs@snap.$cnt should exists."
fi
# Verify rollback to previous snapshot succeed.
((cnt = RANDOM % snap_cnt))
-log_must $ZFS rollback -r $fs@snap.$cnt
+log_must zfs rollback -r $fs@snap.$cnt
typeset -i i=0
while ((i < snap_cnt)); do
done
# Verify remove directory in snapdir can destroy snapshot.
-log_must $RMDIR $snapdir/snapshot/snap.$cnt
+log_must rmdir $snapdir/snapshot/snap.$cnt
log_mustnot datasetexists $fs@snap.$cnt
log_pass "Verify snapshot can be created via mkdir in .zfs/snapshot passed."
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $SNAPFS && \
- log_must $ZFS destroy -Rf $SNAPFS
+ log_must zfs destroy -Rf $SNAPFS
datasetexists $TESTPOOL/$TESTFS@snap_a && \
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS@snap_a
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS@snap_a
datasetexists $TESTPOOL/$TESTCLONE@snap_a && \
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTCLONE@snap_a
+ log_must zfs destroy -Rf $TESTPOOL/$TESTCLONE@snap_a
datasetexists $TESTPOOL/$TESTCLONE && \
- log_must $ZFS destroy $TESTPOOL/$TESTCLONE
+ log_must zfs destroy $TESTPOOL/$TESTCLONE
datasetexists $TESTPOOL/$TESTFS && \
- log_must $ZFS destroy $TESTPOOL/$TESTFS
+ log_must zfs destroy $TESTPOOL/$TESTFS
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
log_assert "Verify renamed snapshots via mv can be destroyed."
# scenario 1
-log_must $ZFS snapshot $SNAPFS
-log_must $MV $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a
+log_must zfs snapshot $SNAPFS
+log_must mv $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a
datasetexists $TESTPOOL/$TESTFS@snap_a || \
log_fail "rename snapshot via mv in .zfs/snapshot fails."
-log_must $ZFS destroy $TESTPOOL/$TESTFS@snap_a
+log_must zfs destroy $TESTPOOL/$TESTFS@snap_a
# scenario 2
-log_must $ZFS snapshot $SNAPFS
-log_must $ZFS clone $SNAPFS $TESTPOOL/$TESTCLONE
-log_must $MV $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a
+log_must zfs snapshot $SNAPFS
+log_must zfs clone $SNAPFS $TESTPOOL/$TESTCLONE
+log_must mv $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a
datasetexists $TESTPOOL/$TESTFS@snap_a || \
log_fail "rename snapshot via mv in .zfs/snapshot fails."
-log_must $ZFS promote $TESTPOOL/$TESTCLONE
+log_must zfs promote $TESTPOOL/$TESTCLONE
# promote back to $TESTPOOL/$TESTFS for scenario 3
-log_must $ZFS promote $TESTPOOL/$TESTFS
-log_must $ZFS destroy $TESTPOOL/$TESTCLONE
-log_must $ZFS destroy $TESTPOOL/$TESTFS@snap_a
+log_must zfs promote $TESTPOOL/$TESTFS
+log_must zfs destroy $TESTPOOL/$TESTCLONE
+log_must zfs destroy $TESTPOOL/$TESTFS@snap_a
# scenario 3
-log_must $ZFS snapshot $SNAPFS
-log_must $ZFS clone $SNAPFS $TESTPOOL/$TESTCLONE
-log_must $ZFS rename $SNAPFS $TESTPOOL/$TESTFS@snap_a
-log_must $ZFS promote $TESTPOOL/$TESTCLONE
-log_must $ZFS destroy $TESTPOOL/$TESTFS
-log_must $ZFS destroy $TESTPOOL/$TESTCLONE@snap_a
+log_must zfs snapshot $SNAPFS
+log_must zfs clone $SNAPFS $TESTPOOL/$TESTCLONE
+log_must zfs rename $SNAPFS $TESTPOOL/$TESTFS@snap_a
+log_must zfs promote $TESTPOOL/$TESTCLONE
+log_must zfs destroy $TESTPOOL/$TESTFS
+log_must zfs destroy $TESTPOOL/$TESTCLONE@snap_a
log_pass "Verify renamed snapshots via mv can be destroyed."
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
cd $SAVED_DIR
if datasetexists $TESTPOOL/$TESTFS ; then
- log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS
+ log_must zfs destroy -Rf $TESTPOOL/$TESTFS
fi
- log_must $ZFS create $TESTPOOL/$TESTFS
- log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
+ log_must zfs create $TESTPOOL/$TESTFS
+ log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
}
function verify_structure {
# ./dir1/dir2/file6
cd $TESTDIR
-$MKFILE 10m file1
-$MKFILE 20m file2
-$MKDIR dir1
+mkfile 10m file1
+mkfile 20m file2
+mkdir dir1
cd dir1
-$MKFILE 10m file3
-$MKFILE 20m file4
-$MKDIR dir2
+mkfile 10m file3
+mkfile 20m file4
+mkdir dir2
cd dir2
-$MKFILE 10m file5
-$MKFILE 20m file6
+mkfile 10m file5
+mkfile 20m file6
# Now walk the directory structure verifying it
cd $TESTDIR
verify_structure
# Take snapshots
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap_a
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap_b
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap_a
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap_b
# Change the filesystem structure by renaming files in the original structure
# The snapshot file structure should not change
cd $TESTDIR
-log_must $MV file2 file99
+log_must mv file2 file99
cd dir1
-log_must $MV file4 file99
+log_must mv file4 file99
cd dir2
-log_must $MV file6 file99
+log_must mv file6 file99
# verify the top level snapshot directories
verify_dir $TESTDIR/.zfs
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function check_used # dataset
{
typeset dataset=$1
- for child in $($ZFS list -rH -t filesystem,volume -o name $dataset)
+ for child in $(zfs list -rH -t filesystem,volume -o name $dataset)
do
_check_used $child
done
typeset dataset=$1
typeset -i usedbychildren_sum=0
typeset -i parent_usedbychildren=0
- for child in $($ZFS list -rH -t filesystem,volume -o name $dataset)
+ for child in $(zfs list -rH -t filesystem,volume -o name $dataset)
do
if [[ "$(get_prop type $child)" == "snapshot" ]]; then
continue
function check_usedbydataset # dataset
{
typeset dataset=$1
- for child in $($ZFS list -rH -t filesystem,volume -o name $dataset)
+ for child in $(zfs list -rH -t filesystem,volume -o name $dataset)
do
_check_usedbydataset $child
done
function check_usedbyrefreservation # dataset
{
typeset dataset=$1
- for child in $($ZFS list -rH -t filesystem,volume -o name $dataset)
+ for child in $(zfs list -rH -t filesystem,volume -o name $dataset)
do
_check_usedbyrefreservation $child
done
typeset dataset=$1
typeset -i usedbysnapshots_sum=0
typeset -i parent_usedbysnapshots=0
- for child in $($ZFS list -rH -t filesystem,volume,snapshot -o name $dataset)
+ for child in $(zfs list -rH -t filesystem,volume,snapshot -o name $dataset)
do
# parent
if [[ "$child" == "$dataset" ]]; then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rR $USEDTEST
+ log_must zfs destroy -rR $USEDTEST
}
log_assert "Verify used is correct."
log_onexit cleanup
-log_must $ZFS create $USEDTEST
+log_must zfs create $USEDTEST
check_used $USEDTEST
typeset -i i=0
((r_size=(i+1)*16))
#usedbyrefreservation
- log_must $ZFS set refreservation="$r_size"M $USEDTEST
+ log_must zfs set refreservation="$r_size"M $USEDTEST
#usedbydataset
- log_must $MKFILE 16M $mntpnt/file$i
+ log_must mkfile 16M $mntpnt/file$i
#usedbychildren
- log_must $ZFS create $USEDTEST/fs$i
- log_must $MKFILE 16M $mntpnt/fs$i/file$i
+ log_must zfs create $USEDTEST/fs$i
+ log_must mkfile 16M $mntpnt/fs$i/file$i
if is_global_zone; then
- log_must $ZFS create -V 16M $USEDTEST/vol$i
+ log_must zfs create -V 16M $USEDTEST/vol$i
fi
#usedbysnapshots
- log_must $ZFS snapshot -r $USEDTEST@snap$i
+ log_must zfs snapshot -r $USEDTEST@snap$i
check_used $USEDTEST
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rR $USEDTEST
+ log_must zfs destroy -rR $USEDTEST
}
log_assert "Verify usedbychildren is correct."
log_onexit cleanup
-log_must $ZFS create $USEDTEST
+log_must zfs create $USEDTEST
check_usedbychildren $USEDTEST
typeset -i i=0
while ((i < 5)); do
((r_size=(i+1)*16))
- log_must $ZFS create $USEDTEST/fs$i
- log_must $ZFS set reservation="$r_size"M $USEDTEST/fs$i
- log_must $MKFILE 48M $mntpnt/fs$i/file$i
+ log_must zfs create $USEDTEST/fs$i
+ log_must zfs set reservation="$r_size"M $USEDTEST/fs$i
+ log_must mkfile 48M $mntpnt/fs$i/file$i
if is_global_zone; then
- log_must $ZFS create -V 32M $USEDTEST/vol$i
+ log_must zfs create -V 32M $USEDTEST/vol$i
fi
- log_must $ZFS snapshot -r $USEDTEST@snap$i
+ log_must zfs snapshot -r $USEDTEST@snap$i
check_usedbychildren $USEDTEST
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rR $USEDTEST
+ log_must zfs destroy -rR $USEDTEST
}
log_assert "Verify usedbydataset is correct."
log_onexit cleanup
-log_must $ZFS create $USEDTEST
+log_must zfs create $USEDTEST
check_usedbydataset $USEDTEST
typeset -i i=0
while ((i < 5)); do
((r_size=(i+1)*16))
- log_must $MKFILE 16M $mntpnt/file$i
- log_must $MKFILE "$r_size"M $mntpnt/file_var$i
- log_must $ZFS snapshot -r $USEDTEST@snap$i
+ log_must mkfile 16M $mntpnt/file$i
+ log_must mkfile "$r_size"M $mntpnt/file_var$i
+ log_must zfs snapshot -r $USEDTEST@snap$i
- log_must $ZFS clone $USEDTEST@snap$i $USEDTEST/cln$i
- log_must $ZFS set is:cloned=yes $USEDTEST/cln$i
+ log_must zfs clone $USEDTEST@snap$i $USEDTEST/cln$i
+ log_must zfs set is:cloned=yes $USEDTEST/cln$i
mntpnt_cln=$(get_prop mountpoint $USEDTEST/cln$i)
- log_must $MKFILE 16M $mntpnt_cln/file_cln$i
- log_must $MKFILE "$r_size"M $mntpnt_cln/file_cln_var$i
+ log_must mkfile 16M $mntpnt_cln/file_cln$i
+ log_must mkfile "$r_size"M $mntpnt_cln/file_cln_var$i
check_usedbydataset $USEDTEST
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rR $USEDTEST
+ log_must zfs destroy -rR $USEDTEST
}
log_assert "Verify usedbyrefreservation is correct."
log_onexit cleanup
-log_must $ZFS create $USEDTEST
+log_must zfs create $USEDTEST
check_usedbyrefreservation $USEDTEST
typeset -i i=0
mntpnt=$(get_prop mountpoint $USEDTEST)
while ((i < 5)); do
((r_size=(i+1)*16))
- log_must $ZFS set refreservation="$r_size"M $USEDTEST
+ log_must zfs set refreservation="$r_size"M $USEDTEST
- log_must $MKFILE 16M $mntpnt/file$i
+ log_must mkfile 16M $mntpnt/file$i
- log_must $ZFS create $USEDTEST/fs$i
- log_must $ZFS set refreservation="$r_size"M $USEDTEST/fs$i
- log_must $MKFILE 16M $mntpnt/fs$i/file$i
+ log_must zfs create $USEDTEST/fs$i
+ log_must zfs set refreservation="$r_size"M $USEDTEST/fs$i
+ log_must mkfile 16M $mntpnt/fs$i/file$i
if is_global_zone; then
- log_must $ZFS create -V 16M $USEDTEST/vol$i
+ log_must zfs create -V 16M $USEDTEST/vol$i
fi
- log_must $ZFS snapshot -r $USEDTEST@snap$i
+ log_must zfs snapshot -r $USEDTEST@snap$i
- log_must $ZFS clone $USEDTEST@snap$i $USEDTEST/cln$i
+ log_must zfs clone $USEDTEST@snap$i $USEDTEST/cln$i
mntpnt_cln=$(get_prop mountpoint $USEDTEST/cln$i)
- log_must $ZFS set refreservation="$r_size"M $USEDTEST/cln$i
- log_must $MKFILE 16M $mntpnt_cln/file_cln$i
+ log_must zfs set refreservation="$r_size"M $USEDTEST/cln$i
+ log_must mkfile 16M $mntpnt_cln/file_cln$i
check_usedbyrefreservation $USEDTEST
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- log_must $ZFS destroy -rR $USEDTEST
+ log_must zfs destroy -rR $USEDTEST
}
log_assert "Verify usedbysnapshots is correct."
log_onexit cleanup
-log_must $ZFS create $USEDTEST
+log_must zfs create $USEDTEST
check_usedbysnapshots $USEDTEST
typeset -i i=0
while ((i < 5)); do
((r_size=(i+1)*16))
- log_must $MKFILE "$r_size"M $mntpnt/file$i
+ log_must mkfile "$r_size"M $mntpnt/file$i
- log_must $ZFS snapshot $USEDTEST@snap$i
+ log_must zfs snapshot $USEDTEST@snap$i
check_usedbysnapshots $USEDTEST
((i = i + 1))
export STF_TIMEOUT=3600
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set_device_dir
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Ensure random blocks are read back correctly"
[[ -n "$options" ]] && options_display=$options
-log_note "Invoking $FILE_TRUNC with: $options_display"
-log_must $FILE_TRUNC $options $TESTDIR/$TESTFILE
+log_note "Invoking file_trunc with: $options_display"
+log_must file_trunc $options $TESTDIR/$TESTFILE
typeset dir=$(get_device_dir $DISKS)
verify_filesys "$TESTPOOL" "$TESTPOOL/$TESTFS" "$dir"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
# Check the size of the resulting file
#
-SIZE=`$LS -l ${TESTDIR}/${TESTFILE} | $AWK '{print $5}'`
+SIZE=`ls -l ${TESTDIR}/${TESTFILE} | awk '{print $5}'`
if [[ $SIZE -ne $FILE_SIZE ]]; then
log_fail "'The length of ${TESTDIR}/${TESTFILE}' doesn't equal 1310720."
fi
export TRUNC_COUNT=${TRUNC_COUNT-"16384"} # FILESIZE/BLKSIZE/8
export DISKSARRAY=$DISKS
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
set_device_dir
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/truncate/truncate.cfg
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
}
log_assert "Ensure file with random blocks is truncated properly"
[[ -n "$options" ]] && options_display=$options
-log_note "Invoking $FILE_TRUNC with: $options_display"
-log_must $FILE_TRUNC $options $TESTDIR/$TESTFILE
+log_note "Invoking file_trunc with: $options_display"
+log_must file_trunc $options $TESTDIR/$TESTFILE
typeset dir=$(get_device_dir $DISKS)
verify_filesys "$TESTPOOL" "$TESTPOOL/$TESTFS" "$dir"
# Use is subject to license terms.
#
+#
+# Copyright (c) 2016 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/tests/functional/truncate/truncate.cfg
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
- [[ -f $srcfile ]] && $RM -f $srcfile
+ [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
+ [[ -f $srcfile ]] && rm -f $srcfile
}
log_assert "Ensure zeroed file gets written correctly during a sync operation"
srcfile="/tmp/cosmo.$$"
-log_must $DD if=/dev/urandom of=$srcfile bs=1024k count=1
+log_must dd if=/dev/urandom of=$srcfile bs=1024k count=1
log_onexit cleanup
-log_must $CP $srcfile $TESTDIR/$TESTFILE
-log_must $CP /dev/null $TESTDIR/$TESTFILE
-log_must $SYNC
+log_must cp $srcfile $TESTDIR/$TESTFILE
+log_must cp /dev/null $TESTDIR/$TESTFILE
+log_must sync
if [[ -s $TESTDIR/$TESTFILE ]]; then
- log_note "$($LS -l $TESTDIR/$TESTFILE)"
+ log_note "$(ls -l $TESTDIR/$TESTFILE)"
log_fail "testfile not truncated"
fi
verify_runnable "global"
-log_must $ZPOOL destroy $TESTPOOL
+log_must zpool destroy $TESTPOOL
-log_must $RM /tmp/zpool_upgrade_test.dat
+log_must rm /tmp/zpool_upgrade_test.dat
default_cleanup
verify_runnable "global"
# create a pool without any features
-log_must $MKFILE 128m /tmp/zpool_upgrade_test.dat
-log_must $ZPOOL create -d -m $TESTDIR $TESTPOOL /tmp/zpool_upgrade_test.dat
+log_must mkfile 128m /tmp/zpool_upgrade_test.dat
+log_must zpool create -d -m $TESTDIR $TESTPOOL /tmp/zpool_upgrade_test.dat
log_pass
function cleanup
{
- datasetexists $TESTPOOL/fs1 && log_must $ZFS destroy $TESTPOOL/fs1
- datasetexists $TESTPOOL/fs2 && log_must $ZFS destroy $TESTPOOL/fs2
+ datasetexists $TESTPOOL/fs1 && log_must zfs destroy $TESTPOOL/fs1
+ datasetexists $TESTPOOL/fs2 && log_must zfs destroy $TESTPOOL/fs2
}
verify_runnable "global"
log_assert "pool upgrade for userobj accounting should work"
log_onexit cleanup
-log_must $MKFILES $TESTDIR/tf $((RANDOM % 1000 + 1))
-log_must $ZFS create $TESTPOOL/fs1
-log_must $MKFILES $TESTDIR/fs1/tf $((RANDOM % 1000 + 1))
-log_must $ZFS create $TESTPOOL/fs2
-log_must $MKFILES $TESTDIR/fs2/tf $((RANDOM % 1000 + 1))
-log_must $ZFS umount $TESTPOOL/fs2
+log_must mkfiles $TESTDIR/tf $((RANDOM % 1000 + 1))
+log_must zfs create $TESTPOOL/fs1
+log_must mkfiles $TESTDIR/fs1/tf $((RANDOM % 1000 + 1))
+log_must zfs create $TESTPOOL/fs2
+log_must mkfiles $TESTDIR/fs2/tf $((RANDOM % 1000 + 1))
+log_must zfs umount $TESTPOOL/fs2
# Make sure userobj accounting is disabled
-$ZFS userspace -o objused -H $TESTPOOL | $HEAD -n 1 | $GREP -q "-" ||
+zfs userspace -o objused -H $TESTPOOL | head -n 1 | grep -q "-" ||
log_fail "userobj accounting should be disabled initially"
# Upgrade zpool to support all features
-log_must $ZPOOL upgrade $TESTPOOL
+log_must zpool upgrade $TESTPOOL
# Make sure userobj accounting is disabled again
-$ZFS userspace -o objused -H $TESTPOOL | $HEAD -n 1 | $GREP -q "-" ||
+zfs userspace -o objused -H $TESTPOOL | head -n 1 | grep -q "-" ||
log_fail "userobj accounting should be disabled after pool upgrade"
# Create a file in fs1 should trigger dataset upgrade
-log_must $MKFILE 1m $TESTDIR/fs1/tf
+log_must mkfile 1m $TESTDIR/fs1/tf
sync_pool
# Make sure userobj accounting is working for fs1
-$ZFS userspace -o objused -H $TESTPOOL/fs1 | $HEAD -n 1 | $GREP -q "-" &&
+zfs userspace -o objused -H $TESTPOOL/fs1 | head -n 1 | grep -q "-" &&
log_fail "userobj accounting should be enabled for $TESTPOOL/fs1"
# Mount a dataset should trigger upgrade
-log_must $ZFS mount $TESTPOOL/fs2
+log_must zfs mount $TESTPOOL/fs2
sync_pool
# Make sure userobj accounting is working for fs2
-$ZFS userspace -o objused -H $TESTPOOL/fs2 | $HEAD -n 1 | $GREP -q "-" &&
+zfs userspace -o objused -H $TESTPOOL/fs2 | head -n 1 | grep -q "-" &&
log_fail "userobj accounting should be enabled for $TESTPOOL/fs2"
# All in all, after having been through this, the dataset for testpool
# still shouldn't be upgraded
-$ZFS userspace -o objused -H $TESTPOOL | $HEAD -n 1 | $GREP -q "-" ||
+zfs userspace -o objused -H $TESTPOOL | head -n 1 | grep -q "-" ||
log_fail "userobj accounting should be disabled for $TESTPOOL"
# Manual upgrade root dataset
-log_must $ZFS set version=current $TESTPOOL
-$ZFS userspace -o objused -H $TESTPOOL | $HEAD -n 1 | $GREP -q "-" &&
+log_must zfs set version=current $TESTPOOL
+zfs userspace -o objused -H $TESTPOOL | head -n 1 | grep -q "-" &&
log_fail "userobj accounting should be enabled for $TESTPOOL"
log_pass "all tests passed - what a lucky day!"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_must clean_user_group
typeset mntp=$(get_prop mountpoint $QFS)
-log_must $CHMOD 0755 $mntp
+chmod 0755 $mntp
default_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
log_must cleanup_quota
typeset snap_fs=$QFS@snap
-log_must $ZFS set groupquota@$QGROUP=500m $QFS
+log_must zfs set groupquota@$QGROUP=500m $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 50m $QFILE
+log_must user_run $QUSER1 mkfile 50m $QFILE
-$SYNC
+sync
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
for param in "${params[@]}"; do
- log_must eval "$ZFS groupspace $param $QFS >/dev/null 2>&1"
- log_must eval "$ZFS groupspace $param $snap_fs >/dev/null 2>&1"
+ log_must eval "zfs groupspace $param $QFS >/dev/null 2>&1"
+ log_must eval "zfs groupspace $param $snap_fs >/dev/null 2>&1"
done
log_pass "Check the zfs groupspace with all possible parameters"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snapfs; then
- log_must $ZFS destroy $snapfs
+ log_must zfs destroy $snapfs
fi
log_must cleanup_quota
}
log_assert "Check the zfs groupspace used and quota"
-log_must $ZFS set groupquota@$QGROUP=500m $QFS
+log_must zfs set groupquota@$QGROUP=500m $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 100m $QFILE
+log_must user_run $QUSER1 mkfile 100m $QFILE
-$SYNC
+sync
typeset snapfs=$QFS@snap
-log_must $ZFS snapshot $snapfs
+log_must zfs snapshot $snapfs
-log_must eval "$ZFS groupspace $QFS >/dev/null 2>&1"
-log_must eval "$ZFS groupspace $snapfs >/dev/null 2>&1"
+log_must eval "zfs groupspace $QFS >/dev/null 2>&1"
+log_must eval "zfs groupspace $snapfs >/dev/null 2>&1"
for fs in "$QFS" "$snapfs"; do
log_note "check the quota size in zfs groupspace $fs"
- log_must eval "$ZFS groupspace $fs | $GREP $QGROUP | $GREP 500M"
+ log_must eval "zfs groupspace $fs | grep $QGROUP | grep 500M"
log_note "check the user used size in zfs groupspace $fs"
- log_must eval "$ZFS groupspace $fs | $GREP $QGROUP | $GREP 100M"
+ log_must eval "zfs groupspace $fs | grep $QGROUP | grep 100M"
done
log_pass "Check the zfs groupspace used and quota pass as expect"
function cleanup
{
if datasetexists $snapfs; then
- log_must $ZFS destroy $snapfs
+ log_must zfs destroy $snapfs
fi
- log_must $RM -f ${QFILE}_*
+ log_must rm -f ${QFILE}_*
log_must cleanup_quota
}
{
typeset fs=$1
typeset user=$2
- typeset cnt=$($ZFS groupspace -oname,objused $fs | $GREP $user |
- $AWK '{print $2}')
+ typeset cnt=$(zfs groupspace -oname,objused $fs | grep $user |
+ awk '{print $2}')
echo $cnt
}
log_assert "Check the zfs groupspace object used"
mkmount_writable $QFS
-log_must $ZFS set xattr=sa $QFS
+log_must zfs set xattr=sa $QFS
((user1_cnt = RANDOM % 100 + 1))
((user2_cnt = RANDOM % 100 + 1))
-log_must user_run $QUSER1 $MKFILES ${QFILE}_1 $user1_cnt
-log_must user_run $QUSER2 $MKFILES ${QFILE}_2 $user2_cnt
+log_must user_run $QUSER1 mkfiles ${QFILE}_1 $user1_cnt
+log_must user_run $QUSER2 mkfiles ${QFILE}_2 $user2_cnt
((grp_cnt = user1_cnt + user2_cnt))
sync_pool
typeset snapfs=$QFS@snap
-log_must $ZFS snapshot $snapfs
+log_must zfs snapshot $snapfs
-log_must eval "$ZFS groupspace $QFS >/dev/null 2>&1"
-log_must eval "$ZFS groupspace $snapfs >/dev/null 2>&1"
+log_must eval "zfs groupspace $QFS >/dev/null 2>&1"
+log_must eval "zfs groupspace $snapfs >/dev/null 2>&1"
for fs in "$QFS" "$snapfs"; do
log_note "check the object count in zfs groupspace $fs"
done
log_note "file removal"
-log_must $RM ${QFILE}_*
+log_must rm ${QFILE}_*
sync_pool
[[ $(group_object_count $QFS $QGROUP) -eq 0 ]] ||
log_must add_user $QGROUP $QUSER1
log_must add_user $QGROUP $QUSER2
+#
+# Verify the test user can execute the zfs utilities. This may not
+# be possible due to default permissions on the user home directory.
+# This can be resolved granting group read access.
+#
+# chmod 0750 $HOME
+#
+user_run $QUSER1 zfs list
+if [ $? -ne 0 ]; then
+ log_unsupported "Test user $QUSER1 cannot execute zfs utilities"
+fi
+
DISK=${DISKS%% *}
default_setup $DISK
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/userquota/userquota_common.kshlib
mkmount_writable $QFS
log_note "Check the userquota@$QUSER1"
-log_must $ZFS set userquota@$QUSER1=$UQUOTA_SIZE $QFS
-log_must user_run $QUSER1 $MKFILE $UQUOTA_SIZE $QFILE
+log_must zfs set userquota@$QUSER1=$UQUOTA_SIZE $QFS
+log_must user_run $QUSER1 mkfile $UQUOTA_SIZE $QFILE
sync_pool
-log_mustnot user_run $QUSER1 $MKFILE 1 $OFILE
+log_mustnot user_run $QUSER1 mkfile 1 $OFILE
cleanup_quota
log_note "Check the groupquota@$QGROUP"
-log_must $ZFS set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
+log_must zfs set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE $GQUOTA_SIZE $QFILE
+log_must user_run $QUSER1 mkfile $GQUOTA_SIZE $QFILE
sync_pool
-log_mustnot user_run $QUSER1 $MKFILE 1 $OFILE
+log_mustnot user_run $QUSER1 mkfile 1 $OFILE
cleanup_quota
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if poolexists $TESTPOOL1; then
- log_must $ZPOOL destroy $TESTPOOL1
+ log_must zpool destroy $TESTPOOL1
fi
if [[ -f $pool_vdev ]]; then
- $RM -f $pool_vdev
+ rm -f $pool_vdev
fi
}
typeset pool_vdev=/var/tmp/pool_dev.$$
-log_must $MKFILE 500m $pool_vdev
+log_must mkfile 500m $pool_vdev
if poolexists $TESTPOOL1; then
- $ZPOOL destroy $TESTPOOL1
+ zpool destroy $TESTPOOL1
fi
-log_must $ZPOOL create -O userquota@$QUSER1=$UQUOTA_SIZE \
+log_must zpool create -O userquota@$QUSER1=$UQUOTA_SIZE \
-O groupquota@$QGROUP=$GQUOTA_SIZE $TESTPOOL1 $pool_vdev
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL1 > /dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL1 "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $TESTPOOL1 "$GQUOTA_SIZE"
-log_must $ZFS create -o userquota@$QUSER1=$UQUOTA_SIZE \
+log_must zfs create -o userquota@$QUSER1=$UQUOTA_SIZE \
-o groupquota@$QGROUP=$GQUOTA_SIZE $TESTPOOL1/fs
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL1 > /dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL1/fs "$UQUOTA_SIZE"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Check the basic function of set/get userquota and groupquota on fs"
log_note "Check the set|get userquota@$QUSER1 and groupquota@QGROUP"
-log_must $ZFS set userquota@$QUSER1=$UQUOTA_SIZE $QFS
+log_must zfs set userquota@$QUSER1=$UQUOTA_SIZE $QFS
log_must check_quota "userquota@$QUSER1" $QFS "$UQUOTA_SIZE"
-log_must $ZFS set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
+log_must zfs set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
log_must check_quota "groupquota@$QGROUP" $QFS "$GQUOTA_SIZE"
log_pass "Check the basic function of set/get userquota on fs passed as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
fi
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 100m $QFILE
+log_must user_run $QUSER1 mkfile 100m $QFILE
sync_pool
user_used=$(get_value "userused@$QUSER1" $QFS)
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
log_must cleanup_quota
log_assert "Check the invalid parameter of zfs set user|group quota"
typeset snap_fs=$QFS@snap
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
set -A no_users "mms1234" "ss@#" "root-122"
for user in "${no_users[@]}"; do
- log_mustnot $ID $user
- log_mustnot $ZFS set userquota@$user=100m $QFS
+ log_mustnot id $user
+ log_mustnot zfs set userquota@$user=100m $QFS
done
log_note "can set all numberic id even that id is not existed"
-log_must $ZFS set userquota@12345678=100m $QFS
-log_mustnot $ZFS set userquota@12345678=100m $snap_fs
+log_must zfs set userquota@12345678=100m $QFS
+log_mustnot zfs set userquota@12345678=100m $snap_fs
set -A sizes "100mfsd" "m0.12m" "GGM" "-1234-m" "123m-m"
for size in "${sizes[@]}"; do
log_note "can not set user quota with invalid size parameter"
- log_mustnot $ZFS set userquota@root=$size $QFS
+ log_mustnot zfs set userquota@root=$size $QFS
done
log_note "can not set user quota to snapshot $snap_fs"
-log_mustnot $ZFS set userquota@root=100m $snap_fs
+log_mustnot zfs set userquota@root=100m $snap_fs
set -A no_groups "aidsf@dfsd@" "123223-dsfds#sdfsd" "mss_#ss" "@@@@"
for group in "${no_groups[@]}"; do
- log_mustnot eval "$GREP $group /etc/group"
- log_mustnot $ZFS set groupquota@$group=100m $QFS
+ log_mustnot eval "grep $group /etc/group"
+ log_mustnot zfs set groupquota@$group=100m $QFS
done
log_note "can not set group quota with invalid size parameter"
-log_mustnot $ZFS set groupquota@root=100msfsd $QFS
+log_mustnot zfs set groupquota@root=100msfsd $QFS
log_note "can not set group quota to snapshot $snap_fs"
-log_mustnot $ZFS set groupquota@root=100m $snap_fs
+log_mustnot zfs set groupquota@root=100m $snap_fs
log_pass "Check the invalid parameter of zfs set user|group quota pas as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
log_must cleanup_quota
log_assert "Check the invalid parameter of zfs get user|group quota"
typeset snap_fs=$QFS@snap
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
set -A no_users "mms1234" "ss@#" "root-122" "1234"
for user in "${no_users[@]}"; do
- log_mustnot eval "$ID $user >/dev/null 2>&1"
- log_must eval "$ZFS get userquota@$user $QFS >/dev/null 2>&1"
- log_must eval "$ZFS get userquota@$user $snap_fs >/dev/null 2>&1"
+ log_mustnot eval "id $user >/dev/null 2>&1"
+ log_must eval "zfs get userquota@$user $QFS >/dev/null 2>&1"
+ log_must eval "zfs get userquota@$user $snap_fs >/dev/null 2>&1"
done
set -A no_groups "aidsf@dfsd@" "123223-dsfds#sdfsd" "mss_#ss" "1234"
for group in "${no_groups[@]}"; do
- log_mustnot eval "$GROUPDEL $group > /dev/null 2>&1"
- log_must eval "$ZFS get groupquota@$group $QFS >/dev/null 2>&1"
- log_must eval "$ZFS get groupquota@$group $snap_fs >/dev/null 2>&1"
+ log_mustnot eval "groupdel $group > /dev/null 2>&1"
+ log_must eval "zfs get groupquota@$group $QFS >/dev/null 2>&1"
+ log_must eval "zfs get groupquota@$group $snap_fs >/dev/null 2>&1"
done
log_pass "Check the invalid parameter of zfs get user|group quota pass as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
log_must cleanup_quota
- log_must $ZFS set quota=none $QFS
+ log_must zfs set quota=none $QFS
}
log_onexit cleanup
log_assert "Check set user|group quota to larger than the quota size of a fs"
-log_must $ZFS set quota=200m $QFS
-log_must $ZFS set userquota@$QUSER1=500m $QFS
-log_must $ZFS set groupquota@$QGROUP=600m $QFS
+log_must zfs set quota=200m $QFS
+log_must zfs set userquota@$QUSER1=500m $QFS
+log_must zfs set groupquota@$QGROUP=600m $QFS
-log_must $ZFS get userquota@$QUSER1 $QFS
-log_must $ZFS get groupquota@$QGROUP $QFS
+log_must zfs get userquota@$QUSER1 $QFS
+log_must zfs get groupquota@$QGROUP $QFS
log_note "write some data to the $QFS"
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 100m $QFILE
-$SYNC
+log_must user_run $QUSER1 mkfile 100m $QFILE
+sync
log_note "set user|group quota at a smaller size than it current usage"
-log_must $ZFS set userquota@$QUSER1=90m $QFS
-log_must $ZFS set groupquota@$QGROUP=90m $QFS
+log_must zfs set userquota@$QUSER1=90m $QFS
+log_must zfs set groupquota@$QGROUP=90m $QFS
-log_must $ZFS get userquota@$QUSER1 $QFS
-log_must $ZFS get groupquota@$QGROUP $QFS
+log_must zfs get userquota@$QUSER1 $QFS
+log_must zfs get groupquota@$QGROUP $QFS
log_pass "set user|group quota to larger than quota size of a fs pass as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "Check zfs get all will not print out user|group quota"
-log_must $ZFS set userquota@$QUSER1=50m $QFS
-log_must $ZFS set groupquota@$QGROUP=100m $QFS
+log_must zfs set userquota@$QUSER1=50m $QFS
+log_must zfs set groupquota@$QGROUP=100m $QFS
-log_mustnot $ZFS get all $QFS | $GREP userquota
-log_mustnot $ZFS get all $QFS | $GREP groupquota
+log_mustnot zfs get all $QFS | grep userquota
+log_mustnot zfs get all $QFS | grep groupquota
log_pass "zfs get all will not print out user|group quota"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
log_must cleanup_quota
typeset snap_fs=$QFS@snap
-log_must $ZFS set userquota@$QUSER1=$UQUOTA_SIZE $QFS
+log_must zfs set userquota@$QUSER1=$UQUOTA_SIZE $QFS
log_must check_quota "userquota@$QUSER1" $QFS "$UQUOTA_SIZE"
-log_must $ZFS set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
+log_must zfs set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
log_must check_quota "groupquota@$QGROUP" $QFS "$GQUOTA_SIZE"
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
log_note "check the snapshot $snap_fs user|group quota"
log_must check_quota "userquota@$QUSER1" $snap_fs "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $snap_fs "$GQUOTA_SIZE"
log_note "set userquota and groupquota to $snap_fs which will fail"
-log_mustnot $ZFS set userquota@$QUSER1=$SNAP_QUOTA $snap_fs
-log_mustnot $ZFS set groupquota@$QGROUP=$SNAP_QUOTA $snap_fs
+log_mustnot zfs set userquota@$QUSER1=$SNAP_QUOTA $snap_fs
+log_mustnot zfs set groupquota@$QGROUP=$SNAP_QUOTA $snap_fs
log_note "change the parent's userquota and groupquota"
-log_must $ZFS set userquota@$QUSER1=$TEST_QUOTA $QFS
-log_must $ZFS set groupquota@$QGROUP=$TEST_QUOTA $QFS
+log_must zfs set userquota@$QUSER1=$TEST_QUOTA $QFS
+log_must zfs set groupquota@$QGROUP=$TEST_QUOTA $QFS
log_must check_quota "userquota@$QUSER1" $QFS $TEST_QUOTA
log_must check_quota "groupquota@$QGROUP" $QFS $TEST_QUOTA
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
log_assert "overwrite any of the {user|group}quota size, it will fail"
log_note "overwrite to $QFS to make it exceed userquota"
-log_must $ZFS set userquota@$QUSER1=$UQUOTA_SIZE $QFS
-log_must $ZFS set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
+log_must zfs set userquota@$QUSER1=$UQUOTA_SIZE $QFS
+log_must zfs set groupquota@$QGROUP=$GQUOTA_SIZE $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE $UQUOTA_SIZE $QFILE
+log_must user_run $QUSER1 mkfile $UQUOTA_SIZE $QFILE
sync_pool
-log_must eval "$ZFS get -p userused@$QUSER1 $QFS >/dev/null 2>&1"
-log_must eval "$ZFS get -p groupused@$GROUPUSED $QFS >/dev/null 2>&1"
+log_must eval "zfs get -p userused@$QUSER1 $QFS >/dev/null 2>&1"
+log_must eval "zfs get -p groupused@$GROUPUSED $QFS >/dev/null 2>&1"
-log_mustnot user_run $QUSER1 $MKFILE 1 $OFILE
+log_mustnot user_run $QUSER1 mkfile 1 $OFILE
-log_must $RM -f $QFILE
+log_must rm -f $QFILE
log_note "overwrite to $QFS to make it exceed userquota"
-log_mustnot user_run $QUSER1 $MKFILE $GQUOTA_SIZE $QFILE
+log_mustnot user_run $QUSER1 mkfile $GQUOTA_SIZE $QFILE
-log_must eval "$ZFS get -p userused@$QUSER1 $QFS >/dev/null 2>&1"
-log_must eval "$ZFS get -p groupused@$GROUPUSED $QFS >/dev/null 2>&1"
+log_must eval "zfs get -p userused@$QUSER1 $QFS >/dev/null 2>&1"
+log_must eval "zfs get -p groupused@$GROUPUSED $QFS >/dev/null 2>&1"
log_pass "overwrite any of the {user|group}quota size, it fail as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
{
for ds in $TESTPOOL/fs $TESTPOOL/fs-rename $TESTPOOL/fs-clone; do
if datasetexists $ds; then
- log_must $ZFS destroy -rRf $ds
+ log_must zfs destroy -rRf $ds
fi
done
}
cleanup
-log_must $ZFS create -o userquota@$QUSER1=$UQUOTA_SIZE \
+log_must zfs create -o userquota@$QUSER1=$UQUOTA_SIZE \
-o groupquota@$QGROUP=$GQUOTA_SIZE $TESTPOOL/fs
-log_must $ZFS snapshot $TESTPOOL/fs@snap
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must zfs snapshot $TESTPOOL/fs@snap
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs@snap "$UQUOTA_SIZE"
log_note "clone fs gets its parent's userquota/groupquota initially"
-log_must $ZFS clone -o userquota@$QUSER1=$UQUOTA_SIZE \
+log_must zfs clone -o userquota@$QUSER1=$UQUOTA_SIZE \
-o groupquota@$QGROUP=$GQUOTA_SIZE \
$TESTPOOL/fs@snap $TESTPOOL/fs-clone
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs-clone "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $TESTPOOL/fs-clone "$GQUOTA_SIZE"
-log_must eval "$ZFS list -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL/fs-clone >/dev/null 2>&1"
log_note "zfs promote can not change the previously set user|group quota"
-log_must $ZFS promote $TESTPOOL/fs-clone
+log_must zfs promote $TESTPOOL/fs-clone
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs-clone "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $TESTPOOL/fs-clone "$GQUOTA_SIZE"
log_note "zfs send receive can not change the previously set user|group quota"
-log_must $ZFS send $TESTPOOL/fs-clone@snap | $ZFS receive $TESTPOOL/fs-rev
+log_must zfs send $TESTPOOL/fs-clone@snap | zfs receive $TESTPOOL/fs-rev
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs-rev "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $TESTPOOL/fs-rev "$GQUOTA_SIZE"
log_note "zfs rename can not change the previously set user|group quota"
-log_must $ZFS rename $TESTPOOL/fs-rev $TESTPOOL/fs-rename
+log_must zfs rename $TESTPOOL/fs-rev $TESTPOOL/fs-rename
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs-rename "$UQUOTA_SIZE"
log_must check_quota "groupquota@$QGROUP" $TESTPOOL/fs-rename "$GQUOTA_SIZE"
log_note "zfs upgrade can not change the previously set user|group quota"
-log_must $ZFS upgrade $TESTPOOL/fs-rename
+log_must zfs upgrade $TESTPOOL/fs-rename
-log_must eval "$ZFS list -r -o userquota@$QUSER1,groupquota@$QGROUP \
+log_must eval "zfs list -r -o userquota@$QUSER1,groupquota@$QGROUP \
$TESTPOOL >/dev/null 2>&1"
log_must check_quota "userquota@$QUSER1" $TESTPOOL/fs-rename "$UQUOTA_SIZE"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
cleanup_quota
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
}
log_assert "Check set userquota and groupquota on snapshot"
log_note "Check can not set user|group quuota on snapshot"
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
-log_mustnot $ZFS set userquota@$QUSER1=$UQUOTA_SIZE $snap_fs
+log_mustnot zfs set userquota@$QUSER1=$UQUOTA_SIZE $snap_fs
-log_mustnot $ZFS set groupquota@$QGROUP=$GQUOTA_SIZE $snap_fs
+log_mustnot zfs set groupquota@$QGROUP=$GQUOTA_SIZE $snap_fs
log_pass "Check set userquota and groupquota on snapshot"
function cleanup
{
- log_must $RM -f ${QFILE}_*
+ log_must rm -f ${QFILE}_*
cleanup_quota
}
log_assert "If creating object exceeds {user|group}objquota count, it will fail"
mkmount_writable $QFS
-log_must $ZFS set xattr=sa $QFS
+log_must zfs set xattr=sa $QFS
log_note "Check the userobjquota@$QUSER1"
-log_must $ZFS set userobjquota@$QUSER1=100 $QFS
-log_must user_run $QUSER1 $MKFILES ${QFILE}_1 100
+log_must zfs set userobjquota@$QUSER1=100 $QFS
+log_must user_run $QUSER1 mkfiles ${QFILE}_1 100
sync_pool
-log_mustnot user_run $QUSER1 $MKFILE 1 $OFILE
+log_mustnot user_run $QUSER1 mkfile 1 $OFILE
cleanup_quota
log_note "Check the groupobjquota@$QGROUP"
-log_must $ZFS set groupobjquota@$QGROUP=200 $QFS
+log_must zfs set groupobjquota@$QGROUP=200 $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILES ${QFILE}_2 100
+log_must user_run $QUSER1 mkfiles ${QFILE}_2 100
sync_pool
-log_mustnot user_run $QUSER2 $MKFILE 1 $OFILE
+log_mustnot user_run $QUSER2 mkfile 1 $OFILE
cleanup
log_pass "Creating objects exceeds {user|group}objquota count, it as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup_quota
{
if datasetexists $QFS; then
- log_must $ZFS set userquota@$QUSER1=none $QFS
- log_must $ZFS set userobjquota@$QUSER1=none $QFS
- log_must $ZFS set userquota@$QUSER2=none $QFS
- log_must $ZFS set userobjquota@$QUSER2=none $QFS
- log_must $ZFS set groupquota@$QGROUP=none $QFS
- log_must $ZFS set groupobjquota@$QGROUP=none $QFS
+ log_must zfs set userquota@$QUSER1=none $QFS
+ log_must zfs set userobjquota@$QUSER1=none $QFS
+ log_must zfs set userquota@$QUSER2=none $QFS
+ log_must zfs set userobjquota@$QUSER2=none $QFS
+ log_must zfs set groupquota@$QGROUP=none $QFS
+ log_must zfs set groupobjquota@$QGROUP=none $QFS
recovery_writable $QFS
fi
- [[ -f $QFILE ]] && log_must $RM -f $QFILE
- [[ -f $OFILE ]] && log_must $RM -f $OFILE
- $SYNC
+ [[ -f $QFILE ]] && log_must rm -f $QFILE
+ [[ -f $OFILE ]] && log_must rm -f $OFILE
+ sync
return 0
}
{
typeset fs=$1
typeset mntp=$(get_prop mountpoint $fs)
- log_must $CHMOD 0777 $mntp
+ log_must chmod 0777 $mntp
}
#
{
typeset fs=$1
typeset mntp=$(get_prop mountpoint $fs)
- log_must $CHMOD 0755 $mntp
+ log_must chmod 0755 $mntp
}
#
typeset prop=$1
typeset dataset=$2
- prop_val=$($ZFS get -H -o value $prop $dataset 2>/dev/null)
+ prop_val=$(zfs get -H -o value $prop $dataset 2>/dev/null)
if [[ $? -ne 0 ]]; then
log_note "Unable to get $prop property for dataset " \
"$dataset"
return 1
fi
- $ECHO $prop_val
+ echo $prop_val
return 0
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snap_fs; then
- log_must $ZFS destroy $snap_fs
+ log_must zfs destroy $snap_fs
fi
log_must cleanup_quota
typeset snap_fs=$QFS@snap
-log_must $ZFS set userquota@$QUSER1=100m $QFS
+log_must zfs set userquota@$QUSER1=100m $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 50m $QFILE
-$SYNC
+log_must user_run $QUSER1 mkfile 50m $QFILE
+sync
-log_must $ZFS snapshot $snap_fs
+log_must zfs snapshot $snap_fs
for param in "${params[@]}"; do
- log_must eval "$ZFS userspace $param $QFS >/dev/null 2>&1"
- log_must eval "$ZFS userspace $param $snap_fs >/dev/null 2>&1"
+ log_must eval "zfs userspace $param $QFS >/dev/null 2>&1"
+ log_must eval "zfs userspace $param $snap_fs >/dev/null 2>&1"
done
log_pass "zfs userspace with all possible parameters pass as expect"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
if datasetexists $snapfs; then
- log_must $ZFS destroy $snapfs
+ log_must zfs destroy $snapfs
fi
log_must cleanup_quota
log_assert "Check the zfs userspace used and quota"
-log_must $ZFS set userquota@$QUSER1=100m $QFS
+log_must zfs set userquota@$QUSER1=100m $QFS
mkmount_writable $QFS
-log_must user_run $QUSER1 $MKFILE 50m $QFILE
-$SYNC
+log_must user_run $QUSER1 mkfile 50m $QFILE
+sync
typeset snapfs=$QFS@snap
-log_must $ZFS snapshot $snapfs
+log_must zfs snapshot $snapfs
-log_must eval "$ZFS userspace $QFS >/dev/null 2>&1"
-log_must eval "$ZFS userspace $snapfs >/dev/null 2>&1"
+log_must eval "zfs userspace $QFS >/dev/null 2>&1"
+log_must eval "zfs userspace $snapfs >/dev/null 2>&1"
for fs in "$QFS" "$snapfs"; do
log_note "check the quota size in zfs userspace $fs"
- log_must eval "$ZFS userspace $fs | $GREP $QUSER1 | $GREP 100M"
+ log_must eval "zfs userspace $fs | grep $QUSER1 | grep 100M"
log_note "check the user used size in zfs userspace $fs"
- log_must eval "$ZFS userspace $fs | $GREP $QUSER1 | $GREP 50\\.\*M"
+ log_must eval "zfs userspace $fs | grep $QUSER1 | grep 50\\.\*M"
done
log_pass "Check the zfs userspace used and quota"
function cleanup
{
if datasetexists $snapfs; then
- log_must $ZFS destroy $snapfs
+ log_must zfs destroy $snapfs
fi
- log_must $RM -f ${QFILE}_*
+ log_must rm -f ${QFILE}_*
log_must cleanup_quota
}
{
typeset fs=$1
typeset user=$2
- typeset cnt=$($ZFS userspace -oname,objused $fs |
- $AWK /$user/'{print $2}')
+ typeset cnt=$(zfs userspace -oname,objused $fs |
+ awk /$user/'{print $2}')
echo $cnt
}
log_assert "Check the zfs userspace object used"
mkmount_writable $QFS
-log_must $ZFS set xattr=sa $QFS
+log_must zfs set xattr=sa $QFS
((user1_cnt = RANDOM % 100 + 1))
((user2_cnt = RANDOM % 100 + 1))
-log_must user_run $QUSER1 $MKFILES ${QFILE}_1 $user1_cnt
-log_must user_run $QUSER2 $MKFILES ${QFILE}_2 $user2_cnt
+log_must user_run $QUSER1 mkfiles ${QFILE}_1 $user1_cnt
+log_must user_run $QUSER2 mkfiles ${QFILE}_2 $user2_cnt
sync_pool
typeset snapfs=$QFS@snap
-log_must $ZFS snapshot $snapfs
+log_must zfs snapshot $snapfs
-log_must eval "$ZFS userspace $QFS >/dev/null 2>&1"
-log_must eval "$ZFS userspace $snapfs >/dev/null 2>&1"
+log_must eval "zfs userspace $QFS >/dev/null 2>&1"
+log_must eval "zfs userspace $snapfs >/dev/null 2>&1"
for fs in "$QFS" "$snapfs"; do
log_note "check the user used objects in zfs userspace $fs"
done
log_note "change the owner of files"
-log_must $CHOWN $QUSER2 ${QFILE}_1*
+log_must chown $QUSER2 ${QFILE}_1*
sync_pool
[[ $(user_object_count $QFS $QUSER1) -eq 0 ]] ||
log_fail "expected $((user1_cnt+user2_cnt)) files for $QUSER2"
log_note "file removal"
-log_must $RM ${QFILE}_*
+log_must rm ${QFILE}_*
sync_pool
[[ $(user_object_count $QFS $QUSER2) -eq 0 ]] ||
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
function get_conf_section # regex conf
if [[ -z "$zapobj" ]]; then
log_fail "$vd on $pool has no $lvl ZAP in config"
- elif [[ -z "$($ZDB -d $pool $zapobj | grep 'zap')" ]]; then
+ elif [[ -z "$(zdb -d $pool $zapobj | grep 'zap')" ]]; then
log_fail "$vd on $pool has no $lvl ZAP in MOS"
fi
}
function cleanup
{
if datasetexists $TESTPOOL ; then
- log_must $ZPOOL destroy -f $TESTPOOL
+ log_must zpool destroy -f $TESTPOOL
fi
if [[ -e $conf ]]; then
- log_must $RM -f "$conf"
+ log_must rm -f "$conf"
fi
if [[ -e $POOL2 ]]; then
- log_must $ZPOOL destroy -f $POOL2
+ log_must zpool destroy -f $POOL2
fi
}
DISK=${DISKS%% *}
-log_must $ZPOOL create -f $TESTPOOL $DISK
+log_must zpool create -f $TESTPOOL $DISK
conf="$TESTDIR/vz001"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_top_zap $TESTPOOL $DISK "$conf"
assert_leaf_zap $TESTPOOL $DISK "$conf"
log_assert "Per-vdev ZAPs are created on pool creation with many disks."
-log_must $ZPOOL create -f $TESTPOOL $DISKS
+log_must zpool create -f $TESTPOOL $DISKS
conf="$TESTDIR/vz002"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
for DISK in $DISKS; do
log_assert "Per-vdev ZAPs are created on pool creation with multi-level vdev "\
"trees."
-log_must $ZPOOL create -f $TESTPOOL mirror $DISKS
+log_must zpool create -f $TESTPOOL mirror $DISKS
conf="$TESTDIR/vz003"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
assert_top_zap $TESTPOOL "type: 'mirror'" "$conf"
log_assert "Per-vdev ZAPs are transferred properly on attach/detach"
DISK=${DISKS%% *}
-log_must $ZPOOL create -f $TESTPOOL $DISK
+log_must zpool create -f $TESTPOOL $DISK
# Make the pool.
conf="$TESTDIR/vz004"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
orig_top=$(get_top_vd_zap $DISK $conf)
orig_leaf=$(get_leaf_vd_zap $DISK $conf)
#
disk2=$(echo $DISKS | awk '{print $2}')
-log_must $ZPOOL attach $TESTPOOL $DISK $disk2
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zpool attach $TESTPOOL $DISK $disk2
+log_must zdb -PC $TESTPOOL > $conf
# Ensure top-level ZAP was transferred successfully.
new_top=$(get_top_vd_zap "type: 'mirror'" $conf)
# Detach original disk.
#
-log_must $ZPOOL detach $TESTPOOL $DISK
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zpool detach $TESTPOOL $DISK
+log_must zdb -PC $TESTPOOL > $conf
final_top=$(get_top_vd_zap $disk2 $conf)
final_leaf=$(get_leaf_vd_zap $disk2 $conf)
log_assert "Per-vdev ZAPs persist across export/import."
DISK=${DISKS%% *}
-log_must $ZPOOL create -f $TESTPOOL $DISK
+log_must zpool create -f $TESTPOOL $DISK
# Make the pool.
conf="$TESTDIR/vz005"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
orig_top=$(get_top_vd_zap $DISK $conf)
orig_leaf=$(get_leaf_vd_zap $DISK $conf)
assert_zap_common $TESTPOOL $DISK "leaf" $orig_leaf
# Export the pool.
-log_must $ZPOOL export $TESTPOOL
+log_must zpool export $TESTPOOL
# Import the pool.
-log_must $ZPOOL import $TESTPOOL
+log_must zpool import $TESTPOOL
# Verify that ZAPs persisted.
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
new_top=$(get_top_vd_zap $DISK $conf)
new_leaf=$(get_leaf_vd_zap $DISK $conf)
DISK_ARR=($DISKS)
DISK=${DISK_ARR[0]}
-log_must $ZPOOL create -f $TESTPOOL $DISK
+log_must zpool create -f $TESTPOOL $DISK
log_assert "Per-vdev ZAPs are created for added vdevs."
-log_must $ZPOOL add -f $TESTPOOL ${DISK_ARR[1]}
+log_must zpool add -f $TESTPOOL ${DISK_ARR[1]}
conf="$TESTDIR/vz006"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
orig_top=$(get_top_vd_zap ${DISK_ARR[1]} $conf)
DISK_ARR=($DISKS)
POOL2=${TESTPOOL}2
-log_must $ZPOOL create -f $TESTPOOL mirror ${DISK_ARR[0]} ${DISK_ARR[1]}
+log_must zpool create -f $TESTPOOL mirror ${DISK_ARR[0]} ${DISK_ARR[1]}
log_assert "Per-vdev ZAPs persist correctly on the original pool after split."
conf="$TESTDIR/vz007"
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
assert_has_sentinel "$conf"
orig_top=$(get_top_vd_zap "type: 'mirror'" $conf)
assert_zap_common $TESTPOOL ${DISK_ARR[0]} "leaf" $orig_leaf0
assert_zap_common $TESTPOOL ${DISK_ARR[1]} "leaf" $orig_leaf1
-log_must $ZPOOL split $TESTPOOL $POOL2 ${DISK_ARR[1]}
+log_must zpool split $TESTPOOL $POOL2 ${DISK_ARR[1]}
# Make sure old pool's ZAPs are consistent.
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zdb -PC $TESTPOOL > $conf
new_leaf0=$(get_leaf_vd_zap ${DISK_ARR[0]} $conf)
new_top_s0=$(get_top_vd_zap ${DISK_ARR[0]} $conf)
log_assert "Per-vdev ZAPs persist on the new pool after import."
# Import the split pool.
-log_must $ZPOOL import $POOL2
-log_must $ZDB -PC $TESTPOOL > $conf
+log_must zpool import $POOL2
+log_must zdb -PC $TESTPOOL > $conf
new_leaf1=$(get_leaf_vd_zap ${DISK_ARR[1]} $conf)
new_top_s1=$(get_top_vd_zap ${DISK_ARR[1]} $conf)
verify_runnable "global"
export SIZE="1gb"
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
export DISKSARRAY=$DISKS
if is_linux; then
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- for file in `$FIND $TESTDIR -type f`; do
- $CAT /dev/null > $file
+ for file in `find $TESTDIR -type f`; do
+ cat /dev/null > $file
done
- log_must $SYNC
- log_must $RM -rf $TESTDIR/*
+ log_must sync
+ log_must rm -rf $TESTDIR/*
}
typeset -i retval=0
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- for file in `$FIND $TESTDIR -type f`; do
- $CAT /dev/null > $file
+ for file in `find $TESTDIR -type f`; do
+ cat /dev/null > $file
done
- log_must $SYNC
- log_must $RM -rf $TESTDIR/*
+ log_must sync
+ log_must rm -rf $TESTDIR/*
}
typeset -i retval=0
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
-ZFS_USER=$($CAT /tmp/zfs-xattr-test-user.txt)
-$RM /tmp/zfs-xattr-test-user.txt
+ZFS_USER=$(cat /tmp/zfs-xattr-test-user.txt)
+rm /tmp/zfs-xattr-test-user.txt
-USES_NIS=$($CAT /tmp/zfs-xattr-test-nis.txt)
-$RM /tmp/zfs-xattr-test-nis.txt
+USES_NIS=$(cat /tmp/zfs-xattr-test-nis.txt)
+rm /tmp/zfs-xattr-test-nis.txt
del_user $ZFS_USER
if [ "${USES_NIS}" == "true" ]
then
- $SVCADM enable svc:/network/nis/client:default
+ svcadm enable svc:/network/nis/client:default
fi
default_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# if we're running NIS, turn it off until we clean up
# (it can cause useradd to take a long time, hitting our TIMEOUT)
-USES_NIS=FALSE
-$SVCS svc:/network/nis/client:default | $GREP online > /dev/null
+USES_NIS=false
+svcs svc:/network/nis/client:default | grep online > /dev/null
if [ $? -eq 0 ]
then
- $SVCADM disable -t svc:/network/nis/client:default
+ svcadm disable -t svc:/network/nis/client:default
USES_NIS=true
fi
while [ -z "${FOUND}" ]
do
COUNT=0
- USER_EXISTS=$( $GREP $ZFS_USER /etc/passwd )
+ USER_EXISTS=$( grep $ZFS_USER /etc/passwd )
if [ ! -z "${USER_EXISTS}" ]
then
ZFS_USER="${ZFS_USER}${COUNT}"
log_must add_user $ZFS_GROUP $ZFS_USER
-$ECHO $ZFS_USER > /tmp/zfs-xattr-test-user.txt
-$ECHO $USES_NIS > /tmp/zfs-xattr-test-nis.txt
+echo $ZFS_USER > /tmp/zfs-xattr-test-user.txt
+echo $USES_NIS > /tmp/zfs-xattr-test-nis.txt
DISK=${DISKS%% *}
default_setup $DISK
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [ -f $TESTDIR/myfile.$$ ]
then
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
fi
}
log_assert "Create/read/write/append of xattrs works"
log_onexit cleanup
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
verify_write_xattr $TESTDIR/myfile.$$ passwd
delete_xattr $TESTDIR/myfile.$$ passwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_onexit cleanup
# create a file
-log_must $TOUCH $TESTDIR/myfile.$$
-log_mustnot eval "$CAT $TESTDIR/myfile.$$ not-here.txt > /dev/null 2>&1"
+log_must touch $TESTDIR/myfile.$$
+log_mustnot eval "cat $TESTDIR/myfile.$$ not-here.txt > /dev/null 2>&1"
log_pass "A read of a non-existent xattr fails"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_assert "read/write xattr on a file with no permissions fails"
log_onexit cleanup
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
-log_must $CHMOD 000 $TESTDIR/myfile.$$
-log_mustnot $SU $ZFS_USER -c "$RUNAT $TESTDIR/myfile.$$ $CAT passwd"
-log_mustnot $SU $ZFS_USER -c "$RUNAT $TESTDIR/myfile.$$ $CP /etc/passwd ."
+log_must chmod 000 $TESTDIR/myfile.$$
+log_mustnot su $ZFS_USER -c "runat $TESTDIR/myfile.$$ cat passwd"
+log_mustnot su $ZFS_USER -c "runat $TESTDIR/myfile.$$ cp /etc/passwd ."
log_pass "read/write xattr on a file with no permissions fails"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
if [ $( ismounted /tmp/$NEWFS_DEFAULT_FS.$$ $NEWFS_DEFAULT_FS ) ]
then
- log_must $UMOUNT /tmp/$NEWFS_DEFAULT_FS.$$
- log_must $RM -rf /tmp/$NEWFS_DEFAULT_FS.$$
+ log_must umount /tmp/$NEWFS_DEFAULT_FS.$$
+ log_must rm -rf /tmp/$NEWFS_DEFAULT_FS.$$
fi
}
log_onexit cleanup
# Create a UFS|EXT2 file system that we can work in
-log_must $ZFS create -V128m $TESTPOOL/$TESTFS/zvol
+log_must zfs create -V128m $TESTPOOL/$TESTFS/zvol
block_device_wait
-log_must eval "$ECHO y | $NEWFS $ZVOL_DEVDIR/$TESTPOOL/$TESTFS/zvol > /dev/null 2>&1"
+log_must eval "echo y | $NEWFS $ZVOL_DEVDIR/$TESTPOOL/$TESTFS/zvol > /dev/null 2>&1"
-log_must $MKDIR /tmp/$NEWFS_DEFAULT_FS.$$
-log_must $MOUNT $ZVOL_DEVDIR/$TESTPOOL/$TESTFS/zvol /tmp/$NEWFS_DEFAULT_FS.$$
+log_must mkdir /tmp/$NEWFS_DEFAULT_FS.$$
+log_must mount $ZVOL_DEVDIR/$TESTPOOL/$TESTFS/zvol /tmp/$NEWFS_DEFAULT_FS.$$
# Create files in ufs|ext2 and tmpfs, and set some xattrs on them.
-log_must $TOUCH /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$
-log_must $TOUCH /tmp/tmpfs-file.$$
+log_must touch /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$
+log_must touch /tmp/tmpfs-file.$$
-log_must $RUNAT /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$ $CP /etc/passwd .
-log_must $RUNAT /tmp/tmpfs-file.$$ $CP /etc/group .
+log_must runat /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$ cp /etc/passwd .
+log_must runat /tmp/tmpfs-file.$$ cp /etc/group .
# copy those files to ZFS
-log_must $CP -@ /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$ $TESTDIR
-log_must $CP -@ /tmp/tmpfs-file.$$ $TESTDIR
+log_must cp -@ /tmp/$NEWFS_DEFAULT_FS.$$/$NEWFS_DEFAULT_FS-file.$$ $TESTDIR
+log_must cp -@ /tmp/tmpfs-file.$$ $TESTDIR
# ensure the xattr information has been copied correctly
-log_must $RUNAT $TESTDIR/$NEWFS_DEFAULT_FS-file.$$ $DIFF passwd /etc/passwd
-log_must $RUNAT $TESTDIR/tmpfs-file.$$ $DIFF group /etc/group
+log_must runat $TESTDIR/$NEWFS_DEFAULT_FS-file.$$ diff passwd /etc/passwd
+log_must runat $TESTDIR/tmpfs-file.$$ diff group /etc/group
-log_must $UMOUNT /tmp/$NEWFS_DEFAULT_FS.$$
+log_must umount /tmp/$NEWFS_DEFAULT_FS.$$
log_pass "Files from $NEWFS_DEFAULT_FS,tmpfs with xattrs copied to zfs retain xattr info."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $ZFS destroy $TESTPOOL/$TESTFS/clone
- log_must $ZFS destroy $TESTPOOL/$TESTFS@snapshot1
- log_must $RM $TESTDIR/myfile.$$
+ log_must zfs destroy $TESTPOOL/$TESTFS/clone
+ log_must zfs destroy $TESTPOOL/$TESTFS@snapshot1
+ log_must rm $TESTDIR/myfile.$$
}
log_assert "read/write/create/delete xattr on a clone filesystem"
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# snapshot & clone the filesystem
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snapshot1
-log_must $ZFS clone $TESTPOOL/$TESTFS@snapshot1 $TESTPOOL/$TESTFS/clone
-log_must $ZFS set mountpoint=$TESTDIR/clone $TESTPOOL/$TESTFS/clone
+log_must zfs snapshot $TESTPOOL/$TESTFS@snapshot1
+log_must zfs clone $TESTPOOL/$TESTFS@snapshot1 $TESTPOOL/$TESTFS/clone
+log_must zfs set mountpoint=$TESTDIR/clone $TESTPOOL/$TESTFS/clone
# check for the xattrs on the clone
verify_xattr $TESTDIR/clone/myfile.$$ passwd /etc/passwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $ZFS destroy $TESTPOOL/$TESTFS@snap
- log_must $RM $TESTDIR/myfile.$$
+ log_must zfs destroy $TESTPOOL/$TESTFS@snap
+ log_must rm $TESTDIR/myfile.$$
}
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# snapshot the filesystem
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap
# check for the xattr on the snapshot
verify_xattr $TESTDIR/.zfs/snapshot/snap/myfile.$$ passwd /etc/passwd
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
function cleanup {
- log_must $ZFS destroy $TESTPOOL/$TESTFS@snap
- log_must $RM $TESTDIR/myfile2.$$
- log_must $RM $TESTDIR/myfile.$$
- log_must $RM /tmp/output.$$
- [[ -e /tmp/expected_output.$$ ]] && log_must $RM \
+ log_must zfs destroy $TESTPOOL/$TESTFS@snap
+ log_must rm $TESTDIR/myfile2.$$
+ log_must rm $TESTDIR/myfile.$$
+ log_must rm /tmp/output.$$
+ [[ -e /tmp/expected_output.$$ ]] && log_must rm \
/tmp/expected_output.$$
}
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# create another file that doesn't have an xattr
-log_must $TOUCH $TESTDIR/myfile2.$$
+log_must touch $TESTDIR/myfile2.$$
# snapshot the filesystem
-log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap
+log_must zfs snapshot $TESTPOOL/$TESTFS@snap
# we shouldn't be able to alter the first file's xattr
-log_mustnot eval " $RUNAT $TESTDIR/.zfs/snapshot/snap/myfile.$$ \
- $CP /etc/passwd . >/tmp/output.$$ 2>&1"
-log_must $GREP -i Read-only /tmp/output.$$
+log_mustnot eval " runat $TESTDIR/.zfs/snapshot/snap/myfile.$$ \
+ cp /etc/passwd . >/tmp/output.$$ 2>&1"
+log_must grep -i Read-only /tmp/output.$$
-log_must eval "$RUNAT $TESTDIR/.zfs/snapshot/snap/myfile2.$$ \
- $LS >/tmp/output.$$ 2>&1"
+log_must eval "runat $TESTDIR/.zfs/snapshot/snap/myfile2.$$ \
+ ls >/tmp/output.$$ 2>&1"
create_expected_output /tmp/expected_output.$$ SUNWattr_ro SUNWattr_rw
-log_must $DIFF /tmp/output.$$ /tmp/expected_output.$$
+log_must diff /tmp/output.$$ /tmp/expected_output.$$
log_pass "create/write xattr on a snapshot fails"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for file in /tmp/output.$$ /tmp/expected-output.$$ \
$TESTDIR/myfile.$$ ; do
- log_must $RM -f $file
+ log_must rm -f $file
done
}
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# listing the directory .
-log_must eval "$RUNAT $TESTDIR/myfile.$$ $LS . > /tmp/output.$$"
+log_must eval "runat $TESTDIR/myfile.$$ ls . > /tmp/output.$$"
create_expected_output /tmp/expected-output.$$ \
SUNWattr_ro SUNWattr_rw passwd
-log_must $DIFF /tmp/output.$$ /tmp/expected-output.$$
+log_must diff /tmp/output.$$ /tmp/expected-output.$$
# list the directory . long form
-log_must eval "$RUNAT $TESTDIR/myfile.$$ $LS -a . > /tmp/output.$$"
+log_must eval "runat $TESTDIR/myfile.$$ ls -a . > /tmp/output.$$"
create_expected_output /tmp/expected-output.$$ . .. \
SUNWattr_ro SUNWattr_rw passwd
-log_must $DIFF /tmp/output.$$ /tmp/expected-output.$$
+log_must diff /tmp/output.$$ /tmp/expected-output.$$
# list the directory .. expecting one file
-OUTPUT=$($RUNAT $TESTDIR/myfile.$$ $LS ..)
+OUTPUT=$(runat $TESTDIR/myfile.$$ ls ..)
if [ "$OUTPUT" != ".." ]
then
log_fail "Listing the .. directory doesn't show \"..\" as expected."
fi
# verify we can't list ../
-log_mustnot eval "$RUNAT $TESTDIR/myfile.$$ $LS ../ > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/myfile.$$ ls ../ > /dev/null 2>&1"
log_pass "special . and .. dirs work as expected for xattrs"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# Try to create a soft link from the xattr namespace to the default namespace
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $LN -s /etc/passwd foo
+log_mustnot runat $TESTDIR/myfile.$$ $LN -s /etc/passwd foo
# Try to create a hard link from the xattr namespace to the default namespace
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $LN /etc/passwd foo
+log_mustnot runat $TESTDIR/myfile.$$ $LN /etc/passwd foo
log_pass "links between xattr and normal file namespace fail"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_assert "mkdir, mknod fail"
log_onexit cleanup
# create a file, and an xattr on it
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# Try to create directory in the xattr namespace
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $MKDIR foo
+log_mustnot runat $TESTDIR/myfile.$$ mkdir foo
# Try to create a range of different filetypes in the xattr namespace
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $MKNOD block b 888 888
+log_mustnot runat $TESTDIR/myfile.$$ mknod block b 888 888
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $MKNOD char c
+log_mustnot runat $TESTDIR/myfile.$$ mknod char c
-log_mustnot $RUNAT $TESTDIR/myfile.$$ $MKNOD fifo p
+log_mustnot runat $TESTDIR/myfile.$$ mknod fifo p
log_pass "mkdir, mknod fail"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_assert "Basic applications work with xattrs: cpio cp find mv pax tar"
# Create a file, and set an xattr on it. This file is used in several of the
# test scenarios below.
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
log_note "Checking cpio"
-log_must $TOUCH $TESTDIR/cpio.$$
+log_must touch $TESTDIR/cpio.$$
create_xattr $TESTDIR/cpio.$$ passwd /etc/passwd
-$ECHO $TESTDIR/cpio.$$ | $CPIO -o@ > /tmp/xattr.$$.cpio
-$ECHO $TESTDIR/cpio.$$ | $CPIO -o > /tmp/noxattr.$$.cpio
+echo $TESTDIR/cpio.$$ | cpio -o@ > /tmp/xattr.$$.cpio
+echo $TESTDIR/cpio.$$ | cpio -o > /tmp/noxattr.$$.cpio
# we should have no xattr here
-log_must $CPIO -iu < /tmp/xattr.$$.cpio
-log_mustnot eval "$RUNAT $TESTDIR/cpio.$$ $CAT passwd > /dev/null 2>&1"
+log_must cpio -iu < /tmp/xattr.$$.cpio
+log_mustnot eval "runat $TESTDIR/cpio.$$ cat passwd > /dev/null 2>&1"
# we should have an xattr here
-log_must $CPIO -iu@ < /tmp/xattr.$$.cpio
-log_must eval "$RUNAT $TESTDIR/cpio.$$ $CAT passwd > /dev/null 2>&1"
+log_must cpio -iu@ < /tmp/xattr.$$.cpio
+log_must eval "runat $TESTDIR/cpio.$$ cat passwd > /dev/null 2>&1"
# we should have no xattr here
-log_must $CPIO -iu < /tmp/noxattr.$$.cpio
-log_mustnot eval "$RUNAT $TESTDIR/cpio.$$ $CAT passwd > /dev/null 2>&1"
+log_must cpio -iu < /tmp/noxattr.$$.cpio
+log_mustnot eval "runat $TESTDIR/cpio.$$ cat passwd > /dev/null 2>&1"
# we should have no xattr here
-log_must $CPIO -iu@ < /tmp/noxattr.$$.cpio
-log_mustnot eval "$RUNAT $TESTDIR/cpio.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/cpio.$$ /tmp/xattr.$$.cpio /tmp/noxattr.$$.cpio
+log_must cpio -iu@ < /tmp/noxattr.$$.cpio
+log_mustnot eval "runat $TESTDIR/cpio.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/cpio.$$ /tmp/xattr.$$.cpio /tmp/noxattr.$$.cpio
log_note "Checking cp"
# check that with the right flag, the xattr is preserved
-log_must $CP -@ $TESTDIR/myfile.$$ $TESTDIR/myfile2.$$
+log_must cp -@ $TESTDIR/myfile.$$ $TESTDIR/myfile2.$$
compare_xattrs $TESTDIR/myfile.$$ $TESTDIR/myfile2.$$ passwd
-log_must $RM $TESTDIR/myfile2.$$
+log_must rm $TESTDIR/myfile2.$$
# without the right flag, there should be no xattr
-log_must $CP $TESTDIR/myfile.$$ $TESTDIR/myfile2.$$
-log_mustnot eval "$RUNAT $TESTDIR/myfile2.$$ $LS passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/myfile2.$$
+log_must cp $TESTDIR/myfile.$$ $TESTDIR/myfile2.$$
+log_mustnot eval "runat $TESTDIR/myfile2.$$ ls passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/myfile2.$$
log_note "Checking find"
# create a file without xattrs, and check that find -xattr only finds
# our test file that has an xattr.
-log_must $MKDIR $TESTDIR/noxattrs
-log_must $TOUCH $TESTDIR/noxattrs/no-xattr
+log_must mkdir $TESTDIR/noxattrs
+log_must touch $TESTDIR/noxattrs/no-xattr
-$FIND $TESTDIR -xattr | $GREP myfile.$$
+find $TESTDIR -xattr | grep myfile.$$
[[ $? -ne 0 ]] && \
log_fail "find -xattr didn't find our file that had an xattr."
-$FIND $TESTDIR -xattr | $GREP no-xattr
+find $TESTDIR -xattr | grep no-xattr
[[ $? -eq 0 ]] && \
log_fail "find -xattr found a file that didn't have an xattr."
-log_must $RM -rf $TESTDIR/noxattrs
+log_must rm -rf $TESTDIR/noxattrs
log_note "Checking mv"
# mv doesn't have any flags to preserve/ommit xattrs - they're
# always moved.
-log_must $TOUCH $TESTDIR/mvfile.$$
+log_must touch $TESTDIR/mvfile.$$
create_xattr $TESTDIR/mvfile.$$ passwd /etc/passwd
-log_must $MV $TESTDIR/mvfile.$$ $TESTDIR/mvfile2.$$
+log_must mv $TESTDIR/mvfile.$$ $TESTDIR/mvfile2.$$
verify_xattr $TESTDIR/mvfile2.$$ passwd /etc/passwd
-log_must $RM $TESTDIR/mvfile2.$$
+log_must rm $TESTDIR/mvfile2.$$
log_note "Checking pax"
-log_must $TOUCH $TESTDIR/pax.$$
+log_must touch $TESTDIR/pax.$$
create_xattr $TESTDIR/pax.$$ passwd /etc/passwd
-log_must $PAX -w -f $TESTDIR/noxattr.pax $TESTDIR/pax.$$
-log_must $PAX -w@ -f $TESTDIR/xattr.pax $TESTDIR/pax.$$
-log_must $RM $TESTDIR/pax.$$
+log_must pax -w -f $TESTDIR/noxattr.pax $TESTDIR/pax.$$
+log_must pax -w@ -f $TESTDIR/xattr.pax $TESTDIR/pax.$$
+log_must rm $TESTDIR/pax.$$
# we should have no xattr here
-log_must $PAX -r -f $TESTDIR/noxattr.pax
-log_mustnot eval "$RUNAT $TESTDIR/pax.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/pax.$$
+log_must pax -r -f $TESTDIR/noxattr.pax
+log_mustnot eval "runat $TESTDIR/pax.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/pax.$$
# we should have no xattr here
-log_must $PAX -r@ -f $TESTDIR/noxattr.pax
-log_mustnot eval "$RUNAT $TESTDIR/pax.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/pax.$$
+log_must pax -r@ -f $TESTDIR/noxattr.pax
+log_mustnot eval "runat $TESTDIR/pax.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/pax.$$
# we should have an xattr here
-log_must $PAX -r@ -f $TESTDIR/xattr.pax
+log_must pax -r@ -f $TESTDIR/xattr.pax
verify_xattr $TESTDIR/pax.$$ passwd /etc/passwd
-log_must $RM $TESTDIR/pax.$$
+log_must rm $TESTDIR/pax.$$
# we should have no xattr here
-log_must $PAX -r -f $TESTDIR/xattr.pax $TESTDIR
-log_mustnot eval "$RUNAT $TESTDIR/pax.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/pax.$$ $TESTDIR/noxattr.pax $TESTDIR/xattr.pax
+log_must pax -r -f $TESTDIR/xattr.pax $TESTDIR
+log_mustnot eval "runat $TESTDIR/pax.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/pax.$$ $TESTDIR/noxattr.pax $TESTDIR/xattr.pax
log_note "Checking tar"
-log_must $TOUCH $TESTDIR/tar.$$
+log_must touch $TESTDIR/tar.$$
create_xattr $TESTDIR/tar.$$ passwd /etc/passwd
log_must cd $TESTDIR
-log_must $TAR cf noxattr.tar tar.$$
-log_must $TAR c@f xattr.tar tar.$$
-log_must $RM $TESTDIR/tar.$$
+log_must tar cf noxattr.tar tar.$$
+log_must tar c@f xattr.tar tar.$$
+log_must rm $TESTDIR/tar.$$
# we should have no xattr here
-log_must $TAR xf xattr.tar
-log_mustnot eval "$RUNAT $TESTDIR/tar.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/tar.$$
+log_must tar xf xattr.tar
+log_mustnot eval "runat $TESTDIR/tar.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/tar.$$
# we should have an xattr here
-log_must $TAR x@f xattr.tar
+log_must tar x@f xattr.tar
verify_xattr tar.$$ passwd /etc/passwd
-log_must $RM $TESTDIR/tar.$$
+log_must rm $TESTDIR/tar.$$
# we should have no xattr here
-log_must $TAR xf $TESTDIR/noxattr.tar
-log_mustnot eval "$RUNAT $TESTDIR/tar.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/tar.$$
+log_must tar xf $TESTDIR/noxattr.tar
+log_mustnot eval "runat $TESTDIR/tar.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/tar.$$
# we should have no xattr here
-log_must $TAR x@f $TESTDIR/noxattr.tar
-log_mustnot eval "$RUNAT $TESTDIR/tar.$$ $CAT passwd > /dev/null 2>&1"
-log_must $RM $TESTDIR/tar.$$ $TESTDIR/noxattr.tar $TESTDIR/xattr.tar
+log_must tar x@f $TESTDIR/noxattr.tar
+log_mustnot eval "runat $TESTDIR/tar.$$ cat passwd > /dev/null 2>&1"
+log_must rm $TESTDIR/tar.$$ $TESTDIR/noxattr.tar $TESTDIR/xattr.tar
log_assert "Basic applications work with xattrs: cpio cp find mv pax tar"
#
#
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
function get_pool_size {
poolname=$1
- psize=$($ZPOOL list -H -o allocated $poolname)
+ psize=$(zpool list -H -o allocated $poolname)
if [[ $psize == *[mM] ]]
then
- returnvalue=$($ECHO $psize | $SED -e 's/m//g' -e 's/M//g')
+ returnvalue=$(echo $psize | sed -e 's/m//g' -e 's/M//g')
returnvalue=$((returnvalue * 1024))
else
- returnvalue=$($ECHO $psize | $SED -e 's/k//g' -e 's/K//g')
+ returnvalue=$(echo $psize | sed -e 's/k//g' -e 's/K//g')
fi
echo $returnvalue
}
log_assert "xattr file sizes count towards normal disk usage"
log_onexit cleanup
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
POOL_SIZE=0
NEW_POOL_SIZE=0
POOL_SIZE=$(get_pool_size $TESTPOOL)
fi
-FS_SIZE=$($ZFS get -p -H -o value used $TESTPOOL/$TESTFS)
+FS_SIZE=$(zfs get -p -H -o value used $TESTPOOL/$TESTFS)
-log_must $RUNAT $TESTDIR/myfile.$$ $MKFILE 200m xattr
+log_must runat $TESTDIR/myfile.$$ mkfile 200m xattr
#Make sure the newly created file is counted into zpool usage
-log_must $SYNC
+log_must sync
# now check to see if our pool disk usage has increased
if is_global_zone
fi
# also make sure our filesystem usage has increased
-NEW_FS_SIZE=$($ZFS get -p -H -o value used $TESTPOOL/$TESTFS)
+NEW_FS_SIZE=$(zfs get -p -H -o value used $TESTPOOL/$TESTFS)
(($NEW_FS_SIZE <= $FS_SIZE)) && \
log_fail "The new filesystem size $NEW_FS_SIZE was less \
than or equal to the old filesystem size $FS_SIZE."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup {
- log_must $RM $TESTDIR/myfile.$$
+ log_must rm $TESTDIR/myfile.$$
}
log_assert "The noxattr mount option functions as expected"
log_onexit cleanup
-$ZFS set 2>&1 | $GREP xattr > /dev/null
+zfs set 2>&1 | grep xattr > /dev/null
if [ $? -ne 0 ]
then
log_unsupported "noxattr mount option not supported on this release."
fi
-log_must $TOUCH $TESTDIR/myfile.$$
+log_must touch $TESTDIR/myfile.$$
create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
-log_must $UMOUNT $TESTDIR
-log_must $ZFS mount -o noxattr $TESTPOOL/$TESTFS
+log_must umount $TESTDIR
+log_must zfs mount -o noxattr $TESTPOOL/$TESTFS
# check that we can't perform xattr operations
-log_mustnot eval "$RUNAT $TESTDIR/myfile.$$ $CAT passwd > /dev/null 2>&1"
-log_mustnot eval "$RUNAT $TESTDIR/myfile.$$ $RM passwd > /dev/null 2>&1"
-log_mustnot eval "$RUNAT $TESTDIR/myfile.$$ $CP /etc/passwd . > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/myfile.$$ cat passwd > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/myfile.$$ rm passwd > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/myfile.$$ cp /etc/passwd . > /dev/null 2>&1"
-log_must $TOUCH $TESTDIR/new.$$
-log_mustnot eval "$RUNAT $TESTDIR/new.$$ $CP /etc/passwd . > /dev/null 2>&1"
-log_mustnot eval "$RUNAT $TESTDIR/new.$$ $RM passwd > /dev/null 2>&1"
+log_must touch $TESTDIR/new.$$
+log_mustnot eval "runat $TESTDIR/new.$$ cp /etc/passwd . > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/new.$$ rm passwd > /dev/null 2>&1"
# now mount the filesystem again as normal
-log_must $UMOUNT $TESTDIR
-log_must $ZFS mount $TESTPOOL/$TESTFS
+log_must umount $TESTDIR
+log_must zfs mount $TESTPOOL/$TESTFS
# we should still have an xattr on the first file
verify_xattr $TESTDIR/myfile.$$ passwd /etc/passwd
# there should be no xattr on the file we created while the fs was mounted
# -o noxattr
-log_mustnot eval "$RUNAT $TESTDIR/new.$$ $CAT passwd > /dev/null 2>&1"
+log_mustnot eval "runat $TESTDIR/new.$$ cat passwd > /dev/null 2>&1"
create_xattr $TESTDIR/new.$$ passwd /etc/passwd
log_pass "The noxattr mount option functions as expected"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset XATTR_CONTENTS=$3
# read any empty xattr on that file
- log_must $RUNAT $FILE $LS
+ log_must runat $FILE ls
# create the xattr
- log_must $RUNAT $FILE $CP $XATTR_CONTENTS $XATTR_NAME
+ log_must runat $FILE cp $XATTR_CONTENTS $XATTR_NAME
verify_xattr $FILE $XATTR_NAME $XATTR_CONTENTS
}
typeset FILE2=$2
typeset XATTR_NAME=$3
- $RUNAT $FILE1 $CAT $XATTR_NAME > /tmp/file1.$$
- $RUNAT $FILE2 $CAT $XATTR_NAME > /tmp/file2.$$
+ runat $FILE1 cat $XATTR_NAME > /tmp/file1.$$
+ runat $FILE2 cat $XATTR_NAME > /tmp/file2.$$
- log_must $DIFF /tmp/file1.$$ /tmp/file2.$$
- log_must $RM /tmp/file1.$$ /tmp/file2.$$
+ log_must diff /tmp/file1.$$ /tmp/file2.$$
+ log_must rm /tmp/file1.$$ /tmp/file2.$$
}
function verify_xattr { # filename xattr_name xattr_contents
typeset XATTR_CONTENTS=$3
# read the xattr, writing it to a temp file
- log_must eval "$RUNAT $FILE $CAT $XATTR_NAME > /tmp/$XATTR_NAME.$$ 2>&1"
- log_must $DIFF $XATTR_CONTENTS /tmp/$XATTR_NAME.$$
- $RM /tmp/$XATTR_NAME.$$
+ log_must eval "runat $FILE cat $XATTR_NAME > /tmp/$XATTR_NAME.$$ 2>&1"
+ log_must diff $XATTR_CONTENTS /tmp/$XATTR_NAME.$$
+ rm /tmp/$XATTR_NAME.$$
}
function delete_xattr { # filename xattr_name
typeset XATTR_NAME=$2
# delete the xattr
- log_must $RUNAT $FILE $RM $XATTR_NAME
- log_mustnot eval "$RUNAT $FILE $LS $XATTR_NAME > /dev/null 2>&1"
+ log_must runat $FILE rm $XATTR_NAME
+ log_mustnot eval "runat $FILE ls $XATTR_NAME > /dev/null 2>&1"
}
# not sure about this : really this should be testing write/append
typeset FILE=$1
typeset XATTR_NAME=$2
- log_must eval "$RUNAT $FILE $DD if=/etc/passwd of=$XATTR_NAME"
- log_must eval "$RUNAT $FILE $CAT $XATTR_NAME > /tmp/$XATTR_NAME.$$ 2>&1"
- log_must $DD if=/etc/passwd of=/tmp/passwd_dd.$$
- log_must $DIFF /tmp/passwd_dd.$$ /tmp/$XATTR_NAME.$$
- log_must $RM /tmp/passwd_dd.$$ /tmp/$XATTR_NAME.$$
+ log_must eval "runat $FILE dd if=/etc/passwd of=$XATTR_NAME"
+ log_must eval "runat $FILE cat $XATTR_NAME > /tmp/$XATTR_NAME.$$ 2>&1"
+ log_must dd if=/etc/passwd of=/tmp/passwd_dd.$$
+ log_must diff /tmp/passwd_dd.$$ /tmp/$XATTR_NAME.$$
+ log_must rm /tmp/passwd_dd.$$ /tmp/$XATTR_NAME.$$
}
# this function is to create the expected output
typeset FILE=$1
shift
if [[ -f $FILE ]]; then
- log_must $RM $FILE
+ log_must rm $FILE
fi
for line in $@
do
- log_must eval "$ECHO $line >> $FILE"
+ log_must eval "echo $line >> $FILE"
done
}
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
ismounted $TESTDIR $NEWFS_DEFAULT_FS
-(( $? == 0 )) && log_must $UMOUNT -f $TESTDIR
+(( $? == 0 )) && log_must umount -f $TESTDIR
-[[ -e $TESTDIR ]] && $RM -rf $TESTDIR
+[[ -e $TESTDIR ]] && rm -rf $TESTDIR
default_zvol_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
default_zvol_setup $DISK $VOLSIZE $BLOCKSIZE
-$ECHO "y" | $NEWFS -v ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL >/dev/null 2>&1
+echo "y" | newfs -v ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL >/dev/null 2>&1
(( $? != 0 )) && log_fail "Unable to newfs(1M) $TESTPOOL/$TESTVOL"
-log_must $MKDIR $TESTDIR
-log_must $MOUNT ${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL $TESTDIR
+log_must mkdir $TESTDIR
+log_must mount ${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL $TESTDIR
log_pass
verify_runnable "global"
#export SIZE="1gb"
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
export DISKSARRAY=$DISKS
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf $TESTDIR/*
+ rm -rf $TESTDIR/*
}
log_assert "A zvol volume will return ENOSPC when the underlying pool " \
NUM_WRITES=40
while (( 1 )); do
- $FILE_WRITE -o create -f $TESTDIR/testfile$$.$fn \
+ file_write -o create -f $TESTDIR/testfile$$.$fn \
-b $BLOCKSZ -c $NUM_WRITES
retval=$?
if (( $retval != 0 )); then
verify_runnable "global"
-export DISK_ARRAY_NUM=$($ECHO ${DISKS} | $NAWK '{print NF}')
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
export DISKSARRAY=$DISKS
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_must eval "$ZFS ${args[i]} > /dev/null"
+ log_must eval "zfs ${args[i]} > /dev/null"
((i = i + 1))
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
datasetexists $TESTPOOL/$LONGVOLNAME && \
- $ZFS destroy $TESTPOOL/$LONGVOLNAME
+ zfs destroy $TESTPOOL/$LONGVOLNAME
}
log_onexit cleanup
LONGVOLNAME="volumename50charslong_0123456789012345678901234567"
-log_must $ZFS create -V $VOLSIZE $TESTPOOL/$LONGVOLNAME
+log_must zfs create -V $VOLSIZE $TESTPOOL/$LONGVOLNAME
datasetexists $TESTPOOL/$LONGVOLNAME || \
log_fail "Couldn't find long volume name"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while (( $i < ${#args[*]} )); do
- log_mustnot $ZFS ${args[i]}
+ log_mustnot zfs ${args[i]}
(( i = i + 1 ))
done
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
create_args="-b $blocksize"
fi
- log_must $ZFS create $create_args -V $size $TESTPOOL/$TESTVOL
+ log_must zfs create $create_args -V $size $TESTPOOL/$TESTVOL
block_device_wait
}
function default_zvol_cleanup
{
if datasetexists $TESTPOOL/$TESTVOL ; then
- log_must $ZFS destroy $TESTPOOL/$TESTVOL
+ log_must zfs destroy $TESTPOOL/$TESTVOL
fi
destroy_pool $TESTPOOL
function get_dumpdevice
{
- typeset ret=$($DUMPADM | $GREP "Dump device:" | $AWK '{print $3}')
+ typeset ret=$(dumpadm | grep "Dump device:" | awk '{print $3}')
echo $ret
}
return 1
fi
- log_must $ZFS set volsize=64m $volume
+ log_must zfs set volsize=64m $volume
if ! is_linux; then
- output=$($DUMPADM -d ${ZVOL_DEVDIR}/$volume 2>&1 | \
- $TAIL -1 | $AWK '{print $3}')
+ output=$(dumpadm -d /dev/zvol/dsk/$volume 2>&1 | \
+ tail -1 | awk '{print $3}')
if [[ -n $output ]]; then
(( output = output / 1024 / 1024 ))
(( output = output + output / 5 ))
- log_must $ZFS set volsize=${output}m $volume
+ log_must zfs set volsize=${output}m $volume
fi
fi
if [[ $device == "${ZVOL_DEVDIR}/"* ]] ; then
typeset volume=${device#${ZVOL_DEVDIR}/}
set_dumpsize $volume
- log_must $DUMPADM -d $device
+ log_must dumpadm -d $device
else
- log_must $SWAPADD
+ log_must swapadd
if ! is_swap_inuse $device ; then
- log_must $SWAP -a $device
+ log_must swap -a $device
fi
- log_must $DUMPADM -d swap
+ log_must dumpadm -d swap
fi
}
return 1
fi
- $ZDB -dddd $volume 2 | $GREP "dumpsize" > /dev/null 2>&1
+ zdb -dddd $volume 2 | grep "dumpsize" > /dev/null 2>&1
return $?
}
return 1
fi
- $SWAP -l | $GREP -w $device > /dev/null 2>&1
+ swap -l | grep -w $device > /dev/null 2>&1
return $?
}
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
if [[ $dumpdev != $savedumpdev ]] ; then
safe_dumpadm $savedumpdev
fi
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
log_assert "Verify that a ZFS volume can act as dump device."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
snapexists $TESTPOOL/$TESTVOL@snap && \
- $ZFS destroy $TESTPOOL/$TESTVOL@snap
+ zfs destroy $TESTPOOL/$TESTVOL@snap
ismounted $TESTDIR ufs
- (( $? == 0 )) && log_must $UMOUNT $TESTDIR
+ (( $? == 0 )) && log_must umount $TESTDIR
- [[ -e $TESTDIR ]] && $RM -rf $TESTDIR
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ [[ -e $TESTDIR ]] && rm -rf $TESTDIR
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
log_assert "Verify that ZFS volume snapshot could be fscked"
BLOCKSZ=$(( 1024 * 1024 ))
NUM_WRITES=40
-log_must $ZFS set volsize=128m $TESTPOOL/$TESTVOL
+log_must zfs set volsize=128m $TESTPOOL/$TESTVOL
-$ECHO "y" | $NEWFS -v ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL >/dev/null 2>&1
+echo "y" | newfs -v ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL >/dev/null 2>&1
(( $? != 0 )) && log_fail "Unable to newfs(1M) $TESTPOOL/$TESTVOL"
-log_must $MKDIR $TESTDIR
-log_must $MOUNT ${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL $TESTDIR
+log_must mkdir $TESTDIR
+log_must mount ${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL $TESTDIR
typeset -i fn=0
typeset -i retval=0
while (( 1 )); do
- $FILE_WRITE -o create -f $TESTDIR/testfile$$.$fn \
+ file_write -o create -f $TESTDIR/testfile$$.$fn \
-b $BLOCKSZ -c $NUM_WRITES
retval=$?
if (( $retval != 0 )); then
(( fn = fn + 1 ))
done
-log_must $LOCKFS -f $TESTDIR
-log_must $ZFS snapshot $TESTPOOL/$TESTVOL@snap
+log_must lockfs -f $TESTDIR
+log_must zfs snapshot $TESTPOOL/$TESTVOL@snap
$FSCK -n ${ZVOL_RDEVDIR}/$TESTPOOL/$TESTVOL@snap >/dev/null 2>&1
retval=$?
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
if poolexists $TESTPOOL1 ; then
destroy_pool $TESTPOOL1
fi
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
log_assert "Verify zpool creation and newfs on dump zvol is denied."
safe_dumpadm $voldev
unset NOINUSE_CHECK
-$ECHO "y" | $NEWFS -v $voldev > /dev/null 2>&1
+echo "y" | newfs -v $voldev > /dev/null 2>&1
if (( $? == 0 )) ; then
log_fail "newfs on dump zvol succeeded unexpectedly"
fi
-log_mustnot $ZPOOL create $TESTPOOL1 $voldev
+log_mustnot zpool create $TESTPOOL1 $voldev
log_pass "Verify zpool creation and newfs on dump zvol is denied."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
safe_dumpadm $savedumpdev
fi
- $SWAP -l | $GREP -w $voldev > /dev/null 2>&1
+ swap -l | grep -w $voldev > /dev/null 2>&1
if (( $? == 0 )); then
- log_must $SWAP -d $voldev
+ log_must swap -d $voldev
fi
typeset snap
for snap in snap0 snap1 ; do
if datasetexists $TESTPOOL/$TESTVOL@$snap ; then
- log_must $ZFS destroy $TESTPOOL/$TESTVOL@$snap
+ log_must zfs destroy $TESTPOOL/$TESTVOL@$snap
fi
done
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
function verify_snapshot
{
typeset volume=$1
- log_must $ZFS snapshot $volume@snap0
- log_must $ZFS snapshot $volume@snap1
+ log_must zfs snapshot $volume@snap0
+ log_must zfs snapshot $volume@snap1
log_must datasetexists $volume@snap0 $volume@snap1
- log_must $ZFS destroy $volume@snap1
- log_must $ZFS snapshot $volume@snap1
+ log_must zfs destroy $volume@snap1
+ log_must zfs snapshot $volume@snap1
- log_mustnot $ZFS rollback -r $volume@snap0
+ log_mustnot zfs rollback -r $volume@snap0
log_must datasetexists $volume@snap0
- log_must $ZFS destroy -r $volume@snap0
+ log_must zfs destroy -r $volume@snap0
}
log_assert "Verify the ability to take snapshots of zvols used as dump or swap."
# create snapshot over swap zvol
-log_must $SWAP -a $voldev
+log_must swap -a $voldev
log_mustnot is_zvol_dumpified $TESTPOOL/$TESTVOL
verify_snapshot $TESTPOOL/$TESTVOL
-log_must $SWAP -d $voldev
+log_must swap -d $voldev
log_mustnot is_zvol_dumpified $TESTPOOL/$TESTVOL
log_pass "Creating snapshots from dump/swap zvols succeeds."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
- $SWAP -l | $GREP $voldev > /dev/null 2>&1
+ swap -l | grep $voldev > /dev/null 2>&1
if (( $? == 0 )) ; then
- log_must $SWAP -d $voldev
+ log_must swap -d $voldev
fi
typeset dumpdev=$(get_dumpdevice)
if [[ $dumpdev != $savedumpdev ]] ; then
safe_dumpadm $savedumpdev
fi
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
log_assert "Verify a device cannot be dump and swap at the same time."
savedumpdev=$(get_dumpdevice)
# If device in swap list, it cannot be dump device
-log_must $SWAP -a $voldev
-log_mustnot $DUMPADM -d $voldev
-log_must $SWAP -d $voldev
+log_must swap -a $voldev
+log_mustnot dumpadm -d $voldev
+log_must swap -d $voldev
# If device has dedicated as dump device, it cannot add into swap list
safe_dumpadm $voldev
-log_mustnot $SWAP -a $voldev
+log_mustnot swap -a $voldev
log_pass "A device cannot be dump and swap at the same time."
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
# Copyright 2016 Nexenta Systems, Inc.
#
verify_runnable "global"
-volsize=$($ZFS get -H -o value volsize $TESTPOOL/$TESTVOL)
+volsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL)
function cleanup
{
if [[ $dumpdev != $savedumpdev ]] ; then
safe_dumpadm $savedumpdev
fi
- $ZFS set volsize=$volsize $TESTPOOL/$TESTVOL
+ zfs set volsize=$volsize $TESTPOOL/$TESTVOL
}
log_assert "zfs volume as dumpdevice should have 128k volblocksize"
voldev=${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL
savedumpdev=$(get_dumpdevice)
-typeset oblksize=$($ZFS get -H -o value volblocksize $TESTPOOL/$TESTVOL)
+typeset oblksize=$(zfs get -H -o value volblocksize $TESTPOOL/$TESTVOL)
log_note "original $TESTPOOL/$TESTVOL volblocksize=$oblksize"
safe_dumpadm $voldev
-typeset blksize=$($ZFS get -H -o value volblocksize $TESTPOOL/$TESTVOL)
+typeset blksize=$(zfs get -H -o value volblocksize $TESTPOOL/$TESTVOL)
if [[ $blksize != "128K" ]]; then
log_fail "ZFS volume $TESTPOOL/$TESTVOL volblocksize=$blksize"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
-log_must $SWAPADD
+log_must swapadd
for swapdev in $SAVESWAPDEVS
do
if ! is_swap_inuse $swapdev ; then
- log_must $SWAP -a $swapdev >/dev/null 2>&1
+ log_must swap -a $swapdev >/dev/null 2>&1
fi
done
voldev=${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL
if is_swap_inuse $voldev ; then
- log_must $SWAP -d $voldev
+ log_must swap -d $voldev
fi
default_zvol_cleanup
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
for i in $SAVESWAPDEVS ; do
log_note "Executing: swap -d $i"
- $SWAP -d $i >/dev/null 2>&1
+ swap -d $i >/dev/null 2>&1
if [[ $? != 0 ]]; then
log_untested "Unable to delete swap device $i because of" \
"insufficient RAM"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/zvol/zvol.cfg
#
# Remember swap devices
#
-SAVESWAPDEVS=$($SWAP -l | $NAWK '(NR != 1) {print $1}')
+SAVESWAPDEVS=$(swap -l | nawk '(NR != 1) {print $1}')
export BLOCKSZ=$(( 1024 * 1024 ))
export NUM_WRITES=40
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- $RM -rf /tmp/$TESTFILE
+ rm -rf /tmp/$TESTFILE
if is_swap_inuse $voldev ; then
- log_must $SWAP -d $voldev
+ log_must swap -d $voldev
fi
}
voldev=${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL
log_note "Add zvol volume as swap space"
-log_must $SWAP -a $voldev
+log_must swap -a $voldev
log_note "Create a file under /tmp"
-log_must $FILE_WRITE -o create -f /tmp/$TESTFILE \
+log_must file_write -o create -f /tmp/$TESTFILE \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
[[ ! -f /tmp/$TESTFILE ]] &&
log_fail "Unable to create file under /tmp"
-filesize=`$LS -l /tmp/$TESTFILE | $AWK '{print $5}'`
+filesize=`ls -l /tmp/$TESTFILE | awk '{print $5}'`
tf_size=$(( BLOCKSZ * NUM_WRITES ))
(( $tf_size != $filesize )) &&
log_fail "testfile is ($filesize bytes), expected ($tf_size bytes)"
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
vol=$TESTPOOL/$TESTVOL
swapdev=${ZVOL_DEVDIR}/$vol
-log_must $SWAP -a $swapdev
+log_must swap -a $swapdev
# Get 80% of the number of 512 blocks in the zvol
typeset -i count blks volsize=$(get_prop volsize $vol)
((count = blks / 2048))
log_note "Fill 80% of swap"
-log_must $DD if=/dev/urandom of=/tmp/$TESTFILE bs=1048576 count=$count
-log_must $RM -f /tmp/$TESTFILE
-log_must $SWAP -d $swapdev
+log_must dd if=/dev/urandom of=/tmp/$TESTFILE bs=1048576 count=$count
+log_must rm -f /tmp/$TESTFILE
+log_must swap -d $swapdev
log_pass "Using a zvol as swap space, fill /tmp to 80%."
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- [[ -f /tmp/$TESTFILE ]] && log_must $RM -f /tmp/$TESTFILE
- [[ -f $NEW_VFSTAB_FILE ]] && log_must $RM -f $NEW_VFSTAB_FILE
+ [[ -f /tmp/$TESTFILE ]] && log_must rm -f /tmp/$TESTFILE
+ [[ -f $NEW_VFSTAB_FILE ]] && log_must rm -f $NEW_VFSTAB_FILE
[[ -f $PREV_VFSTAB_FILE ]] && \
- log_must $MV $PREV_VFSTAB_FILE $VFSTAB_FILE
- [[ -f $PREV_VFSTAB_FILE ]] && $RM -f $PREV_VFSTAB_FILE
+ log_must mv $PREV_VFSTAB_FILE $VFSTAB_FILE
+ [[ -f $PREV_VFSTAB_FILE ]] && rm -f $PREV_VFSTAB_FILE
- log_must $SWAPADD $VFSTAB_FILE
+ log_must swapadd $VFSTAB_FILE
if is_swap_inuse $voldev ; then
- log_must $SWAP -d $voldev
+ log_must swap -d $voldev
fi
}
NEW_VFSTAB_FILE=/var/tmp/zvol_vfstab.$$
PREV_VFSTAB_FILE=/var/tmp/zvol_vfstab.PREV.$$
-[[ -f $NEW_VFSTAB_FILE ]] && $CP /dev/null $NEW_VFSTAB_FILE
+[[ -f $NEW_VFSTAB_FILE ]] && cp /dev/null $NEW_VFSTAB_FILE
-$AWK '{if ($4 != "swap") print $1}' /etc/vfstab > $NEW_VFSTAB_FILE
-$ECHO "$voldev\t-\t-\tswap\t-\tno\t-" >> $NEW_VFSTAB_FILE
+awk '{if ($4 != "swap") print $1}' /etc/vfstab > $NEW_VFSTAB_FILE
+echo "$voldev\t-\t-\tswap\t-\tno\t-" >> $NEW_VFSTAB_FILE
# Copy off the original vfstab, and run swapadd on the newly constructed one.
-log_must $CP $VFSTAB_FILE $PREV_VFSTAB_FILE
-log_must $CP $NEW_VFSTAB_FILE $VFSTAB_FILE
-log_must $SWAPADD $VFSTAB_FILE
+log_must cp $VFSTAB_FILE $PREV_VFSTAB_FILE
+log_must cp $NEW_VFSTAB_FILE $VFSTAB_FILE
+log_must swapadd $VFSTAB_FILE
-log_must $FILE_WRITE -o create -f /tmp/$TESTFILE \
+log_must file_write -o create -f /tmp/$TESTFILE \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
[[ ! -f /tmp/$TESTFILE ]] &&
log_fail "Unable to create file under /tmp"
-filesize=`$LS -l /tmp/$TESTFILE | $AWK '{print $5}'`
+filesize=`ls -l /tmp/$TESTFILE | awk '{print $5}'`
tf_size=$((BLOCKSZ * NUM_WRITES))
(($tf_size != $filesize)) && \
log_fail "testfile is ($filesize bytes), expected ($tf_size bytes)"
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
function cleanup
{
- is_swap_inuse $swapname && log_must $SWAP -d $swapname
- datasetexists $vol && log_must $ZFS destroy $vol
+ is_swap_inuse $swapname && log_must swap -d $swapname
+ datasetexists $vol && log_must zfs destroy $vol
}
log_assert "For an added swap zvol, (2G <= volsize <= 16G)"
swapname="${ZVOL_DEVDIR}/$vol"
# Create a sparse volume to test larger sizes
- log_must $ZFS create -s -b $vbs -V $volsize $vol
- log_must $SWAP -a $swapname
+ log_must zfs create -s -b $vbs -V $volsize $vol
+ log_must swap -a $swapname
new_volsize=$(get_prop volsize $vol)
[[ $volsize -eq $new_volsize ]] || log_fail "$volsize $new_volsize"
- log_must $SWAP -d $swapname
- log_must $ZFS destroy $vol
+ log_must swap -d $swapname
+ log_must zfs destroy $vol
done
done
#
#
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
# Both swaplow and swaplen are the desired length of
# the swap area in 512-byte blocks.
#
-((pageblocks = $($PAGESIZE) / 512))
+((pageblocks = $(getconf PAGESIZE) / 512))
((volblocks = $(get_prop volsize $vol) / 512))
((max_swaplow = (volblocks - (pageblocks * 2))))
for i in {0..10}; do
- swaplow=$($SHUF -n 1 -i ${pageblocks}-${max_swaplow})
+ swaplow=$(shuf -n 1 -i ${pageblocks}-${max_swaplow})
((maxlen = max_swaplow - swaplow))
- swaplen=$($SHUF -n 1 -i ${pageblocks}-${maxlen})
- log_must $SWAP -a $swapname $swaplow $swaplen
- log_must $SWAP -d $swapname $swaplow
+ swaplen=$(shuf -n 1 -i ${pageblocks}-${maxlen})
+ log_must swap -a $swapname $swaplow $swaplen
+ log_must swap -d $swapname $swaplow
done
log_pass $assertion
#
#
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
typeset -i i=0
while ((count > 0)); do
- log_must $SWAP -d $swapname ${swap_opt[$i]}
+ log_must swap -d $swapname ${swap_opt[$i]}
((i += 2))
((count -= 1))
typeset vol=$TESTPOOL/$TESTVOL
typeset -i pageblocks volblocks
-((pageblocks = $($PAGESIZE) / 512))
+((pageblocks = $(getconf PAGESIZE) / 512))
((volblocks = $(get_prop volsize $vol) / 512))
log_note "Verify volume can be add as several segments."
typeset -i i=0 count=0
if is_swap_inuse $swapname ; then
- log_must $SWAP -d $swapname
+ log_must swap -d $swapname
fi
while ((i < ${#swap_opt[@]})); do
- log_must $SWAP -a $swapname ${swap_opt[$i]} ${swap_opt[((i+1))]}
+ log_must swap -a $swapname ${swap_opt[$i]} ${swap_opt[((i+1))]}
((i += 2))
((count += 1))
log_note "Verify overlapping swap volume are not allowed"
i=0
while ((i < ${#swap_opt[@]})); do
- log_mustnot $SWAP -a $swapname ${swap_opt[$i]}
+ log_mustnot swap -a $swapname ${swap_opt[$i]}
((i += 2))
done
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
# Copyright (c) 2016, Intel Corporation.
#
[[ $sync -eq 0 ]] && sync_str='async'
[[ $sync -eq 1 ]] && sync_str='sync'
- $ECHO $sync_str
+ echo $sync_str
}
#
if $do_recreate; then
recreate_perfpool
- log_must $ZFS create $PERF_FS_OPTS \
+ log_must zfs create $PERF_FS_OPTS \
$TESTFS
fi
if $clear_cache; then
# Clear the ARC
- $ZPOOL export $PERFPOOL
- $ZPOOL import $PERFPOOL
+ zpool export $PERFPOOL
+ zpool import $PERFPOOL
fi
export RUNTIME=$PERF_RUNTIME
export NUMJOBS=$threads
export SYNC_TYPE=$sync
export BLOCKSIZE=$iosize
- $SYNC
+ sync
# Start the data collection
do_collect_scripts $threads $sync $iosize
typeset suffix="$sync_str.$iosize-ios.$threads-threads"
# Define output file
- typeset logbase="$(get_perf_output_dir)/$($BASENAME \
+ typeset logbase="$(get_perf_output_dir)/$(basename \
$SUDO_COMMAND)"
typeset outfile="$logbase.fio.$suffix"
# Start the load
- log_must $FIO --output $outfile $FIO_SCRIPTS/$script
+ log_must fio --output $outfile $FIO_SCRIPTS/$script
done
done
done
typeset oIFS=$IFS
IFS=','
for item in $PERF_COLLECT_SCRIPTS; do
- collect_scripts+=($($ECHO $item | $SED 's/^ *//g'))
+ collect_scripts+=($(echo $item | sed 's/^ *//g'))
done
IFS=$oIFS
typeset idx=0
while [[ $idx -lt "${#collect_scripts[@]}" ]]; do
- typeset logbase="$(get_perf_output_dir)/$($BASENAME \
+ typeset logbase="$(get_perf_output_dir)/$(basename \
$SUDO_COMMAND)"
typeset outfile="$logbase.${collect_scripts[$idx + 1]}.$suffix"
- $TIMEOUT $PERF_RUNTIME ${collect_scripts[$idx]} >$outfile 2>&1 &
+ timeout $PERF_RUNTIME ${collect_scripts[$idx]} >$outfile 2>&1 &
((idx += 2))
done
function get_perf_output_dir
{
typeset dir="$(pwd)/perf_data"
- [[ -d $dir ]] || $MKDIR -p $dir
+ [[ -d $dir ]] || mkdir -p $dir
- $ECHO $dir
+ echo $dir
}
#
if [[ -n $PERFPOOL_CREATE_CMD ]]; then
log_must $PERFPOOL_CREATE_CMD
else
- log_must eval "$ZPOOL create -f $PERFPOOL $DISKS"
+ log_must eval "zpool create -f $PERFPOOL $DISKS"
fi
}
function get_max_arc_size
{
if is_linux; then
- typeset -l max_arc_size=`$AWK '$1 == "c_max" { print $3 }' \
+ typeset -l max_arc_size=`awk '$1 == "c_max" { print $3 }' \
/proc/spl/kstat/zfs/arcstats`
else
typeset -l max_arc_size=$(dtrace -qn 'BEGIN {
[[ $? -eq 0 ]] || log_fail "get_max_arc_size failed"
- $ECHO $max_arc_size
+ echo $max_arc_size
}
# Create a file with some information about how this system is configured.
{
typeset config=$PERF_DATA_DIR/$1
- $ECHO "{" >>$config
+ echo "{" >>$config
if is_linux; then
- $ECHO " \"ncpus\": \"$($NPROC --all)\"," >>$config
- $ECHO " \"physmem\": \"$($FREE -b | \
- $AWK '$1 == "Mem:" { print $2 }')\"," >>$config
- $ECHO " \"c_max\": \"$(get_max_arc_size)\"," >>$config
- $ECHO " \"hostname\": \"$($UNAME -n)\"," >>$config
- $ECHO " \"kernel version\": \"$($UNAME -sr)\"," >>$config
+ echo " \"ncpus\": \"$(nproc --all)\"," >>$config
+ echo " \"physmem\": \"$(free -b | \
+ awk '$1 == "Mem:" { print $2 }')\"," >>$config
+ echo " \"c_max\": \"$(get_max_arc_size)\"," >>$config
+ echo " \"hostname\": \"$(uname -n)\"," >>$config
+ echo " \"kernel version\": \"$(uname -sr)\"," >>$config
else
- $DTRACE -qn 'BEGIN{
+ dtrace -qn 'BEGIN{
printf(" \"ncpus\": %d,\n", `ncpus);
printf(" \"physmem\": %u,\n", `physmem * `_pagesize);
printf(" \"c_max\": %u,\n", `arc_stats.arcstat_c_max.value.ui64);
printf(" \"kmem_flags\": \"0x%x\",", `kmem_flags);
exit(0)}' >>$config
- $ECHO " \"hostname\": \"$($UNAME -n)\"," >>$config
- $ECHO " \"kernel version\": \"$($UNAME -v)\"," >>$config
+ echo " \"hostname\": \"$(uname -n)\"," >>$config
+ echo " \"kernel version\": \"$(uname -v)\"," >>$config
fi
if is_linux; then
- $LSBLK -dino NAME,SIZE | $AWK 'BEGIN {
+ lsblk -dino NAME,SIZE | awk 'BEGIN {
printf(" \"disks\": {\n"); first = 1}
{disk = $1} {size = $2;
if (first != 1) {printf(",\n")} else {first = 0}
done
printf "\n }\n" >>$config
else
- $IOSTAT -En | $AWK 'BEGIN {
+ iostat -En | awk 'BEGIN {
printf(" \"disks\": {\n"); first = 1}
/^c/ {disk = $1}
/^Size: [^0]/ {size = $2;
printf(" \"%s\": \"%s\"", disk, size)}
END {printf("\n },\n")}' >>$config
- $SED -n 's/^set \(.*\)[ ]=[ ]\(.*\)/\1=\2/p' /etc/system | \
- $AWK -F= 'BEGIN {printf(" \"system\": {\n"); first = 1}
+ sed -n 's/^set \(.*\)[ ]=[ ]\(.*\)/\1=\2/p' /etc/system | \
+ awk -F= 'BEGIN {printf(" \"system\": {\n"); first = 1}
{if (first != 1) {printf(",\n")} else {first = 0};
printf(" \"%s\": %s", $1, $2)}
END {printf("\n }\n")}' >>$config
fi
- $ECHO "}" >>$config
+ echo "}" >>$config
}
function num_jobs_by_cpu
if is_linux; then
typeset ncpu=$($NPROC --all)
else
- typeset ncpu=$($PSRINFO | $WC -l)
+ typeset ncpu=$(psrinfo | $WC -l)
fi
typeset num_jobs=$ncpu
- [[ $ncpu -gt 8 ]] && num_jobs=$($ECHO "$ncpu * 3 / 4" | $BC)
+ [[ $ncpu -gt 8 ]] && num_jobs=$(echo "$ncpu * 3 / 4" | bc)
- $ECHO $num_jobs
+ echo $num_jobs
}
#
typeset lun_list=':'
if is_linux; then
- ctds=$($ZPOOL list -HLv $pool | \
- $AWK '/sd[a-z]*|loop[0-9]*|dm-[0-9]*/ {print $1}')
+ ctds=$(zpool list -HLv $pool | \
+ awk '/sd[a-z]*|loop[0-9]*|dm-[0-9]*/ {print $1}')
for ctd in $ctds; do
lun_list="$lun_list$ctd:"
done
else
- ctds=$($ZPOOL list -v $pool |
- $AWK '/c[0-9]*t[0-9a-fA-F]*d[0-9]*/ {print $1}')
+ ctds=$(zpool list -v $pool |
+ awk '/c[0-9]*t[0-9a-fA-F]*d[0-9]*/ {print $1}')
for ctd in $ctds; do
# Get the device name as it appears in /etc/path_to_inst
- devname=$($READLINK -f /dev/dsk/${ctd}s0 | $SED -n \
+ devname=$(readlink -f /dev/dsk/${ctd}s0 | sed -n \
's/\/devices\([^:]*\):.*/\1/p')
# Add a string composed of the driver name and instance
# number to the list for comparison with dev_statname.
- lun=$($SED 's/"//g' /etc/path_to_inst | $GREP \
- $devname | $AWK '{print $3$2}')
+ lun=$(sed 's/"//g' /etc/path_to_inst | grep \
+ $devname | awk '{print $3$2}')
un_list="$lun_list$lun:"
done
fi
- $ECHO $lun_list
+ echo $lun_list
}
# Create a perf_data directory to hold performance statistics and
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Aim to fill the pool to 50% capacity while accounting for a 3x compressratio.
export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2))
# of the available files.
export NUMJOBS=$(get_max $PERF_NTHREADS)
export FILE_SIZE=$((TOTAL_SIZE / NUMJOBS))
-log_must $FIO $FIO_SCRIPTS/mkfiles.fio
+log_must fio $FIO_SCRIPTS/mkfiles.fio
# Set up the scripts and output files that will log performance data.
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$VMSTAT 1" "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1"
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "vmstat 1" "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1"
"iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$VMSTAT 1" "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "vmstat 1" "vmstat" "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Random reads with $PERF_RUNTYPE settings"
-do_fio_run random_reads.fio $FALSE $TRUE
+do_fio_run random_reads.fio false true
log_pass "Measure IO stats during random read load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Aim to fill the pool to 50% capacity while accounting for a 3x compressratio.
export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2))
# a subset of the available files.
export NUMJOBS=$(get_max $PERF_NTHREADS)
export FILE_SIZE=$((TOTAL_SIZE / NUMJOBS))
-log_must $FIO $FIO_SCRIPTS/mkfiles.fio
+log_must fio $FIO_SCRIPTS/mkfiles.fio
# Set up the scripts and output files that will log performance data.
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$VMSTAT 1" "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1"
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "vmstat 1" "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1"
"iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$VMSTAT 1" "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "vmstat 1" "vmstat" "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Random reads and writes with $PERF_RUNTYPE settings"
-do_fio_run random_readwrite.fio $FALSE $TRUE
+do_fio_run random_readwrite.fio false true
log_pass "Measure IO stats during random read and write load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Aim to fill the pool to 50% capacity while accounting for a 3x compressratio.
export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2))
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$VMSTAT 1" "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1"
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "vmstat 1" "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1"
"iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$VMSTAT 1" "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "vmstat 1" "vmstat" "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Random writes with $PERF_RUNTYPE settings"
-do_fio_run random_writes.fio $TRUE $FALSE
+do_fio_run random_writes.fio true false
log_pass "Measure IO stats during random write load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Aim to fill the pool to 50% capacity while accounting for a 3x compressratio.
export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2))
# of the available files.
export NUMJOBS=$(get_max $PERF_NTHREADS)
export FILE_SIZE=$((TOTAL_SIZE / NUMJOBS))
-log_must $FIO $FIO_SCRIPTS/mkfiles.fio
+log_must fio $FIO_SCRIPTS/mkfiles.fio
# Set up the scripts and output files that will log performance data.
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1" "iostat")
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "vmstat 1"
+ "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1" "iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "vmstat 1" "vmstat"
+ "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Sequential reads with $PERF_RUNTYPE settings"
-do_fio_run sequential_reads.fio $FALSE $TRUE
+do_fio_run sequential_reads.fio false true
log_pass "Measure IO stats during sequential read load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Make sure the working set can be cached in the arc. Aim for 1/2 of arc.
export TOTAL_SIZE=$(($(get_max_arc_size) / 2))
# of the available files.
export NUMJOBS=$(get_max $PERF_NTHREADS)
export FILE_SIZE=$((TOTAL_SIZE / NUMJOBS))
-log_must $FIO $FIO_SCRIPTS/mkfiles.fio
+log_must fio $FIO_SCRIPTS/mkfiles.fio
# Set up the scripts and output files that will log performance data.
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1" "iostat")
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "vmstat 1"
+ "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1" "iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "vmstat 1" "vmstat"
+ "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Sequential cached reads with $PERF_RUNTYPE settings"
-do_fio_run sequential_reads.fio $FALSE $FALSE
+do_fio_run sequential_reads.fio false false
log_pass "Measure IO stats during sequential cached read load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Make sure the working set can be cached in the arc. Aim for 1/2 of arc.
export TOTAL_SIZE=$(($(get_max_arc_size) / 2))
# of the available files.
export NUMJOBS=$(get_max $PERF_NTHREADS)
export FILE_SIZE=$((TOTAL_SIZE / NUMJOBS))
-log_must $FIO $FIO_SCRIPTS/mkfiles.fio
+log_must fio $FIO_SCRIPTS/mkfiles.fio
log_note "Creating snapshot, $TESTSNAP, of $TESTFS"
create_snapshot $TESTFS $TESTSNAP
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1" "iostat")
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "$PERF_SCRIPTS/prefetch_io.sh $PERFPOOL 1" "prefetch" "vmstat 1"
+ "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1" "iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "$VMSTAT 1"
- "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "$PERF_SCRIPTS/prefetch_io.d $PERFPOOL 1" "prefetch" "vmstat 1" "vmstat"
+ "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Sequential cached reads from $TESTFS with $PERF_RUNTYPE settings"
-do_fio_run sequential_reads.fio $FALSE $FALSE
+do_fio_run sequential_reads.fio false false
log_pass "Measure IO stats during sequential cached read load"
#
#
-# Copyright (c) 2015 by Delphix. All rights reserved.
+# Copyright (c) 2015, 2016 by Delphix. All rights reserved.
#
#
function cleanup
{
# kill fio and iostat
- $PKILL ${FIO##*/}
- $PKILL ${IOSTAT##*/}
- log_must_busy $ZFS destroy $TESTFS
- log_must_busy $ZPOOL destroy $PERFPOOL
+ pkill ${fio##*/}
+ pkill ${iostat##*/}
+ log_must_busy zfs destroy $TESTFS
+ log_must_busy zpool destroy $PERFPOOL
}
trap "log_fail \"Measure IO stats during random read load\"" SIGTERM
export TESTFS=$PERFPOOL/testfs
recreate_perfpool
-log_must $ZFS create $PERF_FS_OPTS $TESTFS
+log_must zfs create $PERF_FS_OPTS $TESTFS
# Aim to fill the pool to 50% capacity while accounting for a 3x compressratio.
export TOTAL_SIZE=$(($(get_prop avail $TESTFS) * 3 / 2))
lun_list=$(pool_to_lun_list $PERFPOOL)
log_note "Collecting backend IO stats with lun list $lun_list"
if is_linux; then
- export collect_scripts=("$ZPOOL iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
- "$VMSTAT 1" "vmstat" "$MPSTAT -P ALL 1" "mpstat" "$IOSTAT -dxyz 1"
+ export collect_scripts=("zpool iostat -lpvyL $PERFPOOL 1" "zpool.iostat"
+ "vmstat 1" "vmstat" "mpstat -P ALL 1" "mpstat" "iostat -dxyz 1"
"iostat")
else
export collect_scripts=("$PERF_SCRIPTS/io.d $PERFPOOL $lun_list 1" "io"
- "$VMSTAT 1" "vmstat" "$MPSTAT 1" "mpstat" "$IOSTAT -xcnz 1" "iostat")
+ "vmstat 1" "vmstat" "mpstat 1" "mpstat" "iostat -xcnz 1" "iostat")
fi
log_note "Sequential writes with $PERF_RUNTYPE settings"
-do_fio_run sequential_writes.fio $TRUE $FALSE
+do_fio_run sequential_writes.fio true false
log_pass "Measure IO stats during sequential write load"
. $STF_SUITE/include/libtest.shlib
-[[ -z $FIO ]] && log_fail "Missing fio"
-[[ -z $FREE ]] && log_fail "Missing free"
-[[ -z $IOSTAT ]] && log_fail "Missing iostat"
-[[ -z $LSBLK ]] && log_fail "Missing lsblk"
-[[ -z $MPSTAT ]] && log_fail "Missing mpstat"
-[[ -z $VMSTAT ]] && log_fail "Missing vmstat"
-
verify_runnable "global"
verify_disk_count "$DISKS" 3
zfs_kstats="/proc/spl/kstat/zfs"
-AWK=${AWK:-awk}
-DATE=${DATE:-date}
-
function get_prefetch_ios
{
- typeset -l data_misses=`$AWK '$1 == "prefetch_data_misses" \
+ typeset -l data_misses=`awk '$1 == "prefetch_data_misses" \
{ print $3 }' $zfs_kstats/arcstats`
- typeset -l metadata_misses=`$AWK '$1 == "prefetch_metadata_misses" \
+ typeset -l metadata_misses=`awk '$1 == "prefetch_metadata_misses" \
{ print $3 }' $zfs_kstats/arcstats`
typeset -l total_misses=$(( $data_misses + $metadata_misses ))
function get_prefetched_demand_reads
{
- typeset -l demand_reads=`$AWK '$1 == "demand_hit_predictive_prefetch" \
+ typeset -l demand_reads=`awk '$1 == "demand_hit_predictive_prefetch" \
{ print $3 }' $zfs_kstats/arcstats`
echo $demand_reads
function get_sync_wait_for_async
{
- typeset -l sync_wait=`$AWK '$1 == "sync_wait_for_async" \
+ typeset -l sync_wait=`awk '$1 == "sync_wait_for_async" \
{ print $3 }' $zfs_kstats/arcstats`
echo $sync_wait
while true
do
new_prefetch_ios=$(get_prefetch_ios)
- printf "%u\n%-24s\t%u\n" $($DATE +%s) "prefetch_ios" \
+ printf "%u\n%-24s\t%u\n" $(date +%s) "prefetch_ios" \
$(( $new_prefetch_ios - $prefetch_ios ))
prefetch_ios=$new_prefetch_ios