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 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#
! # Copyright (c) 2013 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/refreserv/refreserv.cfg
--- 24,34 ----
# Copyright 2009 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/refreserv/refreserv.cfg
*** 45,90 ****
verify_runnable "both"
function cleanup
{
if is_global_zone ; then
! 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_assert "Verify refreservation is limited by available space."
log_onexit cleanup
pool=$TESTPOOL ; fs=$pool/$TESTFS ; subfs=$fs/subfs
! log_must $ZFS create $subfs
typeset datasets
if is_global_zone; then
datasets="$pool $fs"
else
datasets="$fs"
fi
for ds in $datasets; do
! 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
typeset mntpnt
mntpnt=$(get_prop mountpoint $subfs)
! 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_must $ZFS set quota=none $ds
! log_must $ZFS set reservation=15M $ds
done
log_pass "Verify refreservation is limited by available space."
--- 45,90 ----
verify_runnable "both"
function cleanup
{
if is_global_zone ; then
! 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_assert "Verify refreservation is limited by available space."
log_onexit cleanup
pool=$TESTPOOL ; fs=$pool/$TESTFS ; subfs=$fs/subfs
! log_must zfs create $subfs
typeset datasets
if is_global_zone; then
datasets="$pool $fs"
else
datasets="$fs"
fi
for ds in $datasets; do
! 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
typeset mntpnt
mntpnt=$(get_prop mountpoint $subfs)
! 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_must zfs set quota=none $ds
! log_must zfs set reservation=15M $ds
done
log_pass "Verify refreservation is limited by available space."