digraph disk_states { Diskless -> Inconsistent [ label = "ioctl_set_disk()" ] Diskless -> Consistent [ label = "ioctl_set_disk()" ] Diskless -> Outdated [ label = "ioctl_set_disk()" ] Consistent -> Outdated [ label = "receive_param()" ] Consistent -> UpToDate [ label = "receive_param()" ] Consistent -> Inconsistent [ label = "start resync" ] Outdated -> Inconsistent [ label = "start resync" ] UpToDate -> Inconsistent [ label = "ioctl_replicate" ] Inconsistent -> UpToDate [ label = "resync completed" ] Consistent -> Failed [ label = "io completion error" ] Outdated -> Failed [ label = "io completion error" ] UpToDate -> Failed [ label = "io completion error" ] Inconsistent -> Failed [ label = "io completion error" ] Failed -> Diskless [ label = "sending notify to peer" ] }