Bart Van Assche | 31b9034 | 2013-12-11 17:08:43 +0100 | [diff] [blame] | 1 | digraph srp_initiator { |
| 2 | node [shape = doublecircle]; running lost; |
| 3 | node [shape = circle]; |
| 4 | |
| 5 | { |
| 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; |
| 13 | |
| 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()" ]; |
| 26 | } |