}
}
+// return features that are supported but not enabled
+static auto get_disabled_features(const rgw::zone_features::set& enabled) {
+ auto features = rgw::zone_features::set{rgw::zone_features::supported.begin(),
+ rgw::zone_features::supported.end()};
+ for (const auto& feature : enabled) {
+ features.erase(feature);
+ }
+ return features;
+}
+
static void sync_status(Formatter *formatter)
{
cout << std::setw(width) << "zonegroup" << std::setw(1) << " " << zonegroup.get_id() << " (" << zonegroup.get_name() << ")" << std::endl;
cout << std::setw(width) << "zone" << std::setw(1) << " " << zone.id << " (" << zone.name << ")" << std::endl;
+ cout << std::setw(width) << "zonegroup features enabled: " << zonegroup.enabled_features << std::endl;
+ if (auto d = get_disabled_features(zonegroup.enabled_features); !d.empty()) {
+ cout << std::setw(width) << " disabled: " << d << std::endl;
+ }
+
list<string> md_status;
if (store->is_meta_master()) {