return r;
}
- uint64_t num_shards = (info->num_shards ? info->num_shards : DEFAULT_NUM_SHARDS);
if (r == 0) {
- if (num_shards != state.info.num_shards) {
- return -EINVAL;
- }
search_info = state.info;
search_stage = state.stage;
- } else { /* r == -ENOENT */
+ } else if (info) { /* r == -ENOENT, initiate a new job if info was provided */
search_info = *info;
search_info.job_name = job_name;
- search_info.num_shards = num_shards;
+ search_info.num_shards = (info->num_shards ? info->num_shards : DEFAULT_NUM_SHARDS);
search_info.start_time = ceph_clock_now(store->ctx());
search_stage = RGWOrphanSearchStage(ORPHAN_SEARCH_STAGE_INIT);
lderr(store->ctx()) << "ERROR: failed to write state ret=" << r << dendl;
return r;
}
+ } else {
+ lderr(store->ctx()) << "ERROR: job not found" << dendl;
+ return r;
}
index_objs_prefix = RGW_ORPHAN_INDEX_PREFIX + string(".");