[glusterd/snapshot] Glusterd crashes when a same command
eg snapshot create is fired simultaneously on a node Cause: In glusterd_mgmt_v3_initiate_snap_phases() , the function glusterd_mgmt_v3_post_validate() asserts on the NULL value of req_dic. req_dic is not initialized as glusterd_mgmt_v3_initiate_lockdown() is not able to acquire the lock and comes to the "out" section, before initializing req_dic (via glusterd_mgmt_v3_build_payload) Fix: Call glusterd_mgmt_v3_post_validate() only if the lock is acquired. Change-Id: I7cb55b6c0013ad1c8bbb922a62c34aab097bafe9 BUG: 1090047 Signed-off-by: Joseph Fernandes <josferna@redhat.com> Reviewed-on: http://review.gluster.org/7500 Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Rajesh Joseph <rjoseph@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
parent
45d70cc748
commit
48043e3c11
@ -1306,7 +1306,7 @@ glusterd_mgmt_v3_post_validate (glusterd_conf_t *conf, glusterd_op_t op,
|
||||
GF_ASSERT (this);
|
||||
GF_ASSERT (conf);
|
||||
GF_ASSERT (dict);
|
||||
GF_ASSERT (req_dict);
|
||||
GF_VALIDATE_OR_GOTO (this->name, req_dict, out);
|
||||
GF_ASSERT (op_errstr);
|
||||
|
||||
peers = &conf->xaction_peers;
|
||||
|
Loading…
x
Reference in New Issue
Block a user