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-volume-ops.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-volume-ops.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 1e467030431..d7b28ba1e84 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -23,7 +23,8 @@ #endif #include "common-utils.h" -#include "cli1.h" +#include "cli1-xdr.h" +#include "xdr-generic.h" #include "glusterd.h" #include "glusterd-op-sm.h" #include "glusterd-store.h" @@ -69,7 +70,8 @@ glusterd_handle_create_volume (rpcsvc_request_t *req) priv = this->private; ret = -1; - if (!gf_xdr_to_cli_create_vol_req (req->msg[0], &cli_req)) { + if (!xdr_to_generic (req->msg[0], &cli_req, + (xdrproc_t)xdr_gf1_cli_create_vol_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; snprintf (err_str, sizeof (err_str), "Garbage args received"); @@ -204,7 +206,6 @@ out: rsp.op_errstr = err_str; cli_rsp = &rsp; glusterd_submit_reply(req, cli_rsp, NULL, 0, NULL, - gf_xdr_serialize_cli_create_vol_rsp, (xdrproc_t)xdr_gf1_cli_create_vol_rsp); ret = 0; //Client response sent, prevent second response @@ -236,7 +237,8 @@ glusterd_handle_cli_start_volume (rpcsvc_request_t *req) GF_ASSERT (req); - if (!gf_xdr_to_cli_start_vol_req (req->msg[0], &cli_req)) { + if (!xdr_to_generic (req->msg[0], &cli_req, + (xdrproc_t)xdr_gf1_cli_start_vol_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -294,7 +296,8 @@ glusterd_handle_cli_stop_volume (rpcsvc_request_t *req) GF_ASSERT (req); - if (!gf_xdr_to_cli_stop_vol_req (req->msg[0], &cli_req)) { + if (!xdr_to_generic (req->msg[0], &cli_req, + (xdrproc_t)xdr_gf1_cli_stop_vol_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -351,7 +354,8 @@ glusterd_handle_cli_delete_volume (rpcsvc_request_t *req) GF_ASSERT (req); - if (!gf_xdr_to_cli_delete_vol_req (req->msg[0], &cli_req)) { + if (!xdr_to_generic (req->msg[0], &cli_req, + (xdrproc_t)xdr_gf1_cli_delete_vol_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; -- cgit