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