From f1659cc782e90d89ee0c417a56f1174656fba9ba Mon Sep 17 00:00:00 2001 From: Umer Saleem Date: Wed, 8 Nov 2023 16:00:59 +0500 Subject: [PATCH] ZTS: Test for all known zpool feature sets zpool_create_features_007_pos only tested for compat-2020 feature set. It would be useful to test for all known features sets. If any additional feature is found enabled that is not present in compatibility list or feature set, it should be caught and reported earlier. This commit also removes encryption from openzfsonosx-1.8.1 compatibility list. Encryption enables bookmark_v2, since it is a dependency of encryption, but not listed in openzfsonoxx-1.8.1 compatibility list. Reviewed-by: Alexander Motin Reviewed-by: Brian Behlendorf Signed-off-by: Umer Saleem Closes #15505 --- cmd/zpool/compatibility.d/openzfsonosx-1.8.1 | 1 - .../zpool_create/zpool_create_features_007_pos.ksh | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/zpool/compatibility.d/openzfsonosx-1.8.1 b/cmd/zpool/compatibility.d/openzfsonosx-1.8.1 index 162ff32a78..125c578344 100644 --- a/cmd/zpool/compatibility.d/openzfsonosx-1.8.1 +++ b/cmd/zpool/compatibility.d/openzfsonosx-1.8.1 @@ -6,7 +6,6 @@ edonr embedded_data empty_bpobj enabled_txg -encryption extensible_dataset filesystem_limits hole_birth diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_features_007_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_features_007_pos.ksh index c35ca8e8c9..c7c133a219 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_features_007_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_features_007_pos.ksh @@ -34,6 +34,7 @@ # STRATEGY: # 1. Create a pool with a known feature set. # 2. Verify only those features are active/enabled. +# 3. Do this for all known feature sets # verify_runnable "global" @@ -47,8 +48,11 @@ log_onexit cleanup log_assert "creates a pool with a specified feature set enabled" -log_must zpool create -f -o compatibility=compat-2020 $TESTPOOL $DISKS -check_feature_set $TESTPOOL compat-2020 -log_must zpool destroy -f $TESTPOOL +for compat in "$ZPOOL_COMPAT_DIR"/* +do + log_must zpool create -f -o compatibility="${compat##*/}" $TESTPOOL $DISKS + check_feature_set $TESTPOOL "${compat##*/}" + log_must zpool destroy -f $TESTPOOL +done log_pass "creates a pool with a specified feature set enabled"