[Drbd-dev] Cstate stays in "Disconnecting" after Heartbeat link
down and up
Philipp Reisner
philipp.reisner at linbit.com
Fri Oct 6 15:18:35 CEST 2006
Am Donnerstag, 5. Oktober 2006 23:37 schrieb Montrose, Ernest:
> Hi all,
> If I do an ifdown and an ifup on the heartbeat link drbd goes into
> CS:Disconnecting . I cannot manually recover until a reboot. Should the
> state be "StandAlone" instead? I include a patch that seems to work for
> me.
>
Hi Ernest,
You patch did not fix the root case of the problem. The source of the
problem was the missing dec_net() in drbd_try_connect().
That lead to the receiver thread hang in
wait_event( ...,atomic_read(&mdev->net_cnt) == 0 ) in drbd_disconnect() .
Therefore the receiver thread did not terminate and could not set
the state finally to StandAlone.
see http://lists.linbit.com/pipermail/drbd-cvs/2006-October/001306.html
PS: Regarding the state-engine, you should always request a state
of "Disconnecting", and let the exiting receiver set it finally
to "StandAlone".
> A side question:
> Should drbd notice when the link comes up? He does not seem to.
>
No, we do not do that. In case we discover that we can not bind()
our address we give up.
-phil
--
: Dipl-Ing Philipp Reisner Tel +43-1-8178292-50 :
: LINBIT Information Technologies GmbH Fax +43-1-8178292-82 :
: Schönbrunnerstr 244, 1120 Vienna, Austria http://www.linbit.com :
More information about the drbd-dev
mailing list