]> git.proxmox.com Git - mirror_zfs.git/commitdiff
ZTS: Fix and reenable zfs_rename tests
authorTom Caputi <tcaputi@datto.com>
Thu, 8 Nov 2018 00:59:27 +0000 (19:59 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 8 Nov 2018 00:59:27 +0000 (16:59 -0800)
zfs_rename_006_pos has been flaky in the past because it was
missing a call to block_device_wait to ensure the zvols it creates
are present before running dd. Whenever this this happened,
zfs_rename_009_neg would also fail because the first test would
leak a zvol clone that it did not know how to clean up. This patch
fixes the root cause and reenables the test. It also fixes some
minor grammar errors.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #5647
Closes #5648
Closes #8088

tests/test-runner/bin/zts-report.py
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_009_neg.ksh

index 6d5c2b0d84340eeb6222698426d76fd06ff519cd..95029560178c09c6d376161f49d6349784ad028e 100755 (executable)
@@ -214,8 +214,6 @@ maybe = {
     'cli_root/zdb/zdb_006_pos': ['FAIL', known_reason],
     'cli_root/zfs_get/zfs_get_004_pos': ['FAIL', known_reason],
     'cli_root/zfs_get/zfs_get_009_pos': ['SKIP', '5479'],
-    'cli_root/zfs_rename/zfs_rename_006_pos': ['FAIL', '5647'],
-    'cli_root/zfs_rename/zfs_rename_009_neg': ['FAIL', '5648'],
     'cli_root/zfs_rollback/zfs_rollback_001_pos': ['FAIL', '6415'],
     'cli_root/zfs_rollback/zfs_rollback_002_pos': ['FAIL', '6416'],
     'cli_root/zfs_share/setup': ['SKIP', share_reason],
index a7cba349f1a29556e40316782cda33cba9f112c4..3ad7d4e80562a7953f12d29e0504af8bacb5952a 100755 (executable)
@@ -69,6 +69,7 @@ rename_dataset ${vol}-new $vol
 
 clone=$TESTPOOL/${snap}_clone
 create_clone $vol@$snap $clone
+block_device_wait
 
 #verify data integrity
 for input in $VOL_R_PATH $ZVOL_RDEVDIR/$clone; do
index 1bdaebdb03fcdda523f2030098a144d7933dd100..7e8119766bf7015d3fd6a38a7644c23ec9438d2a 100755 (executable)
 
 #
 # DESCRIPTION:
-#      A snapshot already exists with the new name, then none of the
-#      snapshots is renamed.
+#      When renaming a set of snapshots, if a snapshot already exists with
+#      the new name, then none of the snapshots is renamed.
 #
 # STRATEGY:
-#      1. Create snapshot for a set of datasets.
+#      1. Create snapshot for a set of datasets.
 #      2. Create a new snapshot for one of datasets.
-#      3. Using rename -r command with exists snapshot name.
+#      3. Attempt to "zfs rename -r" with the second snapshot's name.
 #      4. Verify none of the snapshots is renamed.
 #
 
@@ -54,7 +54,7 @@ function cleanup
        done
 }
 
-log_assert "zfs rename -r failed, when snapshot name is already existing."
+log_assert "Verify zfs rename -r failed when the snapshot name already exists."
 log_onexit cleanup
 
 set -A datasets $TESTPOOL              $TESTPOOL/$TESTCTR \
@@ -71,7 +71,7 @@ while ((i < ${#datasets[@]})); do
        log_mustnot zfs rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap2
        log_must zfs destroy ${datasets[$i]}@snap2
 
-       # Check datasets, make sure none of them was renamed.
+       # Check datasets, make sure none of them have snap2.
        typeset -i j=0
        while ((j < ${#datasets[@]})); do
                if datasetexists ${datasets[$j]}@snap2 ; then
@@ -83,4 +83,4 @@ while ((i < ${#datasets[@]})); do
        ((i += 1))
 done
 
-log_pass "zfs rename -r failed, when snapshot name is already existing passed."
+log_pass "zfs rename -r failed when the snapshot name already exists."