Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On Wed, Jul 30, 2008 at 03:37:43PM +0800, niko wrote: > Hi,first,thank Philipp Reisner for the last help with my stupid > question.I'm learning linux kernel,and I'm focusing on drbd. > I read some documents about it,such as "Replicated Storage with shared > disk Semantics" And now,I want take a deep insight into the code.Is > there any document about it? I don't think so. What is your motivation for this? How can you help us? How can you help us help you? > I don't know the function of drbd_send_fp and the difference between > HandshakeS and HandShakeM, what's that for ? DRBD has two connections, called "meta" socket and "data" socket. each node tries actively to connect() to the other one, if that does not succeed, it goes to listen() and accept() again. if the connect _does_ succeed, it goes to list() and accept() as well. there are a few races in there, where one node would connect its "meta" socket to what the other node thinks is its "data" socket. to solve that and determine which of these freshly established tcp connections is going to be which DRBD socket, we have the drbd_send_fp (first packet), which sends the Handshake packets, to tell the other node, that this node thinks this connection should become that DRBD socket. and so they agree. -- : Lars Ellenberg http://www.linbit.com : : DRBD/HA support and consulting sales at linbit.com : : LINBIT Information Technologies GmbH Tel +43-1-8178292-0 : : Vivenotgasse 48, A-1120 Vienna/Europe Fax +43-1-8178292-82 : __ please don't Cc me, but send to list -- I'm subscribed