return 0;
}
+CephContext *RGWPutObjProcessor::ctx()
+{
+ return store->ctx();
+}
+
RGWPutObjProcessor::~RGWPutObjProcessor()
{
if (is_complete)
*/
ret = opstate->renew_state();
if (ret < 0) {
- ldout(store->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): failed to renew op state ret=" << ret << dendl;
+ ldout(processor->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): failed to renew op state ret=" << ret << dendl;
int r = processor->throttle_data(handle, false);
if (r < 0) {
- ldout(store->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): processor->throttle_data() returned " << r << dendl;
+ ldout(processor->ctx(), 0) << "ERROR: RGWRadosPutObj::handle_data(): processor->throttle_data() returned " << r << dendl;
}
/* could not renew state! might have been marked as cancelled */
return ret;
virtual int handle_data(bufferlist& bl, off_t ofs, void **phandle, bool *again) = 0;
virtual int throttle_data(void *handle, bool need_to_wait) = 0;
virtual int complete(string& etag, time_t *mtime, time_t set_mtime, map<string, bufferlist>& attrs);
+
+ CephContext *ctx();
};
class RGWPutObjProcessor_Plain : public RGWPutObjProcessor