[Drbd-dev] Primary/Diskless node cannot reconnect

Graham, Simon Simon.Graham at stratus.com
Sun Nov 1 23:25:44 CET 2009


If you are in a situation where one node is Primary/Diskless and the
other Secondary/UpToDate, DRDB works just fine, redirecting the I/O to
the secondary node. However, if you then lose the network connection for
any reasons (say some sort of transient issue), DRBD will not allow the
connection to be re-established even though nothing has actually
changed.

When the connect request comes in, you see this trace message:

       Can only connect to data with current UUID=XXXXX

Which is output by receive_uuids in drbd_receiver.c. I understand why
this check should be made _if_ you actually have a local disk on the
Primary, but if you are Diskless I think it is not necessary and results
in unnecessary problems. My proposed fix is to add an explicit test for
Diskless in the if statement so that it only does the check for current
UUID if the disk state is > Diskless.

Proposed patch attached against 8.2.
Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: primary-diskless-connect.patch
Type: application/octet-stream
Size: 485 bytes
Desc: primary-diskless-connect.patch
URL: <http://lists.linbit.com/pipermail/drbd-dev/attachments/20091101/c9d358b2/attachment.obj>


More information about the drbd-dev mailing list