diff options
author | Avra Sengupta <asengupt@redhat.com> | 2014-01-02 06:52:08 +0000 |
---|---|---|
committer | Avra Sengupta <asengupt@redhat.com> | 2014-01-09 01:00:31 +0000 |
commit | 847e14ccbaddd5d1f06f9200cba063ee007199ad (patch) | |
tree | 36670d1337f2c0412fe6685335fb7a057f955837 /xlators/mgmt/glusterd/src/glusterd-mgmt.c | |
parent | ade2e39f33c833dcf9811f46fca4c6f443b0f09b (diff) |
glusterd: Pass generated snap-name/cg-name to cli.
Also block operation on response aggregation errors.
Change-Id: I641ddc98d986fd44627d790ab84488a6b849f807
BUG: 1043792
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-mgmt.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-mgmt.c | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-mgmt.c b/xlators/mgmt/glusterd/src/glusterd-mgmt.c index 852d60fb4..424bcca8a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-mgmt.c +++ b/xlators/mgmt/glusterd/src/glusterd-mgmt.c @@ -448,12 +448,20 @@ gd_mgmt_v3_pre_validate_cbk_fn (struct rpc_req *req, struct iovec *iov, } pthread_mutex_unlock (&args->lock_dict); - if (ret) + if (ret) { gf_log ("", GF_LOG_ERROR, "%s", "Failed to aggregate response from " " node/brick"); - op_ret = rsp.op_ret; - op_errno = rsp.op_errno; + if (!rsp.op_ret) + op_ret = ret; + else { + op_ret = rsp.op_ret; + op_errno = rsp.op_errno; + } + } else { + op_ret = rsp.op_ret; + op_errno = rsp.op_errno; + } out: if (rsp_dict) dict_unref (rsp_dict); @@ -852,15 +860,24 @@ gd_mgmt_v3_commit_cbk_fn (struct rpc_req *req, struct iovec *iov, { ret = glusterd_syncop_aggr_rsp_dict (rsp.op, args->dict, rsp_dict); - if (ret) - gf_log ("", GF_LOG_ERROR, "%s", - "Failed to aggregate response from " - " node/brick"); } pthread_mutex_unlock (&args->lock_dict); - op_ret = rsp.op_ret; - op_errno = rsp.op_errno; + if (ret) { + gf_log ("", GF_LOG_ERROR, "%s", + "Failed to aggregate response from " + " node/brick"); + if (!rsp.op_ret) + op_ret = ret; + else { + op_ret = rsp.op_ret; + op_errno = rsp.op_errno; + } + } else { + op_ret = rsp.op_ret; + op_errno = rsp.op_errno; + } + out: gd_mgmt_v3_collate_errors (args, op_ret, op_errno, NULL, GLUSTERD_MGMT_V3_COMMIT, |