DLM: close othercon at send/receive error
If an error occurs in the sending / receiving process, if othercon exists, sending / receiving processing using othercon may also result in an error. We fix to pre-close othercon as well. Signed-off-by: Tadashi Miyauchi <miyauchi@toshiba-tops.co.jp> Signed-off-by: Tsutomu Owa <tsutomu.owa@toshiba.co.jp> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
parent
5966121241
commit
c553e173b0
|
@ -703,7 +703,7 @@ out_resched:
|
||||||
out_close:
|
out_close:
|
||||||
mutex_unlock(&con->sock_mutex);
|
mutex_unlock(&con->sock_mutex);
|
||||||
if (ret != -EAGAIN) {
|
if (ret != -EAGAIN) {
|
||||||
close_connection(con, false, true, false);
|
close_connection(con, true, true, false);
|
||||||
/* Reconnect when there is something to send */
|
/* Reconnect when there is something to send */
|
||||||
}
|
}
|
||||||
/* Don't return success if we really got EOF */
|
/* Don't return success if we really got EOF */
|
||||||
|
@ -1530,7 +1530,7 @@ out:
|
||||||
|
|
||||||
send_error:
|
send_error:
|
||||||
mutex_unlock(&con->sock_mutex);
|
mutex_unlock(&con->sock_mutex);
|
||||||
close_connection(con, false, false, true);
|
close_connection(con, true, false, true);
|
||||||
/* Requeue the send work. When the work daemon runs again, it will try
|
/* Requeue the send work. When the work daemon runs again, it will try
|
||||||
a new connection, then call this function again. */
|
a new connection, then call this function again. */
|
||||||
queue_work(send_workqueue, &con->swork);
|
queue_work(send_workqueue, &con->swork);
|
||||||
|
|
Loading…
Reference in New Issue