diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 3 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 52 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.c | 12 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 29 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.h | 4 | 
5 files changed, 30 insertions, 70 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index bb1ecbb7df3..0a0c6ef0b67 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -4091,9 +4091,6 @@ glusterd_op_ac_send_stage_op (glusterd_op_sm_event_t *event, void *ctx)                  goto out;          } -        if (op == GD_OP_REPLACE_BRICK) -                glusterd_rb_use_rsp_dict (NULL, rsp_dict); -          rcu_read_lock ();          cds_list_for_each_entry_rcu (peerinfo, &priv->peers, uuid_list) {                  /* Only send requests to peers who were available before the diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index 00389feb5d8..99f37b05ae9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -1226,11 +1226,6 @@ out:          rcu_read_unlock (); -        switch (rsp.op) { -        case GD_OP_REPLACE_BRICK: -                glusterd_rb_use_rsp_dict (NULL, dict); -                break; -        }          ret = glusterd_op_sm_inject_event (event_type, txn_id, NULL); @@ -1263,7 +1258,7 @@ int32_t  __glusterd_commit_op_cbk (struct rpc_req *req, struct iovec *iov,                            int count, void *myframe)  { -        gd1_mgmt_commit_op_rsp         rsp   = {{0},}; +        gd1_mgmt_commit_op_rsp        rsp   = {{0},};          int                           ret   = -1;          int32_t                       op_ret = -1;          glusterd_op_sm_event_type_t   event_type = GD_OP_EVENT_NONE; @@ -1274,6 +1269,7 @@ __glusterd_commit_op_cbk (struct rpc_req *req, struct iovec *iov,          xlator_t                      *this = NULL;          glusterd_conf_t               *priv = NULL;          uuid_t                        *txn_id = NULL; +        glusterd_op_info_t            txn_op_info = {{0},};          this = THIS;          GF_ASSERT (this); @@ -1343,6 +1339,14 @@ __glusterd_commit_op_cbk (struct rpc_req *req, struct iovec *iov,          gf_msg_debug (this->name, 0, "transaction ID = %s",                  uuid_utoa (*txn_id)); +        ret = glusterd_get_txn_opinfo (txn_id, &txn_op_info); +        if (ret) { +                gf_msg (this->name, GF_LOG_ERROR, 0, +                        GD_MSG_TRANS_OPINFO_GET_FAIL, +                        "Failed to get txn_op_info " +                        "for txn_id = %s", uuid_utoa (*txn_id)); +        } +          rcu_read_lock ();          peerinfo = glusterd_peerinfo_find (rsp.uuid, NULL);          if (peerinfo == NULL) { @@ -1372,51 +1376,23 @@ __glusterd_commit_op_cbk (struct rpc_req *req, struct iovec *iov,                  }          } else {                  event_type = GD_OP_EVENT_RCVD_ACC; -                switch (rsp.op) { -                case GD_OP_REPLACE_BRICK: -                        ret = glusterd_rb_use_rsp_dict (NULL, dict); -                        if (ret) -                                goto unlock; -                break; +                GF_ASSERT (rsp.op == txn_op_info.op); -                case GD_OP_SYNC_VOLUME: -                        ret = glusterd_sync_use_rsp_dict (NULL, dict); -                        if (ret) -                                goto unlock; -                break; +                switch (rsp.op) {                  case GD_OP_PROFILE_VOLUME: -                        ret = glusterd_profile_volume_use_rsp_dict (NULL, dict); -                        if (ret) -                                goto unlock; -                break; - -                case GD_OP_GSYNC_SET: -                        ret = glusterd_gsync_use_rsp_dict (NULL, dict, rsp.op_errstr); -                        if (ret) -                                goto unlock; -                break; - -                case GD_OP_STATUS_VOLUME: -                        ret = glusterd_volume_status_copy_to_op_ctx_dict (NULL, dict); +                        ret = glusterd_profile_volume_use_rsp_dict (txn_op_info.op_ctx, dict);                          if (ret)                                  goto unlock;                  break;                  case GD_OP_REBALANCE:                  case GD_OP_DEFRAG_BRICK_VOLUME: -                        ret = glusterd_volume_rebalance_use_rsp_dict (NULL, dict); +                        ret = glusterd_volume_rebalance_use_rsp_dict (txn_op_info.op_ctx, dict);                          if (ret)                                  goto unlock;                  break; -                case GD_OP_HEAL_VOLUME: -                        ret = glusterd_volume_heal_use_rsp_dict (NULL, dict); -                        if (ret) -                                goto unlock; - -                break; -                  default:                  break;                  } diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index 9d7b91336ed..1e4d6ce3e2f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -257,12 +257,6 @@ glusterd_syncop_aggr_rsp_dict (glusterd_op_t op, dict_t *aggr, dict_t *rsp)                          goto out;          break; -        case GD_OP_PROFILE_VOLUME: -                ret = glusterd_profile_volume_use_rsp_dict (aggr, rsp); -                if (ret) -                        goto out; -        break; -          case GD_OP_GSYNC_CREATE:          break; @@ -278,12 +272,6 @@ glusterd_syncop_aggr_rsp_dict (glusterd_op_t op, dict_t *aggr, dict_t *rsp)                          goto out;          break; -        case GD_OP_REBALANCE: -        case GD_OP_DEFRAG_BRICK_VOLUME: -                ret = glusterd_volume_rebalance_use_rsp_dict (aggr, rsp); -                if (ret) -                        goto out; -        break;          case GD_OP_HEAL_VOLUME:                  ret = glusterd_volume_heal_use_rsp_dict (aggr, rsp); diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index d21862c76db..05599d178d2 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -7532,23 +7532,26 @@ glusterd_profile_volume_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)          int32_t brick_count = 0;          int32_t count = 0;          dict_t  *ctx_dict = NULL; -        glusterd_op_t   op = GD_OP_NONE; +        xlator_t *this    = NULL;          GF_ASSERT (rsp_dict); +        this = THIS; +        GF_ASSERT (this);          ret = dict_get_int32 (rsp_dict, "count", &brick_count);          if (ret) {                  ret = 0; //no bricks in the rsp                  goto out;          } - -        op = glusterd_op_get_op (); -        GF_ASSERT (GD_OP_PROFILE_VOLUME == op);          if (aggr) {                  ctx_dict = aggr;          } else { -                ctx_dict = glusterd_op_get_ctx (); +                gf_msg (this->name, GF_LOG_ERROR, 0, +                        GD_MSG_OPCTX_GET_FAIL, +                        "Operation Context is not present"); +                ret = -1; +                goto out;          }          ret = dict_get_int32 (ctx_dict, "count", &count); @@ -7971,7 +7974,6 @@ glusterd_volume_rebalance_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)          dict_t              *ctx_dict      = NULL;          double               elapsed_time  = 0;          glusterd_conf_t     *conf          = NULL; -        glusterd_op_t        op            = GD_OP_NONE;          glusterd_peerinfo_t *peerinfo      = NULL;          glusterd_volinfo_t  *volinfo       = NULL;          int                  ret           = 0; @@ -7981,20 +7983,21 @@ glusterd_volume_rebalance_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)          int32_t              value32       = 0;          uint64_t             value         = 0;          char                *peer_uuid_str = NULL; +        xlator_t            *this           = NULL;          GF_ASSERT (rsp_dict); -        conf = THIS->private; - -        op = glusterd_op_get_op (); -        GF_ASSERT ((GD_OP_REBALANCE == op) || -                   (GD_OP_DEFRAG_BRICK_VOLUME == op)); +        this = THIS; +        GF_ASSERT (this); +        conf = this->private;          if (aggr) {                  ctx_dict = aggr;          } else { -                ctx_dict = glusterd_op_get_ctx (op); - +                 gf_msg (this->name, GF_LOG_ERROR, 0, +                         GD_MSG_OPCTX_GET_FAIL, +                         "Operation Context is not present"); +                goto out;          }          if (!ctx_dict) diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 7bba897629d..84e1fa5d4be 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -427,10 +427,6 @@ int32_t  glusterd_handle_node_rsp (dict_t *req_ctx, void *pending_entry,                            glusterd_op_t op, dict_t *rsp_dict, dict_t *op_ctx,                            char **op_errstr, gd_node_type type); -int -glusterd_volume_rebalance_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict); -int -glusterd_volume_heal_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict);  int32_t  glusterd_check_if_quota_trans_enabled (glusterd_volinfo_t *volinfo);  | 
