blob: 6d9cf0a7b11d7476315f2771a84b1f032bc03867 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
// vim set sw2 sts2 :
digraph {
rankdirBT
bgcolorwhite
node [shapeplaintext
node [fontcolorblack
StandAlone [ stylefilledfillcolorgraylabelStandAlone ]
node [fontcolorlightgray
Unconnected [ labelUnconnected ]
CommTrouble [ shaperecord
label"{communication loss{TimeoutBrokenPipeNetworkFailure}" ]
node [fontcolorgray
subgraph cluster_try_connect {
label"try to connect handshake"
rankmax
WFConnection [ labelWFConnection ]
WFReportParams [ labelWFReportParams ]
}
TearDown [ labelTearDown ]
Connected [ labelConnectedstylefilledfillcolorgreenfontcolorblack ]
node [fontcolorlightblue
StartingSyncS [ labelStartingSyncS ]
StartingSyncT [ labelStartingSyncT ]
subgraph cluster_bitmap_exchange {
node [fontcolorred
fontcolorred
label"new application (WRITE) requests blockedlwhile bitmap is exchanged"
WFBitMapT [ labelWFBitMapT ]
WFSyncUUID [ labelWFSyncUUID ]
WFBitMapS [ labelWFBitMapS ]
}
node [fontcolorblue
cluster_resync [ shaperecordlabel"{<anyresynchronisation process runninglconcurrent application requests allowed{{<TPausedSyncT\nSyncTarget|{<SPausedSyncS\nSyncSource}}" ]
node [shapeboxfontcolorblack
// drbdadm [label"drbdadm connect"]
// handshake [label"drbd_connect()\ndrbd_do_handshake\ndrbd_sync_handshake() etc"]
// comm_error [label"communication trouble"]
//
// edges
// --------------------------------------
StandAlone -> Unconnected [ label"drbdadm connect" ]
Unconnected -> StandAlone [ label"drbdadm disconnectlor serious communication trouble" ]
Unconnected -> WFConnection [ label"receiver thread is started" ]
WFConnection -> WFReportParams [ headlabel"accept()\landor \lconnect()\l" ]
WFReportParams -> StandAlone [ label"during handshakelpeers do not agreelabout something essential" ]
WFReportParams -> Connected [ label"data identicallno sync needed",colorgreenfontcolorgreen ]
WFReportParams -> WFBitMapS
WFReportParams -> WFBitMapT
WFBitMapT -> WFSyncUUID [minlen0.1constraintfalse
WFBitMapS -> cluster_resyncS
WFSyncUUID -> cluster_resyncT
edge [colorgreen
cluster_resyncany -> Connected [ label"resnyc done",fontcolorgreen ]
edge [colorred
WFReportParams -> CommTrouble
Connected -> CommTrouble
cluster_resyncany -> CommTrouble
edge [colorblack
CommTrouble -> Unconnected [label"receiver thread is stopped" ]
}
|