diff options
author | Brian Behlendorf <[email protected]> | 2018-10-01 17:15:57 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2018-10-01 17:15:57 -0700 |
commit | 838bd5ff35db04695ba4eadc7fdb2d56ff816ee5 (patch) | |
tree | 5a19ae6ebd4021df27e543cbdc0ab5f30962f9b8 /tests | |
parent | 424fd7c3e080255935646d2beaa2655c116cc37a (diff) |
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 <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: John Kennedy <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #7961
Closes #7962
Diffstat (limited to 'tests')
4 files changed, 9 insertions, 10 deletions
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 |