Use string instead of bufferlist to avoid potential issues.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
string source_zone;
string client_id;
string op_id;
- ceph::buffer::list etag;
+ string etag;
off_t last_ofs;
real_time delete_at,
string *version_id,
string *ptag,
- ceph::buffer::list *petag,
+ string *petag,
void (*progress_cb)(off_t, void *),
void *progress_data,
rgw_zone_set *zones_trace)
if (petag) {
const auto iter = cb.get_attrs().find(RGW_ATTR_ETAG);
if (iter != cb.get_attrs().end()) {
- *petag = iter->second;
+ *petag = iter->second.to_str();
}
}
real_time delete_at,
string *version_id,
string *ptag,
- ceph::buffer::list *petag,
+ string *petag,
void (*progress_cb)(off_t, void *),
void *progress_data)
{
if (petag) {
const auto iter = attrs.find(RGW_ATTR_ETAG);
if (iter != attrs.end()) {
- *petag = iter->second;
+ *petag = iter->second.to_str();
}
}
uint64_t olh_epoch,
real_time delete_at,
string *version_id,
- ceph::buffer::list *petag)
+ string *petag)
{
string tag;
append_rand_alpha(cct, tag, tag, 32);
auto iter = attrs.find(RGW_ATTR_ETAG);
if (iter != attrs.end()) {
bufferlist& bl = iter->second;
- etag = string(bl.c_str(), bl.length());
+ etag = bl.to_str();
if (petag) {
- *petag = bl;
+ *petag = etag;
}
}
ceph::real_time delete_at,
string *version_id,
string *ptag,
- ceph::buffer::list *petag,
+ string *petag,
void (*progress_cb)(off_t, void *),
void *progress_data,
rgw_zone_set *zones_trace= nullptr);
ceph::real_time delete_at,
string *version_id,
string *ptag,
- ceph::buffer::list *petag,
+ string *petag,
void (*progress_cb)(off_t, void *),
void *progress_data);
uint64_t olh_epoch,
ceph::real_time delete_at,
string *version_id,
- ceph::buffer::list *petag);
+ string *petag);
int check_bucket_empty(RGWBucketInfo& bucket_info);
}
}
-void dump_etag(struct req_state* const s,
- ceph::buffer::list& bl_etag,
- const bool quoted)
-{
- return dump_etag(s, get_sanitized_hdrval(bl_etag), quoted);
-}
-
void dump_bucket_from_state(struct req_state *s)
{
if (g_conf->rgw_expose_bucket && ! s->bucket_name.empty()) {
extern void dump_etag(struct req_state *s,
const boost::string_ref& etag,
bool quoted = false);
-extern void dump_etag(struct req_state *s,
- ceph::buffer::list& bl_etag,
- bool quoted = false);
extern void dump_epoch_header(struct req_state *s, const char *name, real_time t);
extern void dump_time_header(struct req_state *s, const char *name, real_time t);
extern void dump_last_modified(struct req_state *s, real_time t);
} else {
auto iter = attrs.find(RGW_ATTR_ETAG);
if (iter != attrs.end()) {
- dump_etag(s, iter->second);
+ dump_etag(s, iter->second.to_str());
}
}
if (op_ret == 0) {
dump_time(s, "LastModified", &mtime);
- std::string etag_str = etag.c_str();
- if (! etag_str.empty()) {
- s->formatter->dump_string("ETag", std::move(etag_str));
+ if (! etag.empty()) {
+ s->formatter->dump_string("ETag", std::move(etag));
}
s->formatter->close_section();
rgw_flush_formatter_and_reset(s, s->formatter);
} else {
auto iter = attrs.find(RGW_ATTR_ETAG);
if (iter != attrs.end()) {
- dump_etag(s, iter->second);
+ dump_etag(s, iter->second.to_str());
}
}