18c2ecf20Sopenharmony_ci// vim: set sw=2 sts=2 :
28c2ecf20Sopenharmony_cidigraph {
38c2ecf20Sopenharmony_ci  rankdir=BT
48c2ecf20Sopenharmony_ci  bgcolor=white
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci  node [shape=plaintext]
78c2ecf20Sopenharmony_ci  node [fontcolor=black]
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci  StandAlone     [ style=filled,fillcolor=gray,label=StandAlone ]
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci  node [fontcolor=lightgray]
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci  Unconnected    [ label=Unconnected ]
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci  CommTrouble [ shape=record,
168c2ecf20Sopenharmony_ci    label="{communication loss|{Timeout|BrokenPipe|NetworkFailure}}" ]
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci  node [fontcolor=gray]
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  subgraph cluster_try_connect {
218c2ecf20Sopenharmony_ci    label="try to connect, handshake"
228c2ecf20Sopenharmony_ci    rank=max
238c2ecf20Sopenharmony_ci    WFConnection   [ label=WFConnection ]
248c2ecf20Sopenharmony_ci    WFReportParams [ label=WFReportParams ]
258c2ecf20Sopenharmony_ci  }
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  TearDown       [ label=TearDown ]
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  Connected      [ label=Connected,style=filled,fillcolor=green,fontcolor=black ]
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  node [fontcolor=lightblue]
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  StartingSyncS  [ label=StartingSyncS ]
348c2ecf20Sopenharmony_ci  StartingSyncT  [ label=StartingSyncT ]
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  subgraph cluster_bitmap_exchange {
378c2ecf20Sopenharmony_ci    node [fontcolor=red]
388c2ecf20Sopenharmony_ci    fontcolor=red
398c2ecf20Sopenharmony_ci    label="new application (WRITE?) requests blocked\lwhile bitmap is exchanged"
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci    WFBitMapT      [ label=WFBitMapT ]
428c2ecf20Sopenharmony_ci    WFSyncUUID     [ label=WFSyncUUID ]
438c2ecf20Sopenharmony_ci    WFBitMapS      [ label=WFBitMapS ]
448c2ecf20Sopenharmony_ci  }
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  node [fontcolor=blue]
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci  cluster_resync [ shape=record,label="{<any>resynchronisation process running\l'concurrent' application requests allowed|{{<T>PausedSyncT\nSyncTarget}|{<S>PausedSyncS\nSyncSource}}}" ]
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  node [shape=box,fontcolor=black]
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci  // drbdadm [label="drbdadm connect"]
538c2ecf20Sopenharmony_ci  // handshake [label="drbd_connect()\ndrbd_do_handshake\ndrbd_sync_handshake() etc."]
548c2ecf20Sopenharmony_ci  // comm_error [label="communication trouble"]
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci  //
578c2ecf20Sopenharmony_ci  // edges
588c2ecf20Sopenharmony_ci  // --------------------------------------
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci  StandAlone -> Unconnected [ label="drbdadm connect" ]
618c2ecf20Sopenharmony_ci  Unconnected -> StandAlone  [ label="drbdadm disconnect\lor serious communication trouble" ]
628c2ecf20Sopenharmony_ci  Unconnected -> WFConnection [ label="receiver thread is started" ]
638c2ecf20Sopenharmony_ci  WFConnection -> WFReportParams [ headlabel="accept()\land/or                        \lconnect()\l" ]
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci  WFReportParams -> StandAlone [ label="during handshake\lpeers do not agree\labout something essential" ]
668c2ecf20Sopenharmony_ci  WFReportParams -> Connected [ label="data identical\lno sync needed",color=green,fontcolor=green ]
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci    WFReportParams -> WFBitMapS
698c2ecf20Sopenharmony_ci    WFReportParams -> WFBitMapT
708c2ecf20Sopenharmony_ci    WFBitMapT -> WFSyncUUID [minlen=0.1,constraint=false]
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci      WFBitMapS -> cluster_resync:S
738c2ecf20Sopenharmony_ci      WFSyncUUID -> cluster_resync:T
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci  edge [color=green]
768c2ecf20Sopenharmony_ci  cluster_resync:any -> Connected [ label="resnyc done",fontcolor=green ]
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci  edge [color=red]
798c2ecf20Sopenharmony_ci  WFReportParams -> CommTrouble
808c2ecf20Sopenharmony_ci  Connected -> CommTrouble
818c2ecf20Sopenharmony_ci  cluster_resync:any -> CommTrouble
828c2ecf20Sopenharmony_ci  edge [color=black]
838c2ecf20Sopenharmony_ci  CommTrouble -> Unconnected [label="receiver thread is stopped" ]
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci}
86