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/reservation/reservation.shlib
--- 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/reservation/reservation.shlib
*** 52,88 ****
log_assert "Verify reservations protect space"
function cleanup
{
! 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
}
log_onexit cleanup
! 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
((write_count = (RESV_FREE_SPACE + RESV_TOLERANCE) / BLOCK_SIZE))
! $FILE_WRITE -o create -f $TESTDIR2/$TESTFILE1 -b $BLOCK_SIZE -c $write_count \
-d 0
ret=$?
if [[ $ret != $ENOSPC ]]; then
log_fail "Did not get ENOSPC (got $ret) for non-reserved filesystem"
fi
((write_count = (RESV_FREE_SPACE - RESV_TOLERANCE) / BLOCK_SIZE))
! log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $BLOCK_SIZE -c \
$write_count -d 0
log_pass "Reserved space preserved correctly"
--- 52,88 ----
log_assert "Verify reservations protect space"
function cleanup
{
! 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
}
log_onexit cleanup
! 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
((write_count = (RESV_FREE_SPACE + RESV_TOLERANCE) / BLOCK_SIZE))
! file_write -o create -f $TESTDIR2/$TESTFILE1 -b $BLOCK_SIZE -c $write_count \
-d 0
ret=$?
if [[ $ret != $ENOSPC ]]; then
log_fail "Did not get ENOSPC (got $ret) for non-reserved filesystem"
fi
((write_count = (RESV_FREE_SPACE - RESV_TOLERANCE) / BLOCK_SIZE))
! log_must file_write -o create -f $TESTDIR/$TESTFILE2 -b $BLOCK_SIZE -c \
$write_count -d 0
log_pass "Reserved space preserved correctly"