cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

drbd-connection-state-overview.dot (2587B)


      1// vim: set sw=2 sts=2 :
      2digraph {
      3  rankdir=BT
      4  bgcolor=white
      5
      6  node [shape=plaintext]
      7  node [fontcolor=black]
      8
      9  StandAlone     [ style=filled,fillcolor=gray,label=StandAlone ]
     10
     11  node [fontcolor=lightgray]
     12
     13  Unconnected    [ label=Unconnected ]
     14
     15  CommTrouble [ shape=record,
     16    label="{communication loss|{Timeout|BrokenPipe|NetworkFailure}}" ]
     17
     18  node [fontcolor=gray]
     19
     20  subgraph cluster_try_connect {
     21    label="try to connect, handshake"
     22    rank=max
     23    WFConnection   [ label=WFConnection ]
     24    WFReportParams [ label=WFReportParams ]
     25  }
     26
     27  TearDown       [ label=TearDown ]
     28
     29  Connected      [ label=Connected,style=filled,fillcolor=green,fontcolor=black ]
     30
     31  node [fontcolor=lightblue]
     32
     33  StartingSyncS  [ label=StartingSyncS ]
     34  StartingSyncT  [ label=StartingSyncT ]
     35
     36  subgraph cluster_bitmap_exchange {
     37    node [fontcolor=red]
     38    fontcolor=red
     39    label="new application (WRITE?) requests blocked\lwhile bitmap is exchanged"
     40
     41    WFBitMapT      [ label=WFBitMapT ]
     42    WFSyncUUID     [ label=WFSyncUUID ]
     43    WFBitMapS      [ label=WFBitMapS ]
     44  }
     45
     46  node [fontcolor=blue]
     47
     48  cluster_resync [ shape=record,label="{<any>resynchronisation process running\l'concurrent' application requests allowed|{{<T>PausedSyncT\nSyncTarget}|{<S>PausedSyncS\nSyncSource}}}" ]
     49
     50  node [shape=box,fontcolor=black]
     51
     52  // drbdadm [label="drbdadm connect"]
     53  // handshake [label="drbd_connect()\ndrbd_do_handshake\ndrbd_sync_handshake() etc."]
     54  // comm_error [label="communication trouble"]
     55
     56  //
     57  // edges
     58  // --------------------------------------
     59
     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" ]
     64
     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 ]
     67
     68    WFReportParams -> WFBitMapS
     69    WFReportParams -> WFBitMapT
     70    WFBitMapT -> WFSyncUUID [minlen=0.1,constraint=false]
     71
     72      WFBitMapS -> cluster_resync:S
     73      WFSyncUUID -> cluster_resync:T
     74
     75  edge [color=green]
     76  cluster_resync:any -> Connected [ label="resnyc done",fontcolor=green ]
     77
     78  edge [color=red]
     79  WFReportParams -> CommTrouble
     80  Connected -> CommTrouble
     81  cluster_resync:any -> CommTrouble
     82  edge [color=black]
     83  CommTrouble -> Unconnected [label="receiver thread is stopped" ]
     84
     85}