diff options
| author | Amar Tumballi <amar@gluster.com> | 2011-08-29 17:53:24 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-09-07 10:48:52 -0700 | 
| commit | f0f3b040dfa062021d3a193e5a19c380eb5e908d (patch) | |
| tree | 5e78d2dc05a2aa143b68b0980e21f09511c9120b /xlators/mgmt/glusterd/src/glusterd-handshake.c | |
| parent | f78c8253d7fb75762effcf64683cbce10783a55b (diff) | |
modify to the way we used XDR definitions files (.x files)
Earlier:
step 1: copy the existing <xdr>.x files to /tmp
step 2: generate '.[ch]' files using 'rpcgen <xdr>.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 <xdr>.x file
step 2: run '<path-to-src>/extras/generate-xdr-files.sh <xdr>.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 <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-handshake.c')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handshake.c | 24 | 
1 files changed, 3 insertions, 21 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index e78ccbfdc40..25b1e669570 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:  | 
