From 3056bbfc2cb24ec80ebfd831bf5c2fb3d7596a2f Mon Sep 17 00:00:00 2001 From: Toomas Soome Date: Sat, 3 Apr 2021 02:40:51 +0300 Subject: [PATCH] loader: we should support pools without features nvlist_check_features_for_read() does return error when there are no features for read. Reported by: yuripv (cherry picked from commit d36341f7b8ddc2457a1e9e4a721d27d2e66cb39a) --- stand/libsa/zfs/zfsimpl.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/stand/libsa/zfs/zfsimpl.c b/stand/libsa/zfs/zfsimpl.c index bc577f16845..7036b508fa3 100644 --- a/stand/libsa/zfs/zfsimpl.c +++ b/stand/libsa/zfs/zfsimpl.c @@ -191,8 +191,16 @@ nvlist_check_features_for_read(nvlist_t *nvl) rc = nvlist_find(nvl, ZPOOL_CONFIG_FEATURES_FOR_READ, DATA_TYPE_NVLIST, NULL, &features, NULL); - if (rc != 0) - return (rc); + switch (rc) { + case 0: + break; /* Continue with checks */ + + case ENOENT: + return (0); /* All features are disabled */ + + default: + return (rc); /* Error while reading nvlist */ + } data = (nvs_data_t *)features->nv_data; nvp = &data->nvl_pair; /* first pair in nvlist */