}
void RGWOp_MDLog_List::execute() {
+ string period = s->info.args.get("period");
string shard = s->info.args.get("id");
string max_entries_str = s->info.args.get("max-entries");
string st = s->info.args.get("start-time"),
return;
}
}
-
- RGWMetadataLog *meta_log = store->meta_mgr->get_log();
+
+ if (period.empty()) {
+ ldout(s->cct, 5) << "Missing period id" << dendl;
+ http_ret = -EINVAL;
+ return;
+ }
+ RGWMetadataLog *meta_log = store->meta_mgr->get_log(period);
meta_log->init_list_entries(shard_id, ut_st, ut_et, marker, &handle);
void RGWOp_MDLog_Info::execute() {
num_objects = s->cct->_conf->rgw_md_log_max_shards;
+ // TODO: return the period id of our oldest metadata log
http_ret = 0;
}
}
void RGWOp_MDLog_ShardInfo::execute() {
+ string period = s->info.args.get("period");
string shard = s->info.args.get("id");
string err;
return;
}
- RGWMetadataLog *meta_log = store->meta_mgr->get_log();
+ if (period.empty()) {
+ ldout(s->cct, 5) << "Missing period id" << dendl;
+ http_ret = -EINVAL;
+ return;
+ }
+ RGWMetadataLog *meta_log = store->meta_mgr->get_log(period);
http_ret = meta_log->get_info(shard_id, &info);
}
et = s->info.args.get("end-time"),
start_marker = s->info.args.get("start-marker"),
end_marker = s->info.args.get("end-marker"),
+ period = s->info.args.get("period"),
shard = s->info.args.get("id"),
err;
utime_t ut_st,
http_ret = -EINVAL;
return;
}
- RGWMetadataLog *meta_log = store->meta_mgr->get_log();
+
+ if (period.empty()) {
+ ldout(s->cct, 5) << "Missing period id" << dendl;
+ http_ret = -EINVAL;
+ return;
+ }
+ RGWMetadataLog *meta_log = store->meta_mgr->get_log(period);
http_ret = meta_log->trim(shard_id, ut_st, ut_et, start_marker, end_marker);
}
void RGWOp_MDLog_Lock::execute() {
- string shard_id_str, duration_str, locker_id, zone_id;
+ string period, shard_id_str, duration_str, locker_id, zone_id;
unsigned shard_id;
http_ret = 0;
+ period = s->info.args.get("period");
shard_id_str = s->info.args.get("id");
duration_str = s->info.args.get("length");
locker_id = s->info.args.get("locker-id");
zone_id = s->info.args.get("zone-id");
- if (shard_id_str.empty() ||
+ if (period.empty() ||
+ shard_id_str.empty() ||
(duration_str.empty()) ||
locker_id.empty() ||
zone_id.empty()) {
return;
}
- RGWMetadataLog *meta_log = store->meta_mgr->get_log();
+ RGWMetadataLog *meta_log = store->meta_mgr->get_log(period);
unsigned dur;
dur = (unsigned)strict_strtol(duration_str.c_str(), 10, &err);
if (!err.empty() || dur <= 0) {
}
void RGWOp_MDLog_Unlock::execute() {
- string shard_id_str, locker_id, zone_id;
+ string period, shard_id_str, locker_id, zone_id;
unsigned shard_id;
http_ret = 0;
+ period = s->info.args.get("period");
shard_id_str = s->info.args.get("id");
locker_id = s->info.args.get("locker-id");
zone_id = s->info.args.get("zone-id");
- if (shard_id_str.empty() ||
+ if (period.empty() ||
+ shard_id_str.empty() ||
locker_id.empty() ||
zone_id.empty()) {
dout(5) << "Error invalid parameter list" << dendl;
return;
}
- RGWMetadataLog *meta_log = store->meta_mgr->get_log();
+ RGWMetadataLog *meta_log = store->meta_mgr->get_log(period);
http_ret = meta_log->unlock(shard_id, zone_id, locker_id);
}