1digraph disk_states {
2	Diskless -> Inconsistent       [ label = "ioctl_set_disk()" ]
3	Diskless -> Consistent         [ label = "ioctl_set_disk()" ]
4	Diskless -> Outdated           [ label = "ioctl_set_disk()" ]
5	Consistent -> Outdated         [ label = "receive_param()" ]
6	Consistent -> UpToDate         [ label = "receive_param()" ]
7	Consistent -> Inconsistent     [ label = "start resync" ]
8	Outdated   -> Inconsistent     [ label = "start resync" ]
9	UpToDate   -> Inconsistent     [ label = "ioctl_replicate" ]
10	Inconsistent -> UpToDate       [ label = "resync completed" ]
11	Consistent -> Failed           [ label = "io completion error" ]
12	Outdated   -> Failed           [ label = "io completion error" ]
13	UpToDate   -> Failed           [ label = "io completion error" ]
14	Inconsistent -> Failed         [ label = "io completion error" ]
15	Failed -> Diskless             [ label = "sending notify to peer" ]
16}
17