mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-28 02:44:30 +03:00
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 <behlendorf1@llnl.gov> Signed-off-by: Tom Caputi <tcaputi@datto.com> Closes #5647 Closes #5648 Closes #8088
This commit is contained in:
parent
c2bcfa71f4
commit
d8244d34bd
@ -214,8 +214,6 @@ maybe = {
|
|||||||
'cli_root/zdb/zdb_006_pos': ['FAIL', known_reason],
|
'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_004_pos': ['FAIL', known_reason],
|
||||||
'cli_root/zfs_get/zfs_get_009_pos': ['SKIP', '5479'],
|
'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_001_pos': ['FAIL', '6415'],
|
||||||
'cli_root/zfs_rollback/zfs_rollback_002_pos': ['FAIL', '6416'],
|
'cli_root/zfs_rollback/zfs_rollback_002_pos': ['FAIL', '6416'],
|
||||||
'cli_root/zfs_share/setup': ['SKIP', share_reason],
|
'cli_root/zfs_share/setup': ['SKIP', share_reason],
|
||||||
|
@ -69,6 +69,7 @@ rename_dataset ${vol}-new $vol
|
|||||||
|
|
||||||
clone=$TESTPOOL/${snap}_clone
|
clone=$TESTPOOL/${snap}_clone
|
||||||
create_clone $vol@$snap $clone
|
create_clone $vol@$snap $clone
|
||||||
|
block_device_wait
|
||||||
|
|
||||||
#verify data integrity
|
#verify data integrity
|
||||||
for input in $VOL_R_PATH $ZVOL_RDEVDIR/$clone; do
|
for input in $VOL_R_PATH $ZVOL_RDEVDIR/$clone; do
|
||||||
|
@ -33,13 +33,13 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# DESCRIPTION:
|
# DESCRIPTION:
|
||||||
# A snapshot already exists with the new name, then none of the
|
# When renaming a set of snapshots, if a snapshot already exists with
|
||||||
# snapshots is renamed.
|
# the new name, then none of the snapshots is renamed.
|
||||||
#
|
#
|
||||||
# STRATEGY:
|
# 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.
|
# 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.
|
# 4. Verify none of the snapshots is renamed.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ function cleanup
|
|||||||
done
|
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
|
log_onexit cleanup
|
||||||
|
|
||||||
set -A datasets $TESTPOOL $TESTPOOL/$TESTCTR \
|
set -A datasets $TESTPOOL $TESTPOOL/$TESTCTR \
|
||||||
@ -71,7 +71,7 @@ while ((i < ${#datasets[@]})); do
|
|||||||
log_mustnot zfs rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap2
|
log_mustnot zfs rename -r ${TESTPOOL}@snap ${TESTPOOL}@snap2
|
||||||
log_must zfs destroy ${datasets[$i]}@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
|
typeset -i j=0
|
||||||
while ((j < ${#datasets[@]})); do
|
while ((j < ${#datasets[@]})); do
|
||||||
if datasetexists ${datasets[$j]}@snap2 ; then
|
if datasetexists ${datasets[$j]}@snap2 ; then
|
||||||
@ -83,4 +83,4 @@ while ((i < ${#datasets[@]})); do
|
|||||||
((i += 1))
|
((i += 1))
|
||||||
done
|
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."
|
||||||
|
Loading…
Reference in New Issue
Block a user