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/protocol/client/src/client-handshake.c | 34 ++--- xlators/protocol/client/src/client.c | 28 ++-- xlators/protocol/client/src/client.h | 2 +- xlators/protocol/client/src/client3_1-fops.c | 200 ++++++++++++------------- xlators/protocol/server/src/server-handshake.c | 7 +- xlators/protocol/server/src/server.c | 44 ++---- xlators/protocol/server/src/server.h | 8 +- xlators/protocol/server/src/server3_1-fops.c | 128 ++++++---------- 8 files changed, 182 insertions(+), 269 deletions(-) (limited to 'xlators/protocol') diff --git a/xlators/protocol/client/src/client-handshake.c b/xlators/protocol/client/src/client-handshake.c index 93be68911..6f3dc8642 100644 --- a/xlators/protocol/client/src/client-handshake.c +++ b/xlators/protocol/client/src/client-handshake.c @@ -30,7 +30,7 @@ #include "compat-errno.h" #include "glusterfs3.h" -#include "portmap.h" +#include "portmap-xdr.h" extern rpc_clnt_prog_t clnt3_1_fop_prog; extern rpc_clnt_prog_t clnt_pmap_prog; @@ -211,8 +211,8 @@ client_start_ping (void *data) goto fail; ret = client_submit_request (this, NULL, frame, conf->handshake, - GF_HNDSK_PING, client_ping_cbk, NULL, NULL, - NULL, 0, NULL, 0, NULL, NULL); + GF_HNDSK_PING, client_ping_cbk, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)NULL); if (ret) goto fail; @@ -316,7 +316,7 @@ client3_getspec_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_getspec_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_getspec_rsp); if (ret < 0) { gf_log (frame->this->name, GF_LOG_ERROR, "XDR decoding failed, returning EINVAL"); @@ -359,8 +359,7 @@ int32_t client3_getspec (call_frame_t *frame, xlator_t *this, void *data) ret = client_submit_request (this, &req, frame, conf->handshake, GF_HNDSK_GETSPEC, client3_getspec_cbk, - NULL, xdr_from_getspec_req, NULL, 0, - NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gf_getspec_req); if (ret) @@ -418,7 +417,7 @@ client3_1_reopen_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_open_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_open_rsp); if (ret < 0) { gf_log (frame->this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -520,7 +519,7 @@ client3_1_reopendir_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_opendir_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_opendir_rsp); if (ret < 0) { gf_log (frame->this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -633,8 +632,7 @@ protocol_client_reopendir (xlator_t *this, clnt_fd_ctx_t *fdctx) ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_OPENDIR, client3_1_reopendir_cbk, NULL, - xdr_from_opendir_req, NULL, 0, NULL, 0, - NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_opendir_req); if (ret) goto out; @@ -716,7 +714,7 @@ protocol_client_reopen (xlator_t *this, clnt_fd_ctx_t *fdctx) local = NULL; ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_OPEN, client3_1_reopen_cbk, NULL, - xdr_from_open_req, NULL, 0, NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_open_req); if (ret) goto out; @@ -828,7 +826,7 @@ client_setvolume_cbk (struct rpc_req *req, struct iovec *iov, int count, void *m goto out; } - ret = xdr_to_setvolume_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_setvolume_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); op_ret = -1; @@ -1042,8 +1040,7 @@ client_setvolume (xlator_t *this, struct rpc_clnt *rpc) ret = client_submit_request (this, &req, fr, conf->handshake, GF_HNDSK_SETVOLUME, client_setvolume_cbk, - NULL, xdr_from_setvolume_req, NULL, 0, - NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gf_setvolume_req); fail: @@ -1148,7 +1145,7 @@ client_query_portmap_cbk (struct rpc_req *req, struct iovec *iov, int count, voi goto out; } - ret = xdr_to_pmap_port_by_brick_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_pmap_port_by_brick_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); goto out; @@ -1236,8 +1233,7 @@ client_query_portmap (xlator_t *this, struct rpc_clnt *rpc) ret = client_submit_request (this, &req, fr, &clnt_pmap_prog, GF_PMAP_PORTBYBRICK, client_query_portmap_cbk, - NULL, xdr_from_pmap_port_by_brick_req, - NULL, 0, NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_pmap_port_by_brick_req); fail: @@ -1265,7 +1261,7 @@ client_dump_version_cbk (struct rpc_req *req, struct iovec *iov, int count, 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 (frame->this->name, GF_LOG_ERROR, "XDR decoding failed"); goto out; @@ -1333,7 +1329,7 @@ client_handshake (xlator_t *this, struct rpc_clnt *rpc) req.gfs_id = 0xbabe; ret = client_submit_request (this, &req, frame, conf->dump, GF_DUMP_DUMP, client_dump_version_cbk, - NULL, xdr_from_dump_req, NULL, 0, NULL, 0, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gf_dump_req); out: diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 77e3f5413..971cd08b0 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -44,10 +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 iovec *rsphdr, int rsphdr_count, - struct iovec *rsp_payload, int rsp_payload_count, - struct iobref *rsp_iobref, xdrproc_t xdrproc) + struct iobref *iobref, struct iovec *rsphdr, + int rsphdr_count, struct iovec *rsp_payload, + int rsp_payload_count, struct iobref *rsp_iobref, + xdrproc_t xdrproc) { int ret = -1; clnt_conf_t *conf = NULL; @@ -111,18 +111,16 @@ client_submit_request (xlator_t *this, void *req, call_frame_t *frame, iov.iov_len = iobuf_size (iobuf); /* Create the xdr payload */ - if (sfunc) { - ret = sfunc (iov, req); - if (ret == -1) { - /* callingfn so that, we can get to know which xdr - function was called */ - gf_log_callingfn (this->name, GF_LOG_WARNING, - "XDR payload creation failed"); - goto out; - } - iov.iov_len = ret; - count = 1; + ret = xdr_serialize_generic (iov, req, xdrproc); + if (ret == -1) { + /* callingfn so that, we can get to know which xdr + function was called */ + gf_log_callingfn (this->name, GF_LOG_WARNING, + "XDR payload creation failed"); + goto out; } + iov.iov_len = ret; + count = 1; } /* Send the msg */ diff --git a/xlators/protocol/client/src/client.h b/xlators/protocol/client/src/client.h index 328e1ca24..1322aebf9 100644 --- a/xlators/protocol/client/src/client.h +++ b/xlators/protocol/client/src/client.h @@ -161,7 +161,7 @@ int client_local_wipe (clnt_local_t *local); 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, struct iovec *rsphdr, int rsphdr_count, struct iovec *rsp_payload, int rsp_count, struct iobref *rsp_iobref, xdrproc_t xdrproc); diff --git a/xlators/protocol/client/src/client3_1-fops.c b/xlators/protocol/client/src/client3_1-fops.c index c1a7f4e43..d55a614e5 100644 --- a/xlators/protocol/client/src/client3_1-fops.c +++ b/xlators/protocol/client/src/client3_1-fops.c @@ -35,8 +35,7 @@ int client_submit_vec_request (xlator_t *this, void *req, call_frame_t *frame, rpc_clnt_prog_t *prog, int procnum, fop_cbk_fn_t cbk, struct iovec *payload, int payloadcnt, - struct iobref *iobref, gfs_serialize_t sfunc, - xdrproc_t xdrproc) + struct iobref *iobref, xdrproc_t xdrproc) { int ret = 0; clnt_conf_t *conf = NULL; @@ -83,18 +82,17 @@ client_submit_vec_request (xlator_t *this, void *req, call_frame_t *frame, iov.iov_len = iobuf_size (iobuf); /* Create the xdr payload */ - if (sfunc) { - ret = sfunc (iov, req); - if (ret == -1) { - gf_log_callingfn ("", GF_LOG_WARNING, - "XDR function failed"); - goto out; - } - - iov.iov_len = ret; - count = 1; + ret = xdr_serialize_generic (iov, req, xdrproc); + if (ret == -1) { + gf_log_callingfn ("", GF_LOG_WARNING, + "XDR function failed"); + goto out; } + + iov.iov_len = ret; + count = 1; } + /* Send the msg */ ret = rpc_clnt_submit (conf->rpc, prog, procnum, cbk, &iov, count, payload, payloadcnt, new_iobref, frame, NULL, 0, @@ -155,7 +153,7 @@ client3_1_symlink_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_symlink_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_symlink_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -214,7 +212,7 @@ client3_1_mknod_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_mknod_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_mknod_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -272,7 +270,7 @@ client3_1_mkdir_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_mkdir_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_mkdir_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -329,7 +327,7 @@ client3_1_open_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_open_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_open_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -397,7 +395,7 @@ client3_1_stat_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_stat_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_stat_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -439,7 +437,7 @@ client3_1_readlink_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_readlink_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_readlink_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -487,7 +485,7 @@ client3_1_unlink_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_unlink_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_unlink_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -532,7 +530,7 @@ client3_1_rmdir_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_rmdir_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_rmdir_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -578,7 +576,7 @@ client3_1_truncate_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_truncate_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_truncate_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -623,7 +621,7 @@ client3_1_statfs_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_statfs_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_statfs_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -668,7 +666,7 @@ client3_1_writev_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_truncate_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_truncate_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -712,7 +710,7 @@ client3_1_flush_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -764,7 +762,7 @@ client3_1_fsync_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_truncate_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_truncate_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -808,7 +806,7 @@ client3_1_setxattr_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -854,7 +852,7 @@ client3_1_getxattr_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_getxattr_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_getxattr_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); op_ret = -1; @@ -939,7 +937,7 @@ client3_1_fgetxattr_cbk (struct rpc_req *req, struct iovec *iov, int count, op_errno = ENOTCONN; goto out; } - ret = xdr_to_fgetxattr_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_fgetxattr_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); op_ret = -1; @@ -1015,7 +1013,7 @@ client3_1_removexattr_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1052,7 +1050,7 @@ client3_1_fsyncdir_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1089,7 +1087,7 @@ client3_1_access_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1129,7 +1127,7 @@ client3_1_ftruncate_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_ftruncate_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_ftruncate_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1173,7 +1171,7 @@ client3_1_fstat_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_fstat_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_fstat_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1215,7 +1213,7 @@ client3_1_inodelk_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1253,7 +1251,7 @@ client3_1_finodelk_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1291,7 +1289,7 @@ client3_1_entrylk_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1330,7 +1328,7 @@ client3_1_fentrylk_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1376,7 +1374,7 @@ client3_1_xattrop_cbk (struct rpc_req *req, struct iovec *iov, int count, op_errno = ENOTCONN; goto out; } - ret = xdr_to_xattrop_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_xattrop_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); op_ret = -1; @@ -1463,7 +1461,7 @@ client3_1_fxattrop_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_fxattrop_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_fxattrop_rsp); if (ret < 0) { op_ret = -1; op_errno = EINVAL; @@ -1539,7 +1537,7 @@ client3_1_fsetxattr_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_common_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gf_common_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1578,7 +1576,7 @@ client3_1_fsetattr_cbk (struct rpc_req *req, struct iovec *iov, int count, rsp.op_errno = ENOTCONN; goto out; } - ret = xdr_to_fsetattr_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_fsetattr_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1625,7 +1623,7 @@ client3_1_setattr_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_setattr_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_setattr_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1681,7 +1679,7 @@ client3_1_create_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_create_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_create_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1753,7 +1751,7 @@ client3_1_rchecksum_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_rchecksum_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_rchecksum_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1802,7 +1800,7 @@ client3_1_lk_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_lk_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_lk_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1866,7 +1864,7 @@ client3_1_readdir_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_readdir_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_readdir_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1922,7 +1920,7 @@ client3_1_readdirp_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_readdirp_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_readdirp_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -1979,7 +1977,7 @@ client3_1_rename_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_rename_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_rename_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -2038,7 +2036,7 @@ client3_1_link_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_link_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_link_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -2096,7 +2094,7 @@ client3_1_opendir_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_opendir_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_opendir_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -2173,7 +2171,7 @@ client3_1_lookup_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_lookup_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_lookup_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -2283,7 +2281,7 @@ client3_1_readv_cbk (struct rpc_req *req, struct iovec *iov, int count, goto out; } - ret = xdr_to_readv_rsp (*iov, &rsp); + ret = xdr_to_generic (*iov, &rsp, (xdrproc_t)xdr_gfs3_read_rsp); if (ret < 0) { gf_log (this->name, GF_LOG_ERROR, "XDR decoding failed"); rsp.op_ret = -1; @@ -2360,8 +2358,7 @@ client_fdctx_destroy (xlator_t *this, clnt_fd_ctx_t *fdctx) ret = client_submit_request (this, &req, fr, &clnt3_1_fop_prog, GFS3_OP_RELEASEDIR, client3_1_releasedir_cbk, - NULL, xdr_from_releasedir_req, - NULL, 0, NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_releasedir_req); } else { gfs3_release_req req = {{0,},}; @@ -2370,8 +2367,7 @@ client_fdctx_destroy (xlator_t *this, clnt_fd_ctx_t *fdctx) ret = client_submit_request (this, &req, fr, &clnt3_1_fop_prog, GFS3_OP_RELEASE, client3_1_release_cbk, NULL, - xdr_from_release_req, NULL, 0, - NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_release_req); } @@ -2429,8 +2425,7 @@ client3_1_releasedir (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_RELEASEDIR, client3_1_releasedir_cbk, - NULL, xdr_from_releasedir_req, - NULL, 0, NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_releasedir_req); inode_unref (fdctx->inode); GF_FREE (fdctx); @@ -2486,9 +2481,8 @@ client3_1_release (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_RELEASE, - client3_1_release_cbk, NULL, - xdr_from_release_req, NULL, 0, - NULL, 0, NULL, + client3_1_release_cbk, NULL, NULL, + 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_release_req); inode_unref (fdctx->inode); GF_FREE (fdctx); @@ -2593,7 +2587,7 @@ client3_1_lookup (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_LOOKUP, client3_1_lookup_cbk, - NULL, xdr_from_lookup_req, rsphdr, count, + NULL, rsphdr, count, NULL, 0, local->iobref, (xdrproc_t)xdr_gfs3_lookup_req); @@ -2667,7 +2661,7 @@ client3_1_stat (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_STAT, client3_1_stat_cbk, NULL, - xdr_from_stat_req, NULL, 0, NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_stat_req); if (ret) { op_errno = ENOTCONN; @@ -2714,7 +2708,7 @@ client3_1_truncate (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_TRUNCATE, client3_1_truncate_cbk, NULL, - xdr_from_truncate_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_truncate_req); if (ret) { op_errno = ENOTCONN; @@ -2773,7 +2767,7 @@ client3_1_ftruncate (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FTRUNCATE, client3_1_ftruncate_cbk, NULL, - xdr_from_ftruncate_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_ftruncate_req); if (ret) { op_errno = ENOTCONN; @@ -2819,7 +2813,7 @@ client3_1_access (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_ACCESS, client3_1_access_cbk, NULL, - xdr_from_access_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_access_req); if (ret) { op_errno = ENOTCONN; @@ -2863,7 +2857,7 @@ client3_1_readlink (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_READLINK, client3_1_readlink_cbk, NULL, - xdr_from_readlink_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_readlink_req); if (ret) { op_errno = ENOTCONN; @@ -2910,7 +2904,7 @@ client3_1_unlink (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_UNLINK, client3_1_unlink_cbk, NULL, - xdr_from_unlink_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_unlink_req); if (ret) { op_errno = ENOTCONN; @@ -2955,7 +2949,7 @@ client3_1_rmdir (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_RMDIR, client3_1_rmdir_cbk, NULL, - xdr_from_rmdir_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_rmdir_req); if (ret) { op_errno = ENOTCONN; @@ -3023,7 +3017,7 @@ client3_1_symlink (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_SYMLINK, client3_1_symlink_cbk, - NULL, xdr_from_symlink_req, NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_symlink_req); if (ret) { op_errno = ENOTCONN; @@ -3087,7 +3081,7 @@ client3_1_rename (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_RENAME, client3_1_rename_cbk, NULL, - xdr_from_rename_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_rename_req); if (ret) { op_errno = ENOTCONN; @@ -3148,7 +3142,7 @@ client3_1_link (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_LINK, client3_1_link_cbk, NULL, - xdr_from_link_req, NULL, 0, NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_link_req); if (ret) { op_errno = ENOTCONN; @@ -3218,7 +3212,7 @@ client3_1_mknod (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_MKNOD, client3_1_mknod_cbk, NULL, - xdr_from_mknod_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_mknod_req); if (ret) { op_errno = ENOTCONN; @@ -3299,7 +3293,7 @@ client3_1_mkdir (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_MKDIR, client3_1_mkdir_cbk, NULL, - xdr_from_mkdir_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_mkdir_req); if (ret) { op_errno = ENOTCONN; @@ -3382,7 +3376,7 @@ client3_1_create (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_CREATE, client3_1_create_cbk, NULL, - xdr_from_create_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_create_req); if (ret) { op_errno = ENOTCONN; @@ -3452,7 +3446,7 @@ client3_1_open (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_OPEN, client3_1_open_cbk, NULL, - xdr_from_open_req, NULL, 0, NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_open_req); if (ret) { op_errno = ENOTCONN; @@ -3560,7 +3554,7 @@ client3_1_readv (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_READ, client3_1_readv_cbk, NULL, - xdr_from_readv_req, NULL, 0, &rsp_vec, 1, + NULL, 0, &rsp_vec, 1, local->iobref, (xdrproc_t)xdr_gfs3_read_req); if (ret) { @@ -3628,7 +3622,7 @@ client3_1_writev (call_frame_t *frame, xlator_t *this, void *data) ret = client_submit_vec_request (this, &req, frame, conf->fops, GFS3_OP_WRITE, client3_1_writev_cbk, args->vector, args->count, args->iobref, - xdr_from_writev_req, + (xdrproc_t)xdr_gfs3_write_req); if (ret) goto unwind; @@ -3697,7 +3691,7 @@ client3_1_flush (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FLUSH, client3_1_flush_cbk, NULL, - xdr_from_flush_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_flush_req); if (ret) { op_errno = ENOTCONN; @@ -3755,7 +3749,7 @@ client3_1_fsync (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSYNC, client3_1_fsync_cbk, NULL, - xdr_from_fsync_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fsync_req); if (ret) { op_errno = ENOTCONN; @@ -3812,7 +3806,7 @@ client3_1_fstat (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSTAT, client3_1_fstat_cbk, NULL, - xdr_from_fstat_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fstat_req); if (ret) { op_errno = ENOTCONN; @@ -3866,8 +3860,7 @@ client3_1_opendir (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_OPENDIR, client3_1_opendir_cbk, - NULL, xdr_from_opendir_req, - NULL, 0, NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_opendir_req); if (ret) { op_errno = ENOTCONN; @@ -3930,7 +3923,7 @@ client3_1_fsyncdir (call_frame_t *frame, xlator_t *this, void *data) ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSYNCDIR, client3_1_fsyncdir_cbk, - NULL, xdr_from_fsyncdir_req, NULL, 0, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fsyncdir_req); if (ret) { @@ -3978,7 +3971,7 @@ client3_1_statfs (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_STATFS, client3_1_statfs_cbk, NULL, - xdr_from_statfs_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_statfs_req); if (ret) { op_errno = ENOTCONN; @@ -4036,8 +4029,7 @@ client3_1_setxattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_SETXATTR, client3_1_setxattr_cbk, - NULL, xdr_from_setxattr_req, NULL, 0, - NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_setxattr_req); if (ret) { op_errno = ENOTCONN; @@ -4116,8 +4108,7 @@ client3_1_fsetxattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSETXATTR, client3_1_fsetxattr_cbk, - NULL, xdr_from_fsetxattr_req, NULL, 0, - NULL, 0, NULL, + NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fsetxattr_req); if (ret) { op_errno = ENOTCONN; @@ -4227,7 +4218,7 @@ client3_1_fgetxattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FGETXATTR, client3_1_fgetxattr_cbk, NULL, - xdr_from_fgetxattr_req, rsphdr, count, + rsphdr, count, NULL, 0, local->iobref, (xdrproc_t)xdr_gfs3_fgetxattr_req); if (ret) { @@ -4360,7 +4351,7 @@ client3_1_getxattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_GETXATTR, client3_1_getxattr_cbk, NULL, - xdr_from_getxattr_req, rsphdr, count, + rsphdr, count, NULL, 0, local->iobref, (xdrproc_t)xdr_gfs3_getxattr_req); if (ret) { @@ -4472,7 +4463,7 @@ client3_1_xattrop (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_XATTROP, client3_1_xattrop_cbk, NULL, - xdr_from_xattrop_req, rsphdr, count, + rsphdr, count, NULL, 0, local->iobref, (xdrproc_t)xdr_gfs3_xattrop_req); if (ret) { @@ -4605,7 +4596,7 @@ client3_1_fxattrop (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FXATTROP, client3_1_fxattrop_cbk, NULL, - xdr_from_fxattrop_req, rsphdr, count, + rsphdr, count, NULL, 0, local->iobref, (xdrproc_t)xdr_gfs3_fxattrop_req); if (ret) { @@ -4675,8 +4666,7 @@ client3_1_removexattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_REMOVEXATTR, client3_1_removexattr_cbk, NULL, - xdr_from_removexattr_req, NULL, 0, NULL, - 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_removexattr_req); if (ret) { op_errno = ENOTCONN; @@ -4768,7 +4758,7 @@ client3_1_lk (call_frame_t *frame, xlator_t *this, gf_proto_flock_from_flock (&req.flock, args->flock); ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_LK, - client3_1_lk_cbk, NULL, xdr_from_lk_req, + client3_1_lk_cbk, NULL, NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_lk_req); if (ret) { @@ -4844,7 +4834,7 @@ client3_1_inodelk (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_INODELK, client3_1_inodelk_cbk, NULL, - xdr_from_inodelk_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_inodelk_req); if (ret) { op_errno = ENOTCONN; @@ -4933,7 +4923,7 @@ client3_1_finodelk (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FINODELK, client3_1_finodelk_cbk, NULL, - xdr_from_finodelk_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_finodelk_req); if (ret) { op_errno = ENOTCONN; @@ -4986,7 +4976,7 @@ client3_1_entrylk (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_ENTRYLK, client3_1_entrylk_cbk, NULL, - xdr_from_entrylk_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_entrylk_req); if (ret) { op_errno = ENOTCONN; @@ -5053,7 +5043,7 @@ client3_1_fentrylk (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FENTRYLK, client3_1_fentrylk_cbk, NULL, - xdr_from_fentrylk_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fentrylk_req); if (ret) { op_errno = ENOTCONN; @@ -5113,7 +5103,7 @@ client3_1_rchecksum (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_RCHECKSUM, client3_1_rchecksum_cbk, NULL, - xdr_from_rchecksum_req, NULL, 0, NULL, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_rchecksum_req); if (ret) { op_errno = ENOTCONN; @@ -5217,7 +5207,7 @@ client3_1_readdir (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_READDIR, client3_1_readdir_cbk, NULL, - xdr_from_readdir_req, rsphdr, count, + rsphdr, count, NULL, 0, rsp_iobref, (xdrproc_t)xdr_gfs3_readdir_req); rsp_iobref = NULL; @@ -5338,7 +5328,7 @@ client3_1_readdirp (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_READDIRP, client3_1_readdirp_cbk, NULL, - xdr_from_readdirp_req, rsphdr, count, NULL, + rsphdr, count, NULL, 0, rsp_iobref, (xdrproc_t)xdr_gfs3_readdirp_req); if (ret) { @@ -5398,7 +5388,7 @@ client3_1_setattr (call_frame_t *frame, xlator_t *this, ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_SETATTR, client3_1_setattr_cbk, NULL, - xdr_from_setattr_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_setattr_req); if (ret) { op_errno = ENOTCONN; @@ -5456,7 +5446,7 @@ client3_1_fsetattr (call_frame_t *frame, xlator_t *this, void *data) ret = client_submit_request (this, &req, frame, conf->fops, GFS3_OP_FSETATTR, client3_1_fsetattr_cbk, NULL, - xdr_from_fsetattr_req, NULL, 0, NULL, 0, + NULL, 0, NULL, 0, NULL, (xdrproc_t)xdr_gfs3_fsetattr_req); if (ret) { op_errno = ENOTCONN; diff --git a/xlators/protocol/server/src/server-handshake.c b/xlators/protocol/server/src/server-handshake.c index 694853417..edad73dba 100644 --- a/xlators/protocol/server/src/server-handshake.c +++ b/xlators/protocol/server/src/server-handshake.c @@ -266,7 +266,7 @@ server_getspec (rpcsvc_request_t *req) conn = req->trans->private; this = req->svc->mydata; conf = this->private; - 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; op_errno = EINVAL; @@ -326,7 +326,6 @@ fail: rsp.op_ret = ret; server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - (gfs_serialize_t)xdr_serialize_getspec_rsp, (xdrproc_t)xdr_gf_getspec_rsp); return 0; @@ -360,7 +359,7 @@ server_setvolume (rpcsvc_request_t *req) params = dict_new (); reply = dict_new (); - if (xdr_to_glusterfs_req (req, &args, xdr_to_setvolume_req)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gf_setvolume_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto fail; @@ -621,7 +620,6 @@ fail: rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - (gfs_serialize_t)xdr_serialize_setvolume_rsp, (xdrproc_t)xdr_gf_setvolume_rsp); @@ -652,7 +650,6 @@ server_ping (rpcsvc_request_t *req) rsp.op_ret = 0; server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 32ecc4d8c..ec91ba7c2 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -37,8 +37,8 @@ #include "rpcsvc.h" struct iobuf * -gfs_serialize_reply (rpcsvc_request_t *req, void *arg, gfs_serialize_t sfunc, - struct iovec *outmsg, xdrproc_t xdrproc) +gfs_serialize_reply (rpcsvc_request_t *req, void *arg, struct iovec *outmsg, + xdrproc_t xdrproc) { struct iobuf *iob = NULL; ssize_t retlen = 0; @@ -65,17 +65,15 @@ gfs_serialize_reply (rpcsvc_request_t *req, void *arg, gfs_serialize_t sfunc, /* retlen is used to received the error since size_t is unsigned and we * need -1 for error notification during encoding. */ - retlen = -1; - if (sfunc) { - retlen = sfunc (*outmsg, arg); - if (retlen == -1) { - /* Failed to Encode 'GlusterFS' msg in RPC is not exactly - failure of RPC return values.. client should get - notified about this, so there are no missing frames */ - gf_log_callingfn ("", GF_LOG_ERROR, "Failed to encode message"); - req->rpc_err = GARBAGE_ARGS; - retlen = 0; - } + + retlen = xdr_serialize_generic (*outmsg, arg, xdrproc); + if (retlen == -1) { + /* Failed to Encode 'GlusterFS' msg in RPC is not exactly + failure of RPC return values.. client should get + notified about this, so there are no missing frames */ + gf_log_callingfn ("", GF_LOG_ERROR, "Failed to encode message"); + req->rpc_err = GARBAGE_ARGS; + retlen = 0; } } outmsg->iov_len = retlen; @@ -93,8 +91,7 @@ ret: int server_submit_reply (call_frame_t *frame, rpcsvc_request_t *req, void *arg, struct iovec *payload, int payloadcount, - struct iobref *iobref, gfs_serialize_t sfunc, - xdrproc_t xdrproc) + struct iobref *iobref, xdrproc_t xdrproc) { struct iobuf *iob = NULL; int ret = -1; @@ -118,7 +115,7 @@ server_submit_reply (call_frame_t *frame, rpcsvc_request_t *req, void *arg, new_iobref = 1; } - iob = gfs_serialize_reply (req, arg, sfunc, &rsp, xdrproc); + iob = gfs_serialize_reply (req, arg, &rsp, xdrproc); if (!iob) { gf_log ("", GF_LOG_ERROR, "Failed to serialize reply"); goto ret; @@ -162,21 +159,6 @@ ret: } /* */ -int -xdr_to_glusterfs_req (rpcsvc_request_t *req, void *arg, gfs_serialize_t sfunc) -{ - int ret = -1; - - GF_VALIDATE_OR_GOTO ("server", req, out); - - ret = sfunc (req->msg[0], arg); - - if (ret > 0) - ret = 0; -out: - return ret; -} - int server_fd (xlator_t *this) { diff --git a/xlators/protocol/server/src/server.h b/xlators/protocol/server/src/server.h index 9c7459fb1..807b87a35 100644 --- a/xlators/protocol/server/src/server.h +++ b/xlators/protocol/server/src/server.h @@ -193,16 +193,10 @@ extern struct rpcsvc_program gluster_handshake_prog; extern struct rpcsvc_program glusterfs3_1_fop_prog; extern struct rpcsvc_program gluster_ping_prog; -typedef ssize_t (*gfs_serialize_t) (struct iovec outmsg, void *args); - int server_submit_reply (call_frame_t *frame, rpcsvc_request_t *req, void *arg, struct iovec *payload, int payloadcount, - struct iobref *iobref, gfs_serialize_t sfunc, - xdrproc_t xdrproc); - -int xdr_to_glusterfs_req (rpcsvc_request_t *req, void *arg, - gfs_serialize_t sfunc); + struct iobref *iobref, xdrproc_t xdrproc); int gf_server_check_setxattr_cmd (call_frame_t *frame, dict_t *dict); int gf_server_check_getxattr_cmd (call_frame_t *frame, const char *name); diff --git a/xlators/protocol/server/src/server3_1-fops.c b/xlators/protocol/server/src/server3_1-fops.c index a4666343e..5b6bf29fc 100644 --- a/xlators/protocol/server/src/server3_1-fops.c +++ b/xlators/protocol/server/src/server3_1-fops.c @@ -55,7 +55,6 @@ server_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_statfs_rsp, (xdrproc_t)xdr_gfs3_statfs_rsp); return 0; @@ -171,7 +170,6 @@ out: } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - (gfs_serialize_t)xdr_serialize_lookup_rsp, (xdrproc_t)xdr_gfs3_lookup_rsp); if (rsp.dict.dict_val) @@ -223,7 +221,6 @@ server_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_lk_rsp, (xdrproc_t)xdr_gfs3_lk_rsp); return 0; @@ -264,7 +261,6 @@ server_inodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -307,7 +303,6 @@ server_finodelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -347,7 +342,6 @@ server_entrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; } @@ -387,7 +381,6 @@ server_fentrylk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -416,7 +409,6 @@ server_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -459,7 +451,6 @@ server_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_rmdir_rsp, (xdrproc_t)xdr_gfs3_rmdir_rsp); return 0; @@ -499,7 +490,6 @@ server_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_mkdir_rsp, (xdrproc_t)xdr_gfs3_mkdir_rsp); return 0; @@ -539,7 +529,6 @@ server_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_mknod_rsp, (xdrproc_t)xdr_gfs3_mknod_rsp); @@ -570,7 +559,6 @@ server_fsyncdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -608,7 +596,6 @@ unwind: rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_readdir_rsp, (xdrproc_t)xdr_gfs3_readdir_rsp); readdir_rsp_cleanup (&rsp); @@ -630,7 +617,6 @@ server_releasedir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -669,7 +655,6 @@ server_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_opendir_rsp, (xdrproc_t)xdr_gfs3_opendir_rsp); return 0; @@ -696,7 +681,6 @@ server_removexattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -758,7 +742,6 @@ out: state->name, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_getxattr_rsp, (xdrproc_t)xdr_gfs3_getxattr_rsp); if (rsp.dict.dict_val) @@ -823,7 +806,6 @@ out: state->name, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_fgetxattr_rsp, (xdrproc_t)xdr_gfs3_fgetxattr_rsp); if (rsp.dict.dict_val) @@ -853,7 +835,6 @@ server_setxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, state->loc.inode ? state->loc.inode->ino : 0, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -882,7 +863,6 @@ server_fsetxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -937,7 +917,6 @@ server_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_rename_rsp, (xdrproc_t)xdr_gfs3_rename_rsp); return 0; @@ -987,7 +966,6 @@ server_unlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_unlink_rsp, (xdrproc_t)xdr_gfs3_unlink_rsp); return 0; @@ -1028,7 +1006,6 @@ server_symlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_symlink_rsp, (xdrproc_t)xdr_gfs3_symlink_rsp); return 0; @@ -1074,7 +1051,6 @@ server_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this, op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_link_rsp, (xdrproc_t)xdr_gfs3_link_rsp); return 0; @@ -1108,7 +1084,6 @@ server_truncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_truncate_rsp, (xdrproc_t)xdr_gfs3_truncate_rsp); return 0; @@ -1140,7 +1115,6 @@ server_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_fstat_rsp, (xdrproc_t)xdr_gfs3_fstat_rsp); return 0; @@ -1174,7 +1148,6 @@ server_ftruncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_ftruncate_rsp, (xdrproc_t)xdr_gfs3_ftruncate_rsp); return 0; @@ -1203,7 +1176,6 @@ server_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); @@ -1238,7 +1210,6 @@ server_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_fsync_rsp, (xdrproc_t)xdr_gfs3_fsync_rsp); return 0; @@ -1271,7 +1242,6 @@ server_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_writev_rsp, (xdrproc_t)xdr_gfs3_write_rsp); return 0; @@ -1306,7 +1276,6 @@ server_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, vector, count, iobref, - xdr_serialize_readv_rsp, (xdrproc_t)xdr_gfs3_read_rsp); return 0; @@ -1341,7 +1310,6 @@ server_rchecksum_cbk (call_frame_t *frame, void *cookie, xlator_t *this, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_rchecksum_rsp, (xdrproc_t)xdr_gfs3_rchecksum_rsp); return 0; @@ -1380,7 +1348,6 @@ server_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_open_rsp, (xdrproc_t)xdr_gfs3_open_rsp); return 0; } @@ -1459,7 +1426,6 @@ out: rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_create_rsp, (xdrproc_t)xdr_gfs3_create_rsp); return 0; @@ -1497,7 +1463,6 @@ server_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this, rsp.path = ""; server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_readlink_rsp, (xdrproc_t)xdr_gfs3_readlink_rsp); return 0; @@ -1529,7 +1494,6 @@ server_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_stat_rsp, (xdrproc_t)xdr_gfs3_stat_rsp); return 0; @@ -1564,7 +1528,6 @@ server_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, } server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_setattr_rsp, (xdrproc_t)xdr_gfs3_setattr_rsp); return 0; @@ -1599,7 +1562,6 @@ server_fsetattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_fsetattr_rsp, (xdrproc_t)xdr_gfs3_fsetattr_rsp); return 0; @@ -1670,7 +1632,6 @@ out: op_ret, strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_xattrop_rsp, (xdrproc_t)xdr_gfs3_xattrop_rsp); if (rsp.dict.dict_val) @@ -1745,7 +1706,6 @@ out: strerror (op_errno)); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_fxattrop_rsp, (xdrproc_t)xdr_gfs3_fxattrop_rsp); if (rsp.dict.dict_val) @@ -1789,7 +1749,6 @@ out: rsp.op_errno = gf_errno_to_error (op_errno); server_submit_reply (frame, req, &rsp, NULL, 0, NULL, - xdr_serialize_readdirp_rsp, (xdrproc_t)xdr_gfs3_readdirp_rsp); readdirp_rsp_cleanup (&rsp); @@ -2726,7 +2685,7 @@ server_stat (rpcsvc_request_t *req) /* Initialize args first, then decode */ args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_stat_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_stat_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -2771,7 +2730,7 @@ server_setattr (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_setattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_setattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -2817,7 +2776,7 @@ server_fsetattr (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_fsetattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsetattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -2864,7 +2823,7 @@ server_readlink (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_readlink_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readlink_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -2914,7 +2873,7 @@ server_create (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.bname = alloca (req->msg[0].iov_len); - if (!xdr_to_create_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_create_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3007,7 +2966,7 @@ server_open (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_open_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_open_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3052,7 +3011,7 @@ server_readv (rpcsvc_request_t *req) if (!req) goto out; - if (!xdr_to_readv_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_read_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3098,7 +3057,7 @@ server_writev (rpcsvc_request_t *req) if (!req) return ret; - len = xdr_to_writev_req (req->msg[0], &args); + len = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_write_req); if (len == 0) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; @@ -3189,7 +3148,7 @@ server_release (rpcsvc_request_t *req) gf_common_rsp rsp = {0,}; int ret = -1; - if (!xdr_to_release_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_release_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3199,7 +3158,6 @@ server_release (rpcsvc_request_t *req) gf_fd_put (conn->fdtable, args.fd); server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); ret = 0; out: @@ -3214,7 +3172,7 @@ server_releasedir (rpcsvc_request_t *req) gf_common_rsp rsp = {0,}; int ret = -1; - if (!xdr_to_release_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_release_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3224,7 +3182,6 @@ server_releasedir (rpcsvc_request_t *req) gf_fd_put (conn->fdtable, args.fd); server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); ret = 0; out: @@ -3243,7 +3200,7 @@ server_fsync (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_fsync_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsync_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3287,7 +3244,7 @@ server_flush (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_flush_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_flush_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3330,7 +3287,7 @@ server_ftruncate (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_ftruncate_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_ftruncate_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3373,7 +3330,7 @@ server_fstat (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_fstat_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fstat_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3416,7 +3373,7 @@ server_truncate (rpcsvc_request_t *req) return ret; args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_truncate_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_truncate_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3464,7 +3421,7 @@ server_unlink (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.bname = alloca (req->msg[0].iov_len); - if (!xdr_to_unlink_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_unlink_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3516,7 +3473,7 @@ server_setxattr (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.dict.dict_val = alloca (req->msg[0].iov_len); - if (!xdr_to_setxattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_setxattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3602,7 +3559,7 @@ server_fsetxattr (rpcsvc_request_t *req) conn = req->trans->xl_private; args.dict.dict_val = alloca (req->msg[0].iov_len); - if (!xdr_to_fsetxattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsetxattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3681,7 +3638,7 @@ server_fxattrop (rpcsvc_request_t *req) conn = req->trans->xl_private; args.dict.dict_val = alloca (req->msg[0].iov_len); - if (!xdr_to_fxattrop_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fxattrop_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3764,7 +3721,7 @@ server_xattrop (rpcsvc_request_t *req) args.dict.dict_val = alloca (req->msg[0].iov_len); args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_xattrop_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_xattrop_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3840,7 +3797,7 @@ server_getxattr (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.name = alloca (4096); - if (!xdr_to_getxattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_getxattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3890,7 +3847,7 @@ server_fgetxattr (rpcsvc_request_t *req) return ret; args.name = alloca (4096); - if (!xdr_to_fgetxattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fgetxattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3939,7 +3896,7 @@ server_removexattr (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.name = alloca (4096); - if (!xdr_to_removexattr_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_removexattr_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -3987,7 +3944,7 @@ server_opendir (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_opendir_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_opendir_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4031,7 +3988,7 @@ server_readdirp (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_readdirp_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readdirp_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4085,7 +4042,7 @@ server_readdir (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_readdir_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readdir_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4138,7 +4095,7 @@ server_fsyncdir (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_fsyncdir_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsyncdir_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4187,7 +4144,7 @@ server_mknod (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.bname = alloca (req->msg[0].iov_len); - if (!xdr_to_mknod_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_mknod_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4286,7 +4243,7 @@ server_mkdir (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.bname = alloca (req->msg[0].iov_len); - if (!xdr_to_mkdir_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_mkdir_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4380,7 +4337,7 @@ server_rmdir (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.bname = alloca (req->msg[0].iov_len); - if (!xdr_to_rmdir_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rmdir_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4431,7 +4388,7 @@ server_inodelk (rpcsvc_request_t *req) args.path = alloca (req->msg[0].iov_len); args.volume = alloca (4096); - if (!xdr_to_inodelk_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_inodelk_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4504,7 +4461,7 @@ server_finodelk (rpcsvc_request_t *req) return ret; args.volume = alloca (4096); - if (!xdr_to_finodelk_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_finodelk_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4580,7 +4537,7 @@ server_entrylk (rpcsvc_request_t *req) args.volume = alloca (4096); args.name = alloca (4096); - if (!xdr_to_entrylk_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_entrylk_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4632,7 +4589,7 @@ server_fentrylk (rpcsvc_request_t *req) args.name = alloca (4096); args.volume = alloca (4096); - if (!xdr_to_fentrylk_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fentrylk_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4680,7 +4637,7 @@ server_access (rpcsvc_request_t *req) return ret; args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_access_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_access_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4731,7 +4688,7 @@ server_symlink (rpcsvc_request_t *req) args.bname = alloca (req->msg[0].iov_len); args.linkname = alloca (4096); - if (!xdr_to_symlink_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_symlink_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4826,7 +4783,7 @@ server_link (rpcsvc_request_t *req) args.newpath = alloca (req->msg[0].iov_len); args.newbname = alloca (req->msg[0].iov_len); - if (!xdr_to_link_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_link_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4879,7 +4836,7 @@ server_rename (rpcsvc_request_t *req) args.newpath = alloca (req->msg[0].iov_len); args.newbname = alloca (req->msg[0].iov_len); - if (!xdr_to_rename_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rename_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -4930,7 +4887,7 @@ server_lk (rpcsvc_request_t *req) conn = req->trans->xl_private; - if (!xdr_to_lk_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_lk_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -5019,7 +4976,7 @@ server_rchecksum (rpcsvc_request_t *req) if (!req) return ret; - if (!xdr_to_rchecksum_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rchecksum_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; @@ -5060,7 +5017,6 @@ server_null (rpcsvc_request_t *req) rsp.op_ret = 0; server_submit_reply (NULL, req, &rsp, NULL, 0, NULL, - (gfs_serialize_t)xdr_serialize_common_rsp, (xdrproc_t)xdr_gf_common_rsp); return 0; @@ -5085,7 +5041,7 @@ server_lookup (rpcsvc_request_t *req) args.bname = alloca (req->msg[0].iov_len); args.dict.dict_val = alloca (req->msg[0].iov_len); - if (!xdr_to_lookup_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_lookup_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto err; @@ -5177,7 +5133,7 @@ server_statfs (rpcsvc_request_t *req) return ret; args.path = alloca (req->msg[0].iov_len); - if (!xdr_to_statfs_req (req->msg[0], &args)) { + if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_statfs_req)) { //failed to decode msg; req->rpc_err = GARBAGE_ARGS; goto out; -- cgit