Linux 3.16-rc2
[linux/fpc-iii.git] / Documentation / scsi / scsi_transport_srp / rport_state_diagram.dot
blob75d610d6411a5369d5071eda902824e2076983df
1 digraph srp_initiator {
2 node [shape = doublecircle]; running lost;
3 node [shape = circle];
6 rank = min;
7 running_rta [ label = "running;\nreconnect\ntimer\nactive" ];
8 };
9 running [ label = "running;\nreconnect\ntimer\nstopped" ];
10 blocked;
11 failfast [ label = "fail I/O\nfast" ];
12 lost;
14 running -> running_rta [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nsrp_start_tl_fail_timers()" ];
15 running_rta -> running [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting succeeded" ];
16 running -> blocked [ label = "fast_io_fail_tmo >= 0 or\ndev_loss_tmo >= 0;\nsrp_start_tl_fail_timers()" ];
17 running -> failfast [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting failed\n" ];
18 blocked -> failfast [ label = "fast_io_fail_tmo\nexpired or\nreconnecting\nfailed" ];
19 blocked -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
20 failfast -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
21 blocked -> running [ label = "reconnecting\nsucceeded" ];
22 failfast -> failfast [ label = "reconnecting\nfailed" ];
23 failfast -> running [ label = "reconnecting\nsucceeded" ];
24 running -> lost [ label = "srp_stop_rport_timers()" ];
25 running_rta -> lost [ label = "srp_stop_rport_timers()" ];