diff options
author | Tom Caputi <[email protected]> | 2018-11-07 19:59:27 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-11-07 16:59:27 -0800 |
commit | d8244d34bdc3e7b864e0152b55477fa61dae3e90 (patch) | |
tree | d317d4f771ec8501ff85acb667a8284520b1df2a | |
parent | c2bcfa71f40beb87d2a13f42193487e31f077137 (diff) |
ZTS: Fix and reenable zfs_rename tests
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 <[email protected]>
Signed-off-by: Tom Caputi <[email protected]>
Closes #5647
Closes #5648
Closes #8088
3 files changed, 8 insertions, 9 deletions
diff --git a/tests/test-runner/bin/zts-report.py b/tests/test-runner/bin/zts-report.py index 6d5c2b0d8..950295601 100755 --- a/tests/test-runner/bin/zts-report.py +++ b/tests/test-runner/bin/zts-report.py @@ -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], diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh index a7cba349f..3ad7d4e80 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh @@ -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 diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_009_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_009_neg.ksh index 1bdaebdb0..7e8119766 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_009_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_009_neg.ksh @@ -33,13 +33,13 @@ # # 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 a 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." |