From: Brian Behlendorf Date: Tue, 2 Oct 2018 00:15:57 +0000 (-0700) Subject: ZTS: Fix snapshot_009_pos, snapshot_010_pos X-Git-Tag: zfs-0.8.0-rc2~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=838bd5ff35db04695ba4eadc7fdb2d56ff816ee5;p=zfs ZTS: Fix snapshot_009_pos, snapshot_010_pos Mitigate the likelihood of the newly created volumes being busy when the 'zfs destroy -r' is issued by waiting for udev to settle. Since this is not a iron clad fix I've added the test case to the known list of possible failures and referenced issue #7961. Finally, in the case this test does fail fix the cleanup logic so subsequent tests won't incorrectly fail. Reviewed-by: Giuseppe Di Natale Reviewed-by: George Melikov Reviewed-by: John Kennedy Signed-off-by: Brian Behlendorf Closes #7961 Closes #7962 --- diff --git a/tests/test-runner/bin/zts-report.py b/tests/test-runner/bin/zts-report.py index 2cf2eb941..d4e743a17 100755 --- a/tests/test-runner/bin/zts-report.py +++ b/tests/test-runner/bin/zts-report.py @@ -264,6 +264,8 @@ maybe = { 'rsend/rsend_024_pos': ['FAIL', '5665'], 'rsend/send-c_volume': ['FAIL', '6087'], 'snapshot/clone_001_pos': ['FAIL', known_reason], + 'snapshot/snapshot_009_pos': ['FAIL', '7961'], + 'snapshot/snapshot_010_pos': ['FAIL', '7961'], 'snapused/snapused_004_pos': ['FAIL', '5513'], 'tmpfile/setup': ['SKIP', tmpfile_reason], 'threadsappend/threadsappend_001_pos': ['FAIL', '6136'], diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib index e5a3d63a4..608f4f29b 100644 --- a/tests/zfs-tests/include/libtest.shlib +++ b/tests/zfs-tests/include/libtest.shlib @@ -642,7 +642,7 @@ function destroy_snapshot typeset snap=${1:-$TESTPOOL/$TESTFS@$TESTSNAP} if ! snapexists $snap; then - log_fail "'$snap' does not existed." + log_fail "'$snap' does not exist." fi # diff --git a/tests/zfs-tests/tests/functional/snapshot/snapshot_009_pos.ksh b/tests/zfs-tests/tests/functional/snapshot/snapshot_009_pos.ksh index 926669124..6607d4ca4 100755 --- a/tests/zfs-tests/tests/functional/snapshot/snapshot_009_pos.ksh +++ b/tests/zfs-tests/tests/functional/snapshot/snapshot_009_pos.ksh @@ -52,18 +52,15 @@ function cleanup typeset snap for ds in $ctr/$TESTVOL1 $ctr/$TESTCLONE; do - datasetexists $ds && \ - log_must zfs destroy -f $ds + destroy_dataset $ds "-rf" done for snap in $ctr/$TESTFS1@$TESTSNAP1 \ $snappool $snapvol $snapctr $snapctrvol \ $snapctrclone $snapctrfs do - snapexists $snap && \ - log_must zfs destroy -rf $snap + snapexists $snap && destroy_dataset $snap "-rf" done - } log_assert "Verify snapshot -r can correctly create a snapshot tree." @@ -91,6 +88,7 @@ else fi log_must zfs snapshot -r $snappool +log_must block_device_wait #verify the snapshot -r results for snap in $snappool $snapfs $snapvol $snapctr $snapctrvol \ diff --git a/tests/zfs-tests/tests/functional/snapshot/snapshot_010_pos.ksh b/tests/zfs-tests/tests/functional/snapshot/snapshot_010_pos.ksh index e0849493d..0f876ad6d 100755 --- a/tests/zfs-tests/tests/functional/snapshot/snapshot_010_pos.ksh +++ b/tests/zfs-tests/tests/functional/snapshot/snapshot_010_pos.ksh @@ -49,15 +49,13 @@ function cleanup { typeset snap - datasetexists $ctrvol && \ - log_must zfs destroy -f $ctrvol + destroy_dataset $ctrvol "-rf" for snap in $ctrfs@$TESTSNAP1 \ $snappool $snapvol $snapctr $snapctrvol \ $snapctrclone $snapctrfs do - snapexists $snap && \ - log_must zfs destroy -rf $snap + snapexists $snap && destroy_dataset $snap "-rf" done } @@ -85,6 +83,7 @@ else fi log_must zfs snapshot -r $snappool +log_must block_device_wait #select the $TESTCTR as destroy point, $TESTCTR is a child of $TESTPOOL log_must zfs destroy -r $snapctr