int RGWRados::get_system_obj_state_impl(RGWObjectCtx *rctx, rgw_raw_obj& obj, RGWRawObjState **state, RGWObjVersionTracker *objv_tracker)
{
+ if (obj.empty()) {
+ return -EINVAL;
+ }
+
RGWRawObjState *s = rctx->raw.get_state(obj);
ldout(cct, 20) << "get_system_obj_state: rctx=" << (void *)rctx << " obj=" << obj << " state=" << (void *)s << " s->prefetch_data=" << s->prefetch_data << dendl;
*state = s;
int RGWRados::get_obj_state_impl(RGWObjectCtx *rctx, const RGWBucketInfo& bucket_info, const rgw_obj& obj,
RGWObjState **state, bool follow_olh, bool assume_noent)
{
+ if (obj.empty()) {
+ return -EINVAL;
+ }
+
bool need_follow_olh = follow_olh && obj.key.instance.empty();
RGWObjState *s = rctx->obj.get_state(obj);