1 // vim: set sw=2 sts=2 :
9 StandAlone [
style=
filled,fillcolor=
gray,label=StandAlone ]
11 node [
fontcolor=
lightgray]
13 Unconnected [
label=Unconnected ]
15 CommTrouble [
shape=
record,
16 label=
"{communication loss|{Timeout|BrokenPipe|NetworkFailure}}" ]
20 subgraph cluster_try_connect {
21 label=
"try to connect, handshake"
23 WFConnection [
label=WFConnection ]
24 WFReportParams [
label=WFReportParams ]
27 TearDown [
label=TearDown ]
29 Connected [
label=Connected
,style=
filled,fillcolor=
green,fontcolor=
black ]
31 node [
fontcolor=
lightblue]
33 StartingSyncS [
label=StartingSyncS ]
34 StartingSyncT [
label=StartingSyncT ]
36 subgraph cluster_bitmap_exchange {
39 label=
"new application (WRITE?) requests blocked\lwhile bitmap is exchanged"
41 WFBitMapT [
label=WFBitMapT ]
42 WFSyncUUID [
label=WFSyncUUID ]
43 WFBitMapS [
label=WFBitMapS ]
48 cluster_resync [
shape=
record,label=
"{<any>resynchronisation process running\l'concurrent' application requests allowed|{{<T>PausedSyncT\nSyncTarget}|{<S>PausedSyncS\nSyncSource}}}" ]
50 node [
shape=
box,fontcolor=
black]
52 // drbdadm [label="drbdadm connect"]
53 // handshake [label="drbd_connect()\ndrbd_do_handshake\ndrbd_sync_handshake() etc."]
54 // comm_error [label="communication trouble"]
58 // --------------------------------------
60 StandAlone
-> Unconnected [
label=
"drbdadm connect" ]
61 Unconnected
-> StandAlone [
label=
"drbdadm disconnect\lor serious communication trouble" ]
62 Unconnected
-> WFConnection [
label=
"receiver thread is started" ]
63 WFConnection
-> WFReportParams [
headlabel=
"accept()\land/or \lconnect()\l" ]
65 WFReportParams
-> StandAlone [
label=
"during handshake\lpeers do not agree\labout something essential" ]
66 WFReportParams
-> Connected [
label=
"data identical\lno sync needed",color=
green,fontcolor=
green ]
68 WFReportParams
-> WFBitMapS
69 WFReportParams
-> WFBitMapT
70 WFBitMapT
-> WFSyncUUID [
minlen=
0.1,constraint=false]
72 WFBitMapS
-> cluster_resync
:S
73 WFSyncUUID
-> cluster_resync
:T
76 cluster_resync
:any
-> Connected [
label=
"resnyc done",fontcolor=
green ]
79 WFReportParams
-> CommTrouble
80 Connected
-> CommTrouble
81 cluster_resync
:any
-> CommTrouble
83 CommTrouble
-> Unconnected [
label=
"receiver thread is stopped" ]