dlm: fix no ack after final message
[ Upstream commit 6212e4528b248a4bc9b4fe68e029a84689c67461 ]
In case of an final DLM message we can't should not send an ack out
after the final message. This patch moves the ack message before the
messages will be transmitted. If it's the final message and the
receiving node turns into DLM_CLOSED state another ack messages will
being received and turning the receiving node into DLM_ESTABLISHED
again.
Fixes: 1696c75f18
("fs: dlm: add send ack threshold and append acks to msgs")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
fd508e08ef
commit
9541151509
|
@ -1038,15 +1038,15 @@ struct dlm_mhandle *dlm_midcomms_get_mhandle(int nodeid, int len,
|
|||
|
||||
break;
|
||||
case DLM_VERSION_3_2:
|
||||
/* send ack back if necessary */
|
||||
dlm_send_ack_threshold(node, DLM_SEND_ACK_BACK_MSG_THRESHOLD);
|
||||
|
||||
msg = dlm_midcomms_get_msg_3_2(mh, nodeid, len, allocation,
|
||||
ppc);
|
||||
if (!msg) {
|
||||
dlm_free_mhandle(mh);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* send ack back if necessary */
|
||||
dlm_send_ack_threshold(node, DLM_SEND_ACK_BACK_MSG_THRESHOLD);
|
||||
break;
|
||||
default:
|
||||
dlm_free_mhandle(mh);
|
||||
|
|
Loading…
Reference in New Issue