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.