Was missing bucket complete op, only had the guard (bad merge?).
Pass zones_trace as pointer and treat it as optional param (which
it is).
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
rgw_bucket_dir_entry_meta& dir_meta,
list<cls_rgw_obj_key> *remove_objs, bool log_op,
uint16_t bilog_flags,
- rgw_zone_set& zones_trace)
+ rgw_zone_set *zones_trace)
{
bufferlist in;
call.bilog_flags = bilog_flags;
if (remove_objs)
call.remove_objs = *remove_objs;
- call.zones_trace = zones_trace;
+ if (zones_trace) {
+ call.zones_trace = *zones_trace;
+ }
::encode(call, in);
o.exec(RGW_CLASS, RGW_BUCKET_COMPLETE_OP, in);
}
const cls_rgw_obj_key& key,
rgw_bucket_dir_entry_meta& dir_meta,
list<cls_rgw_obj_key> *remove_objs, bool log_op,
- uint16_t bilog_op, rgw_zone_set& zones_trace);
+ uint16_t bilog_op, rgw_zone_set *zones_trace);
void cls_rgw_remove_obj(librados::ObjectWriteOperation& o, list<string>& keep_attr_prefixes);
void cls_rgw_obj_store_pg_ver(librados::ObjectWriteOperation& o, const string& attr);
librados::ObjectWriteOperation o;
cls_rgw_guard_bucket_resharding(o, -ERR_BUSY_RESHARDING);
cls_rgw_bucket_complete_op(o, c->op, c->tag, c->ver, c->key, c->dir_meta, &c->remove_objs,
- c->log_op, c->bilog_op, c->zones_trace);
+ c->log_op, c->bilog_op, &c->zones_trace);
return bs->index_ctx.operate(bs->bucket_obj, &o);
});
ver.epoch = epoch;
cls_rgw_obj_key key(ent.key.name, ent.key.instance);
cls_rgw_guard_bucket_resharding(o, -ERR_BUSY_RESHARDING);
-
+ cls_rgw_bucket_complete_op(o, op, tag, ver, key, dir_meta, remove_objs,
+ get_zone().log_data, bilog_flags, _zones_trace);
complete_op_data *arg;
index_completion_manager->create_completion(obj, op, tag, ver, key, dir_meta, remove_objs,
get_zone().log_data, bilog_flags, _zones_trace, &arg);
ver.pool = ioctx.get_id();
ver.epoch = epoch;
meta.accounted_size = meta.size;
- rgw_zone_set zones_trace;
- cls_rgw_bucket_complete_op(*op, index_op, tag, ver, key, meta, NULL, true, 0, zones_trace);
+ cls_rgw_bucket_complete_op(*op, index_op, tag, ver, key, meta, nullptr, true, 0, nullptr);
ASSERT_EQ(0, ioctx.operate(oid, op));
}