diff options
| author | Kaushal M <kaushal@redhat.com> | 2012-12-06 16:49:04 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2012-12-09 21:59:56 -0800 | 
| commit | 5e937c4ed16a7658628a3ce6e5d39832ec516bac (patch) | |
| tree | 3bff5b4495d644bb45ddf5c0d2194b6f1c2a02cb | |
| parent | ff33ea5175b98e0df743ae3af7681fcf1e1e89eb (diff) | |
Fix xdr_to_generic success check
This patch fixes the success check for xdr_to_generic function across the
codebase.
Also, cleans up the brick_op actors table in glusterfsd-mgmt.c to make sure that
the actors are called directly by rpcsvc.
Change-Id: I3086585f30c44f69f1bc83665f89e30025f76d3a
BUG: 884452
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/4278
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
| -rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 113 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 10 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-geo-rep.c | 5 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 90 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handshake.c | 20 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-log-ops.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-pmap.c | 28 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-quota.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 4 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 24 | ||||
| -rw-r--r-- | xlators/protocol/server/src/server-handshake.c | 13 | ||||
| -rw-r--r-- | xlators/protocol/server/src/server-rpc-fops.c | 169 | 
13 files changed, 287 insertions, 201 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index d2a91ed6897..5bebdaf178c 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -340,8 +340,9 @@ glusterfs_handle_translator_info_get (rpcsvc_request_t *req)          this = THIS;          GF_ASSERT (this); -        if (!xdr_to_generic (req->msg[0], &xlator_req, -                             (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &xlator_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -621,7 +622,7 @@ out:  }  int -glusterfs_handle_translator_op (void *data) +glusterfs_handle_translator_op (rpcsvc_request_t *req)  {          int32_t                  ret     = -1;          gd1_mgmt_brick_op_req    xlator_req = {0,}; @@ -636,14 +637,14 @@ glusterfs_handle_translator_op (void *data)          xlator_t                 *this = NULL;          int                      i = 0;          int                      count = 0; -        rpcsvc_request_t         *req = data;          GF_ASSERT (req);          this = THIS;          GF_ASSERT (this); -        if (!xdr_to_generic (req->msg[0], &xlator_req, -                             (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &xlator_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -736,8 +737,9 @@ glusterfs_handle_defrag (rpcsvc_request_t *req)          }          any = active->first; -        if (!xdr_to_generic (req->msg[0], &xlator_req, -                             (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &xlator_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -805,8 +807,9 @@ glusterfs_handle_brick_status (rpcsvc_request_t *req)          this = THIS;          GF_ASSERT (this); -        if (!xdr_to_generic (req->msg[0], &brick_req, -            (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &brick_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } @@ -914,12 +917,6 @@ out:          return ret;  } -static int -glusterfs_command_done  (int ret, call_frame_t *sync_frame, void *data) -{ -        STACK_DESTROY (sync_frame->root); -        return 0; -}  int  glusterfs_handle_node_status (rpcsvc_request_t *req) @@ -942,8 +939,9 @@ glusterfs_handle_node_status (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &node_req, -            (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &node_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } @@ -1112,8 +1110,9 @@ glusterfs_handle_nfs_profile (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &nfs_req, -                             (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &nfs_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } @@ -1189,7 +1188,7 @@ out:  }  int -glusterfs_handle_bd_op (void *data) +glusterfs_handle_bd_op (rpcsvc_request_t *req)  {          int32_t                  ret        = -1;          gd1_mgmt_brick_op_req    xlator_req = {0,}; @@ -1201,15 +1200,15 @@ glusterfs_handle_bd_op (void *data)          glusterfs_ctx_t          *ctx       = NULL;          glusterfs_graph_t        *active    = NULL;          xlator_t                 *this      = NULL; -        rpcsvc_request_t         *req       = data;          char                     *error     = NULL;          GF_ASSERT (req);          this = THIS;          GF_ASSERT (this); -        if (!xdr_to_generic (req->msg[0], &xlator_req, -                             (xdrproc_t)xdr_gd1_mgmt_brick_op_req)) { +        ret = xdr_to_generic (req->msg[0], &xlator_req, +                              (xdrproc_t)xdr_gd1_mgmt_brick_op_req); +        if (ret < 0) {                  /* failed to decode msg */                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1260,52 +1259,8 @@ out:  int  glusterfs_handle_rpc_msg (rpcsvc_request_t *req)  { -        int             ret = -1; -        xlator_t        *this = THIS; -        call_frame_t    *frame = NULL; - -        GF_ASSERT (this); -        switch (req->procnum) { -        case GLUSTERD_BRICK_TERMINATE: -                ret = glusterfs_handle_terminate (req); -                break; -        case GLUSTERD_BRICK_XLATOR_INFO: -                ret = glusterfs_handle_translator_info_get (req); -                break; -        case GLUSTERD_BRICK_XLATOR_OP: -                frame = create_frame (this, this->ctx->pool); -                if (!frame) -                        goto out; -                ret = synctask_new (this->ctx->env, -                                    glusterfs_handle_translator_op, -                                    glusterfs_command_done, frame, req); -                break; -        case GLUSTERD_BRICK_STATUS: -                ret = glusterfs_handle_brick_status (req); -                break; -        case GLUSTERD_BRICK_XLATOR_DEFRAG: -                ret = glusterfs_handle_defrag (req); -                break; -        case GLUSTERD_NODE_PROFILE: -                ret = glusterfs_handle_nfs_profile (req); -                break; -        case GLUSTERD_NODE_STATUS: -                ret = glusterfs_handle_node_status (req); -                break; -#ifdef HAVE_BD_XLATOR -        case GLUSTERD_BRICK_BD_OP: -                frame = create_frame (this, this->ctx->pool); -                if (!frame) -                        goto out; -                ret = synctask_new (this->ctx->env, -                                    glusterfs_handle_bd_op, -                                    glusterfs_command_done, frame, req); -                break; -#endif -        default: -                break; -        } -out: +        int ret = -1; +        /* for now, nothing */          return ret;  } @@ -1357,16 +1312,16 @@ rpc_clnt_prog_t clnt_handshake_prog = {  };  rpcsvc_actor_t glusterfs_actors[] = { -        [GLUSTERD_BRICK_NULL]        = { "NULL",    GLUSTERD_BRICK_NULL, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_BRICK_TERMINATE] = { "TERMINATE", GLUSTERD_BRICK_TERMINATE, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_BRICK_XLATOR_INFO] = { "TRANSLATOR INFO", GLUSTERD_BRICK_XLATOR_INFO, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_BRICK_XLATOR_OP] = { "TRANSLATOR OP", GLUSTERD_BRICK_XLATOR_OP, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_BRICK_STATUS] = {"STATUS", GLUSTERD_BRICK_STATUS, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_BRICK_XLATOR_DEFRAG] = { "TRANSLATOR DEFRAG", GLUSTERD_BRICK_XLATOR_DEFRAG, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_NODE_PROFILE] = {"NFS PROFILE", GLUSTERD_NODE_PROFILE, glusterfs_handle_rpc_msg, NULL, 0}, -        [GLUSTERD_NODE_STATUS] = {"NFS STATUS", GLUSTERD_NODE_STATUS, glusterfs_handle_rpc_msg, NULL, 0}, +        [GLUSTERD_BRICK_NULL]          = {"NULL", GLUSTERD_BRICK_NULL, glusterfs_handle_rpc_msg, NULL, 0}, +        [GLUSTERD_BRICK_TERMINATE]     = {"TERMINATE", GLUSTERD_BRICK_TERMINATE, glusterfs_handle_terminate, NULL, 0}, +        [GLUSTERD_BRICK_XLATOR_INFO]   = {"TRANSLATOR INFO", GLUSTERD_BRICK_XLATOR_INFO, glusterfs_handle_translator_info_get, NULL, 0}, +        [GLUSTERD_BRICK_XLATOR_OP]     = {"TRANSLATOR OP", GLUSTERD_BRICK_XLATOR_OP, glusterfs_handle_translator_op, NULL, 0}, +        [GLUSTERD_BRICK_STATUS]        = {"STATUS", GLUSTERD_BRICK_STATUS, glusterfs_handle_brick_status, NULL, 0}, +        [GLUSTERD_BRICK_XLATOR_DEFRAG] = {"TRANSLATOR DEFRAG", GLUSTERD_BRICK_XLATOR_DEFRAG, glusterfs_handle_defrag, NULL, 0}, +        [GLUSTERD_NODE_PROFILE]        = {"NFS PROFILE", GLUSTERD_NODE_PROFILE, glusterfs_handle_nfs_profile, NULL, 0}, +        [GLUSTERD_NODE_STATUS]         = {"NFS STATUS", GLUSTERD_NODE_STATUS, glusterfs_handle_node_status, NULL, 0},  #ifdef HAVE_BD_XLATOR -        [GLUSTERD_BRICK_BD_OP] = {"BD OP", GLUSTERD_BRICK_BD_OP, glusterfs_handle_rpc_msg, NULL, 0} +        [GLUSTERD_BRICK_BD_OP]         = {"BD OP", GLUSTERD_BRICK_BD_OP, glusterfs_handle_bd_op, NULL, 0}  #endif  }; diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index a14828e980b..cdf23ae8b17 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -358,8 +358,9 @@ glusterd_handle_add_brick (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  snprintf (err_str, sizeof (err_str), "Garbage args received"); @@ -568,8 +569,9 @@ glusterd_handle_remove_brick (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c index b0e3a38dfb9..20c697aa4a2 100644 --- a/xlators/mgmt/glusterd/src/glusterd-geo-rep.c +++ b/xlators/mgmt/glusterd/src/glusterd-geo-rep.c @@ -55,8 +55,9 @@ glusterd_handle_gsync_set (rpcsvc_request_t *req)          priv = THIS->private; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 673bfaeb70f..ff8fe32255e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -500,7 +500,9 @@ glusterd_handle_cluster_lock (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &lock_req, (xdrproc_t)xdr_gd1_mgmt_cluster_lock_req)) { +        ret = xdr_to_generic (req->msg[0], &lock_req, +                              (xdrproc_t)xdr_gd1_mgmt_cluster_lock_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -594,7 +596,10 @@ glusterd_handle_stage_op (rpcsvc_request_t *req)          glusterd_peerinfo_t             *peerinfo = NULL;          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &op_req, (xdrproc_t)xdr_gd1_mgmt_stage_op_req)) { + +        ret = xdr_to_generic (req->msg[0], &op_req, +                              (xdrproc_t)xdr_gd1_mgmt_stage_op_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -633,7 +638,9 @@ glusterd_handle_commit_op (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &op_req, (xdrproc_t)xdr_gd1_mgmt_commit_op_req)) { +        ret = xdr_to_generic (req->msg[0], &op_req, +                              (xdrproc_t)xdr_gd1_mgmt_commit_op_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -680,8 +687,9 @@ glusterd_handle_cli_probe (rpcsvc_request_t *req)          GF_ASSERT (req);          this = THIS; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf1_cli_probe_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf1_cli_probe_req); +        if (ret < 0)  {                  //failed to decode msg;                  gf_log ("", GF_LOG_ERROR, "xdr decoding error");                  req->rpc_err = GARBAGE_ARGS; @@ -760,8 +768,9 @@ glusterd_handle_cli_deprobe (rpcsvc_request_t *req)          GF_ASSERT (priv);          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -            (xdrproc_t)xdr_gf1_cli_deprobe_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf1_cli_deprobe_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -841,7 +850,9 @@ glusterd_handle_cli_list_friends (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf1_cli_peer_list_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf1_cli_peer_list_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -888,7 +899,8 @@ glusterd_handle_cli_get_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -944,8 +956,8 @@ glusterd_handle_cli_bd_op (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                                (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  /* failed to decode msg */                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1016,7 +1028,8 @@ glusterd_handle_cli_uuid_reset (rpcsvc_request_t *req)          priv = this->private;          GF_ASSERT (priv); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1178,7 +1191,8 @@ glusterd_handle_reset_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1237,7 +1251,8 @@ glusterd_handle_set_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1320,7 +1335,8 @@ glusterd_handle_sync_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1433,7 +1449,9 @@ glusterd_handle_fsm_log (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf1_cli_fsm_log_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, +                              (xdrproc_t)xdr_gf1_cli_fsm_log_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  snprintf (msg, sizeof (msg), "Garbage request"); @@ -1524,8 +1542,9 @@ glusterd_handle_cluster_unlock (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &unlock_req, -                             (xdrproc_t)xdr_gd1_mgmt_cluster_unlock_req)) { +        ret = xdr_to_generic (req->msg[0], &unlock_req, +                              (xdrproc_t)xdr_gd1_mgmt_cluster_unlock_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1644,7 +1663,9 @@ glusterd_handle_incoming_friend_req (rpcsvc_request_t *req)          gf_boolean_t            run_fsm = _gf_true;          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &friend_req, (xdrproc_t)xdr_gd1_mgmt_friend_req)) { +        ret = xdr_to_generic (req->msg[0], &friend_req, +                              (xdrproc_t)xdr_gd1_mgmt_friend_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1681,7 +1702,9 @@ glusterd_handle_incoming_unfriend_req (rpcsvc_request_t *req)          char               remote_hostname[UNIX_PATH_MAX + 1] = {0,};          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &friend_req, (xdrproc_t)xdr_gd1_mgmt_friend_req)) { +        ret = xdr_to_generic (req->msg[0], &friend_req, +                              (xdrproc_t)xdr_gd1_mgmt_friend_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1781,7 +1804,9 @@ glusterd_handle_friend_update (rpcsvc_request_t *req)          priv = this->private;          GF_ASSERT (priv); -        if (!xdr_to_generic (req->msg[0], &friend_req, (xdrproc_t)xdr_gd1_mgmt_friend_update)) { +        ret = xdr_to_generic (req->msg[0], &friend_req, +                              (xdrproc_t)xdr_gd1_mgmt_friend_update); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1904,7 +1929,9 @@ glusterd_handle_probe_query (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &probe_req, (xdrproc_t)xdr_gd1_mgmt_probe_req)) { +        ret = xdr_to_generic (req->msg[0], &probe_req, +                              (xdrproc_t)xdr_gd1_mgmt_probe_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -1993,7 +2020,8 @@ glusterd_handle_cli_profile_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -2076,7 +2104,9 @@ glusterd_handle_mount (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &mnt_req, (xdrproc_t)xdr_gf1_cli_mount_req)) { +        ret = xdr_to_generic (req->msg[0], &mnt_req, +                              (xdrproc_t)xdr_gf1_cli_mount_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  rsp.op_ret = -1; @@ -2145,7 +2175,9 @@ glusterd_handle_umount (rpcsvc_request_t *req)          GF_ASSERT (req);          GF_ASSERT (this); -        if (!xdr_to_generic (req->msg[0], &umnt_req, (xdrproc_t)xdr_gf1_cli_umount_req)) { +        ret = xdr_to_generic (req->msg[0], &umnt_req, +                              (xdrproc_t)xdr_gf1_cli_umount_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  rsp.op_ret = -1; @@ -2816,8 +2848,8 @@ glusterd_handle_status_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -2883,8 +2915,8 @@ glusterd_handle_cli_clearlocks_volume (rpcsvc_request_t *req)          GF_ASSERT (req);          ret = -1; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index 428051d4a51..7a2075974e0 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handshake.c +++ b/xlators/mgmt/glusterd/src/glusterd-handshake.c @@ -126,8 +126,9 @@ server_getspec (rpcsvc_request_t *req)          char                  addrstr[RPCSVC_PEER_STRLEN] = {0}; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_gf_getspec_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_getspec_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto fail; @@ -219,8 +220,9 @@ server_event_notify (rpcsvc_request_t *req)          dict_t                 *dict            = NULL;          gf_boolean_t            need_rsp        = _gf_true; -        if (!xdr_to_generic (req->msg[0], &args, -            (xdrproc_t)xdr_gf_event_notify_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_event_notify_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto fail;          } @@ -315,8 +317,9 @@ glusterd_mgmt_hndsk_versions (rpcsvc_request_t *req)          this = THIS;          conf = this->private; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_gf_mgmt_hndsk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_mgmt_hndsk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -391,8 +394,9 @@ glusterd_mgmt_hndsk_versions_ack (rpcsvc_request_t *req)          this = THIS;          conf = this->private; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_gf_mgmt_hndsk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_mgmt_hndsk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-log-ops.c b/xlators/mgmt/glusterd/src/glusterd-log-ops.c index 9ab52a349b8..eba28d42c86 100644 --- a/xlators/mgmt/glusterd/src/glusterd-log-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-log-ops.c @@ -34,8 +34,8 @@ glusterd_handle_log_rotate (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-pmap.c b/xlators/mgmt/glusterd/src/glusterd-pmap.c index 00e58932075..cb29462c9b7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-pmap.c +++ b/xlators/mgmt/glusterd/src/glusterd-pmap.c @@ -286,9 +286,11 @@ gluster_pmap_portbybrick (rpcsvc_request_t *req)          pmap_port_by_brick_rsp    rsp  = {0,};          char                     *brick = NULL;          int                       port = 0; +        int                       ret = -1; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_pmap_port_by_brick_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_pmap_port_by_brick_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto fail;          } @@ -316,9 +318,11 @@ gluster_pmap_brickbyport (rpcsvc_request_t *req)  {          pmap_brick_by_port_req    args = {0,};          pmap_brick_by_port_rsp    rsp  = {0,}; +        int                       ret = -1; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_pmap_brick_by_port_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_pmap_brick_by_port_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto fail;          } @@ -350,10 +354,12 @@ gluster_pmap_signup (rpcsvc_request_t *req)  {          pmap_signup_req    args = {0,};          pmap_signup_rsp    rsp  = {0,}; +        int                ret = -1; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_pmap_signup_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_pmap_signup_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto fail;          } @@ -377,8 +383,9 @@ gluster_pmap_signin (rpcsvc_request_t *req)          glusterd_brickinfo_t *brickinfo = NULL;          int                ret = -1; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_pmap_signin_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_pmap_signin_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto fail;          } @@ -409,8 +416,9 @@ gluster_pmap_signout (rpcsvc_request_t *req)          int                 ret = -1;          glusterd_brickinfo_t *brickinfo = NULL; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_pmap_signout_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_pmap_signout_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto fail; diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c index 103f88e7ac5..d2387b21298 100644 --- a/xlators/mgmt/glusterd/src/glusterd-quota.c +++ b/xlators/mgmt/glusterd/src/glusterd-quota.c @@ -37,8 +37,8 @@ glusterd_handle_quota (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index fa1af7d2907..d942baa5502 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -382,8 +382,8 @@ glusterd_handle_defrag_volume (rpcsvc_request_t *req)          priv = THIS->private; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index bca306bd897..fbbf46ff3a7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -83,8 +83,8 @@ glusterd_handle_replace_brick (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 263c8bf013b..e13f705d4d4 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -65,8 +65,8 @@ glusterd_handle_create_volume (rpcsvc_request_t *req)          GF_ASSERT(this);          ret = -1; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  snprintf (err_str, sizeof (err_str), "Garbage args received"); @@ -233,8 +233,8 @@ glusterd_handle_cli_start_volume (rpcsvc_request_t *req)          this = THIS;          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -293,8 +293,8 @@ glusterd_handle_cli_stop_volume (rpcsvc_request_t *req)          this = THIS;          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -353,8 +353,8 @@ glusterd_handle_cli_delete_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -418,8 +418,8 @@ glusterd_handle_cli_heal_volume (rpcsvc_request_t *req)          GF_ASSERT (req); -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -501,8 +501,8 @@ glusterd_handle_cli_statedump_volume (rpcsvc_request_t *req)          GF_ASSERT (req);          ret = -1; -        if (!xdr_to_generic (req->msg[0], &cli_req, -                             (xdrproc_t)xdr_gf_cli_req)) { +        ret = xdr_to_generic (req->msg[0], &cli_req, (xdrproc_t)xdr_gf_cli_req); +        if (ret < 0) {                  req->rpc_err = GARBAGE_ARGS;                  goto out;          } diff --git a/xlators/protocol/server/src/server-handshake.c b/xlators/protocol/server/src/server-handshake.c index d893716ccec..523c5303f8c 100644 --- a/xlators/protocol/server/src/server-handshake.c +++ b/xlators/protocol/server/src/server-handshake.c @@ -264,7 +264,9 @@ server_getspec (rpcsvc_request_t *req)          this = req->svc->mydata;          conf = this->private; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gf_getspec_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_getspec_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  op_errno = EINVAL; @@ -361,7 +363,9 @@ server_setvolume (rpcsvc_request_t *req)          params = dict_new ();          reply  = dict_new (); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gf_setvolume_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_setvolume_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto fail; @@ -719,8 +723,9 @@ server_set_lk_version (rpcsvc_request_t *req)          if (!this)                  goto fail; -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_gf_set_lk_ver_req)) { +        op_ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gf_set_lk_ver_req); +        if (op_ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto fail; diff --git a/xlators/protocol/server/src/server-rpc-fops.c b/xlators/protocol/server/src/server-rpc-fops.c index 06cdc02db56..286befc4e23 100644 --- a/xlators/protocol/server/src/server-rpc-fops.c +++ b/xlators/protocol/server/src/server-rpc-fops.c @@ -2916,7 +2916,8 @@ server3_3_stat (rpcsvc_request_t *req)          /* Initialize args first, then decode */ -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_stat_req)) { +        ret = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_stat_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -2971,7 +2972,9 @@ server3_3_setattr (rpcsvc_request_t *req)          if (!req)                  return 0; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_setattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_setattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3028,7 +3031,9 @@ server3_3_fsetattr (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsetattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fsetattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3085,7 +3090,9 @@ server3_3_readlink (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readlink_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_readlink_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3143,7 +3150,9 @@ server3_3_create (rpcsvc_request_t *req)          args.bname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_create_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_create_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3209,7 +3218,8 @@ server3_3_open (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_open_req)) { +        ret = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_open_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3264,7 +3274,8 @@ server3_3_readv (rpcsvc_request_t *req)          if (!req)                  goto out; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_read_req)) { +        ret = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_read_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3325,8 +3336,9 @@ server3_3_writev (rpcsvc_request_t *req)          if (!req)                  return ret; -        len = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_write_req); -        if (len == 0) { +        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;                  goto out; @@ -3457,7 +3469,9 @@ server3_3_release (rpcsvc_request_t *req)          gf_common_rsp        rsp  = {0,};          int                  ret  = -1; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_release_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_release_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3487,7 +3501,9 @@ server3_3_releasedir (rpcsvc_request_t *req)          gf_common_rsp        rsp  = {0,};          int                  ret  = -1; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_release_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_release_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3522,7 +3538,9 @@ server3_3_fsync (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsync_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fsync_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3578,7 +3596,9 @@ server3_3_flush (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_flush_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_flush_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3633,7 +3653,9 @@ server3_3_ftruncate (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_ftruncate_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_ftruncate_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3688,7 +3710,9 @@ server3_3_fstat (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fstat_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fstat_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3742,7 +3766,9 @@ server3_3_truncate (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_truncate_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_truncate_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3799,7 +3825,9 @@ server3_3_unlink (rpcsvc_request_t *req)          args.bname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_unlink_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_unlink_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3858,7 +3886,9 @@ server3_3_setxattr (rpcsvc_request_t *req)          args.dict.dict_val = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_setxattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_setxattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -3930,7 +3960,9 @@ server3_3_fsetxattr (rpcsvc_request_t *req)                  return ret;          args.dict.dict_val = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsetxattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fsetxattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4000,7 +4032,9 @@ server3_3_fxattrop (rpcsvc_request_t *req)                  return ret;          args.dict.dict_val = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fxattrop_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fxattrop_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4072,7 +4106,9 @@ server3_3_xattrop (rpcsvc_request_t *req)          args.dict.dict_val = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_xattrop_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_xattrop_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4140,7 +4176,9 @@ server3_3_getxattr (rpcsvc_request_t *req)          args.name = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_getxattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_getxattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4200,7 +4238,9 @@ server3_3_fgetxattr (rpcsvc_request_t *req)                  return ret;          args.name = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fgetxattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fgetxattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4260,7 +4300,9 @@ server3_3_removexattr (rpcsvc_request_t *req)          args.name = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_removexattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_removexattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4315,8 +4357,9 @@ server3_3_fremovexattr (rpcsvc_request_t *req)          args.name = alloca (4096); -        if (!xdr_to_generic (req->msg[0], &args, -                             (xdrproc_t)xdr_gfs3_fremovexattr_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fremovexattr_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4373,7 +4416,9 @@ server3_3_opendir (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_opendir_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_opendir_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4427,7 +4472,9 @@ server3_3_readdirp (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readdirp_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_readdirp_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4495,7 +4542,9 @@ server3_3_readdir (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_readdir_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_readdir_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4560,7 +4609,9 @@ server3_3_fsyncdir (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fsyncdir_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fsyncdir_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4618,7 +4669,9 @@ server3_3_mknod (rpcsvc_request_t *req)          args.bname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_mknod_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_mknod_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4681,7 +4734,9 @@ server3_3_mkdir (rpcsvc_request_t *req)          args.bname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_mkdir_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_mkdir_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4742,7 +4797,9 @@ server3_3_rmdir (rpcsvc_request_t *req)          args.bname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rmdir_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_rmdir_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4802,7 +4859,9 @@ server3_3_inodelk (rpcsvc_request_t *req)          args.volume = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_inodelk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_inodelk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4887,7 +4946,9 @@ server3_3_finodelk (rpcsvc_request_t *req)                  return ret;          args.volume = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_finodelk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_finodelk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -4976,7 +5037,9 @@ server3_3_entrylk (rpcsvc_request_t *req)          args.volume = alloca (256);          args.name   = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_entrylk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_entrylk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5038,7 +5101,9 @@ server3_3_fentrylk (rpcsvc_request_t *req)          args.name   = alloca (256);          args.volume = alloca (256); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_fentrylk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_fentrylk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5097,7 +5162,9 @@ server3_3_access (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_access_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_access_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5155,7 +5222,9 @@ server3_3_symlink (rpcsvc_request_t *req)          args.bname    = alloca (req->msg[0].iov_len);          args.linkname = alloca (4096); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_symlink_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_symlink_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5216,7 +5285,8 @@ server3_3_link (rpcsvc_request_t *req)          args.newbname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_link_req)) { +        ret = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_link_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5276,7 +5346,9 @@ server3_3_rename (rpcsvc_request_t *req)          args.oldbname = alloca (req->msg[0].iov_len);          args.newbname = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rename_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_rename_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5333,7 +5405,8 @@ server3_3_lk (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_lk_req)) { +        ret = xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_lk_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5437,7 +5510,9 @@ server3_3_rchecksum (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_rchecksum_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_rchecksum_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out; @@ -5507,7 +5582,9 @@ server3_3_lookup (rpcsvc_request_t *req)          args.bname           = alloca (req->msg[0].iov_len);          args.xdata.xdata_val = alloca (req->msg[0].iov_len); -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_lookup_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_lookup_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto err; @@ -5571,7 +5648,9 @@ server3_3_statfs (rpcsvc_request_t *req)          if (!req)                  return ret; -        if (!xdr_to_generic (req->msg[0], &args, (xdrproc_t)xdr_gfs3_statfs_req)) { +        ret = xdr_to_generic (req->msg[0], &args, +                              (xdrproc_t)xdr_gfs3_statfs_req); +        if (ret < 0) {                  //failed to decode msg;                  req->rpc_err = GARBAGE_ARGS;                  goto out;  | 
