diff options
Diffstat (limited to 'src/osdc/Objecter.h')
-rw-r--r-- | src/osdc/Objecter.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 6cc3cb88426..5def518144e 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -120,8 +120,15 @@ struct ObjectOperation { osd_op.indata.append(name); osd_op.indata.append(data); } - void add_call(int op, const char *cname, const char *method, bufferlist &indata) { + void add_call(int op, const char *cname, const char *method, bufferlist &indata, + bufferlist *outbl, Context *ctx, int *prval) { OSDOp& osd_op = add_op(op); + + unsigned p = ops.size() - 1; + out_handler[p] = ctx; + out_bl[p] = outbl; + out_rval[p] = prval; + osd_op.op.op = op; osd_op.op.cls.class_len = strlen(cname); osd_op.op.cls.method_len = strlen(method); @@ -506,7 +513,12 @@ struct ObjectOperation { // object classes void call(const char *cname, const char *method, bufferlist &indata) { - add_call(CEPH_OSD_OP_CALL, cname, method, indata); + add_call(CEPH_OSD_OP_CALL, cname, method, indata, NULL, NULL, NULL); + } + + void call(const char *cname, const char *method, bufferlist &indata, bufferlist *outdata, + Context *ctx, int *prval) { + add_call(CEPH_OSD_OP_CALL, cname, method, indata, outdata, ctx, prval); } // watch/notify |