mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 19:57:43 +03:00
Illumos 4171, 4172
4171 clean up spa_feature_*() interfaces 4172 implement extensible_dataset feature for use by other zpool features Reviewed by: Max Grossman <max.grossman@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Garrett D'Amore <garrett@damore.org>a References: https://www.illumos.org/issues/4171 https://www.illumos.org/issues/4172 https://github.com/illumos/illumos-gate/commit/2acef22 Ported-by: Tim Chase <tim@chase2k.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #2528
This commit is contained in:
committed by
Brian Behlendorf
parent
62b6939308
commit
fa86b5dbb6
+5
-7
@@ -2347,14 +2347,12 @@ spa_load_impl(spa_t *spa, uint64_t pool_guid, nvlist_t *config,
|
||||
enabled_feat = fnvlist_alloc();
|
||||
unsup_feat = fnvlist_alloc();
|
||||
|
||||
if (!feature_is_supported(spa->spa_meta_objset,
|
||||
spa->spa_feat_for_read_obj, spa->spa_feat_desc_obj,
|
||||
if (!spa_features_check(spa, B_FALSE,
|
||||
unsup_feat, enabled_feat))
|
||||
missing_feat_read = B_TRUE;
|
||||
|
||||
if (spa_writeable(spa) || state == SPA_LOAD_TRYIMPORT) {
|
||||
if (!feature_is_supported(spa->spa_meta_objset,
|
||||
spa->spa_feat_for_write_obj, spa->spa_feat_desc_obj,
|
||||
if (!spa_features_check(spa, B_TRUE,
|
||||
unsup_feat, enabled_feat)) {
|
||||
missing_feat_write = B_TRUE;
|
||||
}
|
||||
@@ -5957,7 +5955,7 @@ spa_sync_props(void *arg, dmu_tx_t *tx)
|
||||
zpool_prop_t prop;
|
||||
const char *propname;
|
||||
zprop_type_t proptype;
|
||||
zfeature_info_t *feature;
|
||||
spa_feature_t fid;
|
||||
|
||||
prop = zpool_name_to_prop(nvpair_name(elem));
|
||||
switch ((int)prop) {
|
||||
@@ -5968,9 +5966,9 @@ spa_sync_props(void *arg, dmu_tx_t *tx)
|
||||
ASSERT(zpool_prop_feature(nvpair_name(elem)));
|
||||
|
||||
fname = strchr(nvpair_name(elem), '@') + 1;
|
||||
VERIFY0(zfeature_lookup_name(fname, &feature));
|
||||
VERIFY0(zfeature_lookup_name(fname, &fid));
|
||||
|
||||
spa_feature_enable(spa, feature, tx);
|
||||
spa_feature_enable(spa, fid, tx);
|
||||
spa_history_log_internal(spa, "set", tx,
|
||||
"%s=enabled", nvpair_name(elem));
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user