Re: [PATCH 1/2] votequorum: fix send_nodeinfo data overwrite and clear info on unregister

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: Steven Dake <sdake@xxxxxxxxxx>

On 02/24/2012 07:17 AM, Fabio M. Di Nitto wrote:
> From: "Fabio M. Di Nitto" <fdinitto@xxxxxxxxxx>
> 
> this affects only qdevice
> 
> Signed-off-by: Fabio M. Di Nitto <fdinitto@xxxxxxxxxx>
> ---
>  exec/votequorum.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/exec/votequorum.c b/exec/votequorum.c
> index 83f4488..3765a69 100644
> --- a/exec/votequorum.c
> +++ b/exec/votequorum.c
> @@ -1144,7 +1144,7 @@ static int votequorum_exec_send_nodeinfo(uint32_t nodeid)
>  	req_exec_quorum_nodeinfo.votes = node->votes;
>  	req_exec_quorum_nodeinfo.expected_votes = node->expected_votes;
>  	req_exec_quorum_nodeinfo.flags = node->flags;
> -	if (qdevice_is_registered) {
> +	if ((nodeid != NODEID_QDEVICE) && (qdevice_is_registered)) {
>  		strcpy(req_exec_quorum_nodeinfo.qdevice_name, qdevice->qdevice_name);
>  	} else {
>  		memset(req_exec_quorum_nodeinfo.qdevice_name, 0, VOTEQUORUM_MAX_QDEVICE_NAME_LEN);
> @@ -1980,6 +1980,8 @@ static void message_handler_req_lib_votequorum_qdevice_unregister (void *conn,
>  		qdevice_is_registered = 0;
>  		us->flags &= ~NODE_FLAGS_QDEVICE;
>  		us->flags &= ~NODE_FLAGS_QDEVICE_STATE;
> +		qdevice->state = NODESTATE_DEAD;
> +		memset(qdevice->qdevice_name, 0, VOTEQUORUM_MAX_QDEVICE_NAME_LEN);
>  		votequorum_exec_send_nodeinfo(us->node_id);
>  	} else {
>  		error = CS_ERR_NOT_EXIST;

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux