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>
*** 25,35 ****
# Use is subject to license terms.
#
#
! # Copyright (c) 2013 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/snapshot/snapshot.cfg
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
--- 25,35 ----
# Use is subject to license terms.
#
#
! # Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/snapshot/snapshot.cfg
. $STF_SUITE/tests/functional/cli_root/zfs_rollback/zfs_rollback_common.kshlib
*** 52,68 ****
function cleanup
{
typeset -i i=0
while ((i < snap_cnt)); do
typeset snap=$fs@snap.$i
! datasetexists $snap && log_must $ZFS destroy -f $snap
((i += 1))
done
}
! $ZFS 2>&1 | $GREP "allow" > /dev/null
(($? != 0)) && log_unsupported
log_assert "Verify snapshot can be created via mkdir in .zfs/snapshot."
log_onexit cleanup
--- 52,68 ----
function cleanup
{
typeset -i i=0
while ((i < snap_cnt)); do
typeset snap=$fs@snap.$i
! datasetexists $snap && log_must zfs destroy -f $snap
((i += 1))
done
}
! zfs 2>&1 | grep "allow" > /dev/null
(($? != 0)) && log_unsupported
log_assert "Verify snapshot can be created via mkdir in .zfs/snapshot."
log_onexit cleanup
*** 71,104 ****
mntpnt=$(get_prop mountpoint $fs)
snapdir=$mntpnt/.zfs
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
else
! log_mustnot $MKDIR $dir
fi
done
# Verify snapshot can be created via mkdir in .zfs/snapshot
typeset -i snap_cnt=5
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
if ! datasetexists $fs@snap.$cnt ; then
log_fail "ERROR: $fs@snap.$cnt should exists."
fi
((cnt += 1))
done
# Verify rollback to previous snapshot succeed.
((cnt = RANDOM % snap_cnt))
! log_must $ZFS rollback -r $fs@snap.$cnt
typeset -i i=0
while ((i < snap_cnt)); do
testfile=$mntpnt/testfile.$i
if ((i <= cnt)); then
--- 71,104 ----
mntpnt=$(get_prop mountpoint $fs)
snapdir=$mntpnt/.zfs
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
else
! log_mustnot mkdir $dir
fi
done
# Verify snapshot can be created via mkdir in .zfs/snapshot
typeset -i snap_cnt=5
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
if ! datasetexists $fs@snap.$cnt ; then
log_fail "ERROR: $fs@snap.$cnt should exists."
fi
((cnt += 1))
done
# Verify rollback to previous snapshot succeed.
((cnt = RANDOM % snap_cnt))
! log_must zfs rollback -r $fs@snap.$cnt
typeset -i i=0
while ((i < snap_cnt)); do
testfile=$mntpnt/testfile.$i
if ((i <= cnt)); then
*** 113,121 ****
((i += 1))
done
# Verify remove directory in snapdir can destroy snapshot.
! 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."
--- 113,121 ----
((i += 1))
done
# Verify remove directory in snapdir can destroy snapshot.
! 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."