digraph cstate { Unconfigured -> StandAllone [ label = "ioctl_set_disk()" ] StandAllone -> Unconnected [ label = "ioctl_set_net()" ] Unconfigured -> Unconnected [ label = "ioctl_set_net()" ] Unconnected -> WFConnection [ label = "connect()[1]" ] WFConnection -> Unconnected [ label = "unable to bind()" ] WFConnection -> WFReportParams [ label = "in connect() after accept" ] WFReportParams -> StandAllone [ label = "checks in receive_param()" ] WFReportParams -> Connected [ label = "in receive_param()" ] WFReportParams -> WFBitMapS [ label = "sync_handshake()" ] WFReportParams -> WFBitMapT [ label = "sync_handshake()" ] WFBitMapS -> SyncSource [ label = "receive_bitmap()" ] WFBitMapT -> SyncTarget [ label = "receive_bitmap()" ] SyncSource -> Connected SyncTarget -> Connected SyncSource -> PausedSyncS SyncTarget -> PausedSyncT PausedSyncS -> SyncSource PausedSyncT -> SyncTarget Connected -> BrokenPipe [ label = "* recv error" ] BrokenPipe -> WFConnection [ label = "connect()[1]" ] Connected -> NetworkFailure [ label = "* set by asender()" ] NetworkFailure -> WFConnection [ label = "connect()[1]" ] Connected -> Timeout [ label = "* set drbd_send()" ] Timeout -> WFConnection [ label = "connect()[1]" ] }