]> git.proxmox.com Git - ceph.git/blob - ceph/doc/cephfs/mds-state-diagram.dot
import ceph quincy 17.2.4
[ceph.git] / ceph / doc / cephfs / mds-state-diagram.dot
1 digraph {
2
3 node [shape=circle,style=unfilled,fixedsize=true,width=2.0]
4
5 node [color=blue,peripheries=1];
6 N0 [label="up:boot"]
7
8 node [color=green,peripheries=1];
9 S1 [label="up:standby"]
10 N0 -> S1 [color=green,penwidth=2.0];
11 S2 [label="up:standby_replay"]
12 S1 -> S2 [color=green,penwidth=2.0];
13
14 node [color=orange,peripheries=2];
15 N1 [label="up:creating"]
16 S1 -> N1 [color=orange,penwidth=2.0];
17 N2 [label="up:starting"]
18 S1 -> N2 [color=orange,penwidth=2.0];
19 N3 [label="up:replay"]
20 S1 -> N3 [color=orange,penwidth=2.0];
21 S2 -> N3 [color=orange,penwidth=2.0];
22 N4 [label="up:resolve"]
23 N3 -> N4 [color=orange,penwidth=2.0];
24 N5 [label="up:reconnect"]
25 N3 -> N5 [color=orange,penwidth=2.0];
26 N4 -> N5 [color=orange,penwidth=2.0];
27 N6 [label="up:rejoin"]
28 N5 -> N6 [color=orange,penwidth=2.0];
29 N7 [label="up:clientreplay"]
30 N6 -> N7 [color=orange,penwidth=2.0];
31
32 node [color=green,peripheries=2];
33 S0 [label="up:active"]
34 N7 -> S0 [color=green,penwidth=2.0];
35 N1 -> S0 [color=green,penwidth=2.0];
36 N2 -> S0 [color=green,penwidth=2.0];
37 N6 -> S0 [color=green,penwidth=2.0];
38
39 // going down but still accessible by clients
40 node [color=purple,peripheries=2];
41 S3 [label="up:stopping"]
42 S0 -> S3 [color=purple,penwidth=2.0];
43
44 // terminal (but "in")
45 node [shape=polygon,sides=6,color=red,peripheries=2];
46 D0 [label="down:failed"]
47 N2 -> D0 [color=red,penwidth=2.0];
48 N3 -> D0 [color=red,penwidth=2.0];
49 N4 -> D0 [color=red,penwidth=2.0];
50 N5 -> D0 [color=red,penwidth=2.0];
51 N6 -> D0 [color=red,penwidth=2.0];
52 N7 -> D0 [color=red,penwidth=2.0];
53 S0 -> D0 [color=red,penwidth=2.0];
54 S3 -> D0 [color=red,penwidth=2.0];
55 D0 -> N3 [color=red,penwidth=2.0];
56
57 // terminal (but not "in")
58 node [shape=polygon,sides=6,color=black,peripheries=1];
59 D1 [label="down:damaged"]
60 S2 -> D1 [color=black,penwidth=2.0];
61 N3 -> D1 [color=black,penwidth=2.0];
62 N4 -> D1 [color=black,penwidth=2.0];
63 N5 -> D1 [color=black,penwidth=2.0];
64 N6 -> D1 [color=black,penwidth=2.0];
65 N7 -> D1 [color=black,penwidth=2.0];
66 S0 -> D1 [color=black,penwidth=2.0];
67 S3 -> D1 [color=black,penwidth=2.0];
68 D1 -> D0 [color=red,penwidth=2.0]
69
70 node [shape=polygon,sides=6,color=purple,peripheries=1];
71 D3 [label="down:stopped"]
72 S3 -> D3 [color=purple,penwidth=2.0];
73 N6 -> D3 [color=purple,penwidth=2.0];
74
75 }