diff options
Diffstat (limited to 'libglusterfs/src/call-stub.c')
-rw-r--r-- | libglusterfs/src/call-stub.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c index 8a090ba83..439fd5711 100644 --- a/libglusterfs/src/call-stub.c +++ b/libglusterfs/src/call-stub.c @@ -1078,7 +1078,8 @@ fop_readv_cbk_stub (call_frame_t *frame, int32_t op_errno, struct iovec *vector, int32_t count, - struct stat *stbuf) + struct stat *stbuf, + struct iobref *iobref) { call_stub_t *stub = NULL; @@ -1095,8 +1096,7 @@ fop_readv_cbk_stub (call_frame_t *frame, stub->args.readv_cbk.vector = iov_dup (vector, count); stub->args.readv_cbk.count = count; stub->args.readv_cbk.stbuf = *stbuf; - stub->args.readv_cbk.rsp_refs = - dict_ref (frame->root->rsp_refs); + stub->args.readv_cbk.iobref = iobref_ref (iobref); } out: return stub; @@ -1109,7 +1109,8 @@ fop_writev_stub (call_frame_t *frame, fd_t *fd, struct iovec *vector, int32_t count, - off_t off) + off_t off, + struct iobref *iobref) { call_stub_t *stub = NULL; @@ -1125,9 +1126,7 @@ fop_writev_stub (call_frame_t *frame, stub->args.writev.vector = iov_dup (vector, count); stub->args.writev.count = count; stub->args.writev.off = off; - - if (frame->root->req_refs) - stub->args.writev.req_refs = dict_ref (frame->root->req_refs); + stub->args.writev.iobref = iobref_ref (iobref); out: return stub; } @@ -2406,7 +2405,8 @@ call_resume_wind (call_stub_t *stub) stub->args.writev.fd, stub->args.writev.vector, stub->args.writev.count, - stub->args.writev.off); + stub->args.writev.off, + stub->args.writev.iobref); break; } @@ -2978,7 +2978,8 @@ call_resume_unwind (call_stub_t *stub) stub->args.readv_cbk.op_errno, stub->args.readv_cbk.vector, stub->args.readv_cbk.count, - &stub->args.readv_cbk.stbuf); + &stub->args.readv_cbk.stbuf, + stub->args.readv_cbk.iobref); else stub->args.readv_cbk.fn (stub->frame, stub->frame->cookie, @@ -2987,7 +2988,8 @@ call_resume_unwind (call_stub_t *stub) stub->args.readv_cbk.op_errno, stub->args.readv_cbk.vector, stub->args.readv_cbk.count, - &stub->args.readv_cbk.stbuf); + &stub->args.readv_cbk.stbuf, + stub->args.readv_cbk.iobref); } break; @@ -3644,12 +3646,12 @@ call_stub_destroy_wind (call_stub_t *stub) case GF_FOP_WRITE: { - dict_t *refs = stub->args.writev.req_refs; + struct iobref *iobref = stub->args.writev.iobref; if (stub->args.writev.fd) fd_unref (stub->args.writev.fd); FREE (stub->args.writev.vector); - if (refs) - dict_unref (refs); + if (iobref) + iobref_unref (iobref); break; } @@ -3971,11 +3973,11 @@ call_stub_destroy_unwind (call_stub_t *stub) case GF_FOP_READ: { if (stub->args.readv_cbk.op_ret >= 0) { - dict_t *refs = stub->args.readv_cbk.rsp_refs; + struct iobref *iobref = stub->args.readv_cbk.iobref; FREE (stub->args.readv_cbk.vector); - if (refs) { - dict_unref (refs); + if (iobref) { + iobref_unref (iobref); } } } |