[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