summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkash Ayare <[email protected]>2016-04-19 21:07:54 -0700
committerBrian Behlendorf <[email protected]>2016-10-14 10:11:00 -0700
commit3691598e26a878df792480e0a97ea5c2bf012e49 (patch)
tree29a044fc0ede8419ed410751ba3aa6de694c3687
parent7305538de316c89e68f2c0977ea8dabe14d0f065 (diff)
OpenZFS 6877 - zfs_rename_006_pos fails due to missing zvol snapshot device file
Authored by: Akash Ayare <[email protected]> Reviewed by: John Kennedy <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: Dan Kimmel <[email protected]> Reviewed-by: luozhengzheng <[email protected]> Reviewed-by: yuxiang <[email protected]> Ported-by: Brian Behlendorf <[email protected]> Bug was caused due to a change in functionality. At some point, ZFS snapshots no longer created associated device files which were being used in the test. To resolve this issue, a clone of the snapshot can be produced which will also create the expected device files; then, the test will behave as it did historically. OpenZFS-issue: https://www.illumos.org/issues/6877 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/2200f27 Closes #5275 Porting Notes: - Hardcoded /dev/zvol/rdsk changed to $ZVOL_RDEVDIR for compatibility. - Enabled in linux runfile.
-rw-r--r--tests/runfiles/linux.run4
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_006_pos.ksh11
2 files changed, 11 insertions, 4 deletions
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run
index 9d659af96..086ea2b27 100644
--- a/tests/runfiles/linux.run
+++ b/tests/runfiles/linux.run
@@ -146,11 +146,9 @@ tests = ['zfs_receive_001_pos', 'zfs_receive_002_pos', 'zfs_receive_003_pos',
'zfs_receive_010_pos', 'zfs_receive_011_pos', 'zfs_receive_012_pos',
'zfs_receive_013_pos']
-# DISABLED:
-# zfs_rename_006_pos - needs investigation
[tests/functional/cli_root/zfs_rename]
tests = ['zfs_rename_001_pos', 'zfs_rename_002_pos', 'zfs_rename_003_pos',
- 'zfs_rename_004_neg', 'zfs_rename_005_neg',
+ 'zfs_rename_004_neg', 'zfs_rename_005_neg', 'zfs_rename_006_pos',
'zfs_rename_007_pos', 'zfs_rename_008_pos', 'zfs_rename_009_neg',
'zfs_rename_010_neg', 'zfs_rename_011_pos', 'zfs_rename_012_neg',
'zfs_rename_013_pos']
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 5f6cdd54d..32223b621 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
@@ -24,6 +24,10 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
+
+#
+# Copyright (c) 2015 by Delphix. All rights reserved.
+#
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
@@ -35,6 +39,7 @@
# 1. Create a snapshot of volume.
# 2. Rename volume snapshot to a new one.
# 3. Rename volume to a new one.
+# 4. Create a clone of the snapshot.
# 5. Verify that the rename operations are successful and zfs list can
# list them.
#
@@ -62,14 +67,18 @@ rename_dataset $vol ${vol}-new
rename_dataset ${vol}-new@${snap}-new ${vol}-new@$snap
rename_dataset ${vol}-new $vol
+clone=$TESTPOOL/${snap}_clone
+create_clone $vol@$snap $clone
+
#verify data integrity
-for input in $VOL_R_PATH ${VOL_R_PATH}@$snap; do
+for input in $VOL_R_PATH $ZVOL_RDEVDIR/$clone; do
log_must eval "$DD if=$input of=$VOLDATA bs=$BS count=$CNT >/dev/null 2>&1"
if ! cmp_data $VOLDATA $DATA ; then
log_fail "$input gets corrupted after rename operation."
fi
done
+destroy_clone $clone
log_must $ZFS destroy $vol@$snap
log_pass "'zfs rename' can rename volume snapshot as expected."