From f0f3b040dfa062021d3a193e5a19c380eb5e908d Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Mon, 29 Aug 2011 17:53:24 +0530 Subject: modify to the way we used XDR definitions files (.x files) Earlier: step 1: copy the existing .x files to /tmp step 2: generate '.[ch]' files using 'rpcgen .x' step 3: check diff with the to the existing files, add only your part of changes back to the original file. (ignore other changes). step 4: there is another file to write wrapper functions to convert structures to/from XDR buffers, update it with your new structure. step 5: use these wrapper functions in the newly written procedures. step 6: commit :-| Now: step 1: update (mostly adding only) the .x file step 2: run '/extras/generate-xdr-files.sh .x' command step 3: implement rpc procedure to handle the request/response. step 4: commit :-) Change-Id: I219f9159fc980438c86e847c6b030be96e595ea2 BUG: 3488 Reviewed-on: http://review.gluster.com/341 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/mgmt/glusterd/src/glusterd-handshake.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-handshake.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index e78ccbfdc..25b1e6695 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handshake.c +++ b/xlators/mgmt/glusterd/src/glusterd-handshake.c @@ -101,23 +101,6 @@ out: return ret; } -static int -xdr_to_glusterfs_req (rpcsvc_request_t *req, void *arg, gfs_serialize_t sfunc) -{ - int ret = -1; - - if (!req) - return -1; - - ret = sfunc (req->msg[0], arg); - - if (ret > 0) - ret = 0; - - return ret; -} - - int server_getspec (rpcsvc_request_t *req) { @@ -134,7 +117,7 @@ server_getspec (rpcsvc_request_t *req) gf_getspec_rsp rsp = {0,}; - if (xdr_to_glusterfs_req (req, &args, xdr_to_getspec_req)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gf_getspec_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto fail; @@ -191,7 +174,6 @@ fail: rsp.spec = ""; glusterd_submit_reply (req, &rsp, NULL, 0, NULL, - (gd_serialize_t)xdr_serialize_getspec_rsp, (xdrproc_t)xdr_gf_getspec_rsp); if (args.key) free (args.key);//malloced by xdr @@ -346,7 +328,7 @@ glusterd_peer_dump_version_cbk (struct rpc_req *req, struct iovec *iov, goto out; } - ret = xdr_to_dump_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_dump_rsp); if (ret < 0) { gf_log ("", GF_LOG_ERROR, "failed to decode XDR"); goto out; @@ -421,7 +403,7 @@ glusterd_peer_handshake (xlator_t *this, struct rpc_clnt *rpc, ret = glusterd_submit_request (peerctx->peerinfo->rpc, &req, frame, &glusterd_dump_prog, GF_DUMP_DUMP, - NULL, xdr_from_dump_req, this, + NULL, this, glusterd_peer_dump_version_cbk, (xdrproc_t)xdr_gf_dump_req); out: -- cgit