|
@@ -0,0 +1,26 @@
|
|
|
+digraph srp_initiator {
|
|
|
+ node [shape = doublecircle]; running lost;
|
|
|
+ node [shape = circle];
|
|
|
+
|
|
|
+ {
|
|
|
+ rank = min;
|
|
|
+ running_rta [ label = "running;\nreconnect\ntimer\nactive" ];
|
|
|
+ };
|
|
|
+ running [ label = "running;\nreconnect\ntimer\nstopped" ];
|
|
|
+ blocked;
|
|
|
+ failfast [ label = "fail I/O\nfast" ];
|
|
|
+ lost;
|
|
|
+
|
|
|
+ running -> running_rta [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nsrp_start_tl_fail_timers()" ];
|
|
|
+ running_rta -> running [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting succeeded" ];
|
|
|
+ running -> blocked [ label = "fast_io_fail_tmo >= 0 or\ndev_loss_tmo >= 0;\nsrp_start_tl_fail_timers()" ];
|
|
|
+ running -> failfast [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting failed\n" ];
|
|
|
+ blocked -> failfast [ label = "fast_io_fail_tmo\nexpired or\nreconnecting\nfailed" ];
|
|
|
+ blocked -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
|
|
|
+ failfast -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
|
|
|
+ blocked -> running [ label = "reconnecting\nsucceeded" ];
|
|
|
+ failfast -> failfast [ label = "reconnecting\nfailed" ];
|
|
|
+ failfast -> running [ label = "reconnecting\nsucceeded" ];
|
|
|
+ running -> lost [ label = "srp_stop_rport_timers()" ];
|
|
|
+ running_rta -> lost [ label = "srp_stop_rport_timers()" ];
|
|
|
+}
|