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,18 +1141,20 @@
*/
void
spa_activate_mos_feature(spa_t *spa, const char *feature)
{
- (void) nvlist_add_boolean(spa->spa_label_features, 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)
{
- (void) nvlist_remove_all(spa->spa_label_features, feature);
+ if (nvlist_remove_all(spa->spa_label_features, feature) == 0)
vdev_config_dirty(spa->spa_root_vdev);
}
/*
* Rename a spa_t.