diff options
author | Martin Matuska <mm@FreeBSD.org> | 2021-02-18 14:17:31 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2021-02-18 14:19:35 +0000 |
commit | ee36e25a86cbe2a9474c1d61f2c4b450da8ef952 (patch) | |
tree | 1f9e503fe3f154ff3ebc542840b892419ad85314 /sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh | |
parent | fa2528ac643519072c498b483d0dcc1fa5d99bc1 (diff) | |
parent | 62ceb3c592a54fc54d9cb3beee91906979c3df14 (diff) | |
download | src-ee36e25a86cbe2a9474c1d61f2c4b450da8ef952.tar.gz src-ee36e25a86cbe2a9474c1d61f2c4b450da8ef952.zip |
zfs: merge OpenZFS master-bf156c966
Notable upstream changes:
bf156c966 Remove unused abd_alloc_scatter_offset_chunkcnt
658fb8020 Add "compatibility" property for zpool feature sets
This update introduces a new pool property called "compatibility"
that can be used to enable a limited set of pool features on pool
creation and "stick" to it, so the "zpool upgrade" does not
accidentally enable features that are not desired. The value of
this property may then be changed later.
See zpool-features(5) for more information about the "compatibility"
pool property.
Obtained from: OpenZFS
MFC after: 2 weeks
Diffstat (limited to 'sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh')
-rwxr-xr-x | sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh new file mode 100755 index 000000000000..5170d31b46da --- /dev/null +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_upgrade/zpool_upgrade_features_001_pos.ksh @@ -0,0 +1,67 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2021 Lawrence Livermore National Security, LLC. +# + +. $STF_SUITE/include/libtest.shlib +. $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib + +# +# DESCRIPTION: +# Verify pools can be upgraded to known feature sets. +# +# STRATEGY: +# 1. Create a pool with a known feature set. +# 2. Verify only those features are active/enabled. +# 3. Upgrade the pool to a newer feature set. +# 4. Verify only those features are active/enabled. +# + +verify_runnable "global" + +function cleanup +{ + datasetexists $TESTPOOL1 && log_must zpool destroy $TESTPOOL1 + rm -f $FILEDEV +} + +FILEDEV="$TEST_BASE_DIR/filedev.$$" + +log_onexit cleanup + +log_assert "verify pools can be upgraded to known feature sets." + +log_must truncate -s $MINVDEVSIZE $FILEDEV +log_must zpool create -f -o compatibility=compat-2018 $TESTPOOL1 $FILEDEV +check_feature_set $TESTPOOL1 compat-2018 +log_mustnot check_pool_status $TESTPOOL1 "status" "features are not enabled" + +log_must zpool set compatibility=compat-2020 $TESTPOOL1 +log_must check_pool_status $TESTPOOL1 "status" "features are not enabled" + +log_must zpool upgrade $TESTPOOL1 +check_feature_set $TESTPOOL1 compat-2020 +log_mustnot check_pool_status $TESTPOOL1 "status" "features are not enabled" + +log_pass "verify pools can be upgraded to known feature sets." |