summaryrefslogtreecommitdiffstats
path: root/xlators/protocol/client/src/client.c
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2010-08-30 08:04:07 +0000
committerVijay Bellur <vijay@dev.gluster.com>2010-08-30 06:54:17 -0700
commit06607a4de8c4414bb102d61b9cf6307d8da020bb (patch)
treea9fc304f78f067c5d9777218e845e57525cec702 /xlators/protocol/client/src/client.c
parent300b4fefcbb5a5ced4f0554e109679e44cdf44ea (diff)
changes to client to make use of the rdma functionality.
- preallocate buffers in client and pass them to transport layer whenever a large response is expected. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 513 (Introduce 0 copy rdma) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=513
Diffstat (limited to 'xlators/protocol/client/src/client.c')
-rw-r--r--xlators/protocol/client/src/client.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c
index 458ecfa8f..c453b7a24 100644
--- a/xlators/protocol/client/src/client.c
+++ b/xlators/protocol/client/src/client.c
@@ -44,7 +44,10 @@ int client_destroy_rpc (xlator_t *this);
int
client_submit_request (xlator_t *this, void *req, call_frame_t *frame,
rpc_clnt_prog_t *prog, int procnum, fop_cbk_fn_t cbk,
- struct iobref *iobref, gfs_serialize_t sfunc)
+ struct iobref *iobref, gfs_serialize_t sfunc,
+ struct iovec *rsphdr, int rsphdr_count,
+ struct iovec *rsp_payload, int rsp_payload_count,
+ struct iobref *rsp_iobref)
{
int ret = -1;
clnt_conf_t *conf = NULL;
@@ -96,8 +99,9 @@ client_submit_request (xlator_t *this, void *req, call_frame_t *frame,
count = 1;
}
/* Send the msg */
- ret = rpc_clnt_submit (conf->rpc, prog, procnum, cbk, &iov, count, NULL, 0,
- iobref, frame, NULL, 0, NULL, 0, NULL);
+ ret = rpc_clnt_submit (conf->rpc, prog, procnum, cbk, &iov, count, NULL,
+ 0, iobref, frame, rsphdr, rsphdr_count,
+ rsp_payload, rsp_payload_count, rsp_iobref);
if (ret == 0) {
pthread_mutex_lock (&conf->rpc->conn.lock);