diff options
author | Andriy Gapon <[email protected]> | 2018-02-21 14:55:55 +0200 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2018-03-30 12:00:40 -0700 |
commit | 5e00213e430fe9103e263514490d55d10075908e (patch) | |
tree | 7447d888344a6afcf29932f84dfd0b5bc8490d8d /tests | |
parent | 99f505a4d743976d8879595d20beb66a6cbc3af1 (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')
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 |