Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
if (enable_versioning) {
s->bucket_info.flags |= BUCKET_VERSIONED;
s->bucket_info.flags &= ~BUCKET_VERSIONS_SUSPENDED;
- } else if (s->bucket_info.versioned()) {
- s->bucket_info.flags |= BUCKET_VERSIONS_SUSPENDED;
} else {
- ret = -EINVAL;
- goto done;
+ s->bucket_info.flags |= (BUCKET_VERSIONED | BUCKET_VERSIONS_SUSPENDED);
}
ret = store->put_bucket_instance_info(s->bucket_info, false, 0, &s->bucket_attrs);
return 0;
}
+ if (obj.get_instance() == "null") {
+ obj.clear_instance();
+ }
+
rgw_rados_ref ref;
rgw_bucket bucket;
int r = store->get_obj_ref(obj, &ref, &bucket);
s->formatter->open_object_section_in_ns("VersioningConfiguration",
"http://doc.s3.amazonaws.com/doc/2006-03-01/");
- const char *status;
- if (!versioned) {
- status = "Disabled";
- } else {
- status = (versioning_enabled ? "Enabled" : "Suspended");
+ if (versioned) {
+ const char *status = (versioning_enabled ? "Enabled" : "Suspended");
+ s->formatter->dump_string("Status", status);
}
- s->formatter->dump_string("Status", status);
s->formatter->close_section();
rgw_flush_formatter_and_reset(s, s->formatter);
}