aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndriy Gapon <[email protected]>2018-02-21 14:55:55 +0200
committerBrian Behlendorf <[email protected]>2018-03-30 12:00:40 -0700
commit5e00213e430fe9103e263514490d55d10075908e (patch)
tree7447d888344a6afcf29932f84dfd0b5bc8490d8d /tests
parent99f505a4d743976d8879595d20beb66a6cbc3af1 (diff)
OpenZFS 9164 - assert: newds == os->os_dsl_dataset
Authored by: Andriy Gapon <[email protected]> Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Don Brady <[email protected]> Reviewed-by: loli10K <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Approved by: Richard Lowe <[email protected]> Ported-by: Giuseppe Di Natale <[email protected]> Porting Notes: * Re-enabled and tweaked the zpool_upgrade_007_pos test case to successfully run in under 5 minutes. OpenZFS-issue: https://www.illumos.org/issues/9164 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/0e776dc06a Closes #6112 Closes #7336
Diffstat (limited to 'tests')
-rw-r--r--tests/zfs-tests/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib23
-rw-r--r--tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib5
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_007_pos.ksh7
3 files changed, 22 insertions, 13 deletions
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib b/tests/zfs-tests/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
index c540e0851..9c7d273b3 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_upgrade/zfs_upgrade.kshlib
@@ -42,11 +42,22 @@ set -A spa_create_versions 9 15 24
set -A zpl_upgrade_versions 3 4 5
set -A spa_upgrade_versions 9 15 24
+function get_pool_version #pool
+{
+ ver=$(get_pool_prop version $1)
+
+ if [ "$ver" = "-" ]; then
+ ver="5000"
+ fi
+
+ echo "$ver"
+}
+
function default_setup_datasets #rootfs
{
typeset rootfs=$1
typeset pool=${rootfs%%/*}
- typeset -i vp=$(get_pool_prop version $pool)
+ typeset -i vp=$(get_pool_version $pool)
typeset -i version
typeset -i m
typeset -i spa_version
@@ -107,7 +118,7 @@ function default_cleanup_datasets #rootfs
typeset rootfs=$1
if datasetexists $rootfs ; then
- log_must zfs destroy -Rf $rootfs
+ log_must_busy zfs destroy -Rf $rootfs
fi
if datasetnonexists $rootfs ; then
@@ -119,7 +130,7 @@ function default_check_zfs_upgrade #rootfs
{
typeset rootfs=$1
typeset pool=${rootfs%%/*}
- typeset -i vp=$(get_pool_prop version $pool)
+ typeset -i vp=$(get_pool_version $pool)
typeset -i m
typeset -i spa_version
typeset -i zpl_version
@@ -150,9 +161,9 @@ function default_check_zfs_upgrade #rootfs
if (( df_ret != 0 )); then
if (( spa_version != 0 )) && (( vp < spa_version )); then
- log_mustnot zfs upgrade $opt -a >/dev/null
- log_must zpool upgrade $pool >/dev/null
- vp=$(get_pool_prop version $pool)
+ log_mustnot eval "zfs upgrade $opt -a >/dev/null"
+ log_must eval "zpool upgrade $pool >/dev/null"
+ vp=$(get_pool_version $pool)
fi
log_must zfs upgrade $opt -a
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib b/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib
index d4d229cc9..238d4ae38 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib
@@ -93,9 +93,8 @@ function destroy_upgraded_pool
typeset -n pool_files=ZPOOL_VERSION_${vers}_FILES
typeset -n pool_name=ZPOOL_VERSION_${vers}_NAME
- if poolexists $pool_name; then
- log_must zpool destroy $pool_name
- fi
+ destroy_pool $pool_name
+
for file in $pool_files; do
rm -f $TEST_BASE_DIR/$file
done
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_007_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_007_pos.ksh
index 429377f15..adc1ba47f 100755
--- a/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_007_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_007_pos.ksh
@@ -48,19 +48,18 @@
verify_runnable "global"
-https://github.com/zfsonlinux/zfs/issues/6112
-log_unsupported "Known issue #6112"
-
function cleanup
{
destroy_upgraded_pool $config
}
+POOL_CONFIGS="1raidz 1mirror 2raidz 2mirror 3raidz 3mirror"
+
log_assert "Import pools of all versions - 'zfs upgrade' on each pool works"
log_onexit cleanup
# $CONFIGS gets set in the .cfg script
-for config in $CONFIGS; do
+for config in $POOL_CONFIGS; do
typeset -n pool_name=ZPOOL_VERSION_${config}_NAME
create_old_pool $config