mirror of
https://github.com/ceph/ceph
synced 2025-03-30 07:19:14 +00:00
rgw: add support for printing generic attrs on Swift container.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
This commit is contained in:
parent
8c2b8b7e3d
commit
eb7c21fdc6
@ -341,15 +341,21 @@ static void dump_container_metadata(struct req_state *s, RGWBucketEnt& bucket)
|
||||
if (!s->bucket_info.placement_rule.empty()) {
|
||||
s->cio->print("X-Storage-Policy: %s\r\n", s->bucket_info.placement_rule.c_str());
|
||||
}
|
||||
// Dump user-defined metadata items
|
||||
|
||||
/* Dump user-defined metadata items and generic attrs. */
|
||||
const size_t PREFIX_LEN = sizeof(RGW_ATTR_META_PREFIX) - 1;
|
||||
map<string, bufferlist>::iterator iter;
|
||||
for (iter = s->bucket_attrs.lower_bound(RGW_ATTR_META_PREFIX); iter != s->bucket_attrs.end(); ++iter) {
|
||||
for (iter = s->bucket_attrs.lower_bound(RGW_ATTR_PREFIX);
|
||||
iter != s->bucket_attrs.end();
|
||||
++iter) {
|
||||
const char *name = iter->first.c_str();
|
||||
if (strncmp(name, RGW_ATTR_META_PREFIX, PREFIX_LEN) == 0) {
|
||||
map<string, string>::const_iterator geniter = rgw_to_http_attrs.find(name);
|
||||
|
||||
if (geniter != rgw_to_http_attrs.end() &&
|
||||
geniter->first.compare(RGW_ATTR_CONTENT_TYPE) != 0) {
|
||||
s->cio->print("%s: %s\r\n", geniter->second.c_str(), iter->second.c_str());
|
||||
} else if (strncmp(name, RGW_ATTR_META_PREFIX, PREFIX_LEN) == 0) {
|
||||
s->cio->print("X-Container-Meta-%s: %s\r\n", name + PREFIX_LEN, iter->second.c_str());
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user