Print this page
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>

*** 1141,1158 **** */ void spa_activate_mos_feature(spa_t *spa, const char *feature) { ! (void) nvlist_add_boolean(spa->spa_label_features, feature); vdev_config_dirty(spa->spa_root_vdev); } void spa_deactivate_mos_feature(spa_t *spa, const char *feature) { ! (void) nvlist_remove_all(spa->spa_label_features, feature); vdev_config_dirty(spa->spa_root_vdev); } /* * Rename a spa_t. --- 1141,1160 ---- */ void spa_activate_mos_feature(spa_t *spa, const char *feature) { ! if (!nvlist_exists(spa->spa_label_features, feature)) { ! fnvlist_add_boolean(spa->spa_label_features, feature); vdev_config_dirty(spa->spa_root_vdev); + } } void spa_deactivate_mos_feature(spa_t *spa, const char *feature) { ! if (nvlist_remove_all(spa->spa_label_features, feature) == 0) vdev_config_dirty(spa->spa_root_vdev); } /* * Rename a spa_t.