Print this page
7290 ZFS test suite needs to control what utilities it can run
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>

*** 10,20 **** # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # ! # Copyright (c) 2012 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/nopwrite/nopwrite.shlib --- 10,20 ---- # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # ! # Copyright (c) 2012, 2016 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/nopwrite/nopwrite.shlib
*** 34,90 **** origin="$TESTPOOL/$TESTFS" log_onexit cleanup function cleanup { ! 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 \ >/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 \ 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 # 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 \ >/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 \ 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 # Clone with compression=off ! $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 \ 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 # Clone with fletcher4, rather than sha256 ! $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 \ conv=notrunc >/dev/null 2>&1 || log_fail "dd failed." log_mustnot verify_nopwrite $origin $origin@a $origin/clone log_pass "nopwrite isn't enabled without the prerequisites" --- 34,90 ---- origin="$TESTPOOL/$TESTFS" log_onexit cleanup function cleanup { ! 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 \ >/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 \ 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 # 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 \ >/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 \ 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 # Clone with compression=off ! 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 \ 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 # Clone with fletcher4, rather than sha256 ! 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 \ conv=notrunc >/dev/null 2>&1 || log_fail "dd failed." log_mustnot verify_nopwrite $origin $origin@a $origin/clone log_pass "nopwrite isn't enabled without the prerequisites"