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>

*** 24,34 **** # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ! # Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/replacement/replacement.cfg --- 24,34 ---- # Copyright 2008 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 . $STF_SUITE/tests/functional/replacement/replacement.cfg
*** 48,66 **** function cleanup { if [[ -n "$child_pids" ]]; then for wait_pid in $child_pids do ! $KILL $wait_pid done fi if poolexists $TESTPOOL1; then destroy_pool $TESTPOOL1 fi ! [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/* } log_assert "Replacing a disk during I/O completes." options="" --- 48,66 ---- function cleanup { if [[ -n "$child_pids" ]]; then for wait_pid in $child_pids do ! kill $wait_pid done fi if poolexists $TESTPOOL1; then destroy_pool $TESTPOOL1 fi ! [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/* } log_assert "Replacing a disk during I/O completes." options=""
*** 90,145 **** typeset -i index=0 typeset disk1=$1 typeset i=0 while [[ $i -lt $iters ]]; do ! log_note "Invoking $FILE_TRUNC with: $options_display" ! $FILE_TRUNC $options $TESTDIR/$TESTFILE.$i & typeset pid=$! ! $SLEEP 1 ! if ! $PS -p $pid > /dev/null 2>&1; then ! log_fail "$FILE_TRUNC $options $TESTDIR/$TESTFILE.$i" fi child_pids="$child_pids $pid" ((i = i + 1)) done ! log_must $ZPOOL detach $TESTPOOL1 $disk1 ! $SLEEP 10 for wait_pid in $child_pids do ! $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 } specials_list="" i=0 while [[ $i != 2 ]]; do ! $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 detach_test $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 destroy_pool $TESTPOOL1 --- 90,145 ---- typeset -i index=0 typeset disk1=$1 typeset i=0 while [[ $i -lt $iters ]]; do ! log_note "Invoking file_trunc with: $options_display" ! file_trunc $options $TESTDIR/$TESTFILE.$i & typeset pid=$! ! sleep 1 ! if ! ps -p $pid > /dev/null 2>&1; then ! log_fail "file_trunc $options $TESTDIR/$TESTFILE.$i" fi child_pids="$child_pids $pid" ((i = i + 1)) done ! log_must zpool detach $TESTPOOL1 $disk1 ! sleep 10 for wait_pid in $child_pids do ! 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 } specials_list="" i=0 while [[ $i != 2 ]]; do ! 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 detach_test $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 destroy_pool $TESTPOOL1
*** 146,161 **** log_note "Verify 'zpool detach' fails with non-mirrors." 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_mustnot $ZPOOL detach $TESTDIR/$TESTFILE1.1 ! $ZPOOL iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1" if [[ $? -ne 0 ]]; then log_fail "$TESTFILE1.1 is not present." fi destroy_pool $TESTPOOL1 --- 146,161 ---- log_note "Verify 'zpool detach' fails with non-mirrors." 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_mustnot zpool detach $TESTDIR/$TESTFILE1.1 ! zpool iostat -v $TESTPOOL1 | grep "$TESTDIR/$TESTFILE1.1" if [[ $? -ne 0 ]]; then log_fail "$TESTFILE1.1 is not present." fi destroy_pool $TESTPOOL1