D_UP_TO_DATE
case D_UP_TO_DATE:
D_ASSERT(device, device->state.disk == D_UP_TO_DATE);
if (device->state.pdsk != D_UP_TO_DATE && device->ed_uuid &&
ns.disk = D_UP_TO_DATE;
_drbd_set_state(_NS2(device, disk, D_UP_TO_DATE, pdsk, D_UP_TO_DATE),
if (conn_highest_disk(connection) == D_UP_TO_DATE) {
(device->state.disk < D_UP_TO_DATE &&
val.disk = D_UP_TO_DATE;
val.disk = D_UP_TO_DATE;
if (!get_ldev_if_state(device, D_UP_TO_DATE)) {
_drbd_set_state(_NS2(device, disk, D_UP_TO_DATE, pdsk, D_UP_TO_DATE),
real_peer_disk == D_UP_TO_DATE &&
os.conn > C_CONNECTED && os.disk == D_UP_TO_DATE) {
if (os.conn == C_VERIFY_T && os.disk == D_UP_TO_DATE &&
peer_state.conn == C_CONNECTED && real_peer_disk == D_UP_TO_DATE) {
if (os.pdsk == D_UP_TO_DATE && real_peer_disk == D_INCONSISTENT &&
real_peer_disk = D_UP_TO_DATE;
if (!get_ldev_if_state(device, D_UP_TO_DATE))
if (device->state.pdsk != D_UP_TO_DATE)
return s.pdsk == D_UP_TO_DATE ||
return s.disk == D_UP_TO_DATE || s.pdsk == D_UP_TO_DATE;
if (device->state.disk == D_UP_TO_DATE)
ns.disk = D_UP_TO_DATE;
ns.pdsk = D_UP_TO_DATE;
disk_max = D_UP_TO_DATE;
pdsk_min = D_UP_TO_DATE;
pdsk_max = D_UP_TO_DATE;
disk_min = D_UP_TO_DATE;
disk_max = D_UP_TO_DATE;
pdsk_min = D_UP_TO_DATE;
pdsk_max = D_UP_TO_DATE;
disk_max = D_UP_TO_DATE;
pdsk_max = D_UP_TO_DATE;
disk_min = D_UP_TO_DATE;
disk_max = D_UP_TO_DATE;
pdsk_min = D_UP_TO_DATE;
pdsk_max = D_UP_TO_DATE;
disk_min = D_UP_TO_DATE;
disk_max = D_UP_TO_DATE;
(ns.role == R_PRIMARY && ns.disk < D_UP_TO_DATE && ns.pdsk < D_UP_TO_DATE) &&
!(os.role == R_PRIMARY && os.disk < D_UP_TO_DATE && os.pdsk < D_UP_TO_DATE))
if ((os.disk != D_UP_TO_DATE || os.pdsk != D_UP_TO_DATE)
&& (ns.disk == D_UP_TO_DATE && ns.pdsk == D_UP_TO_DATE)) {
if (!(os.role == R_PRIMARY && os.disk < D_UP_TO_DATE && os.pdsk < D_UP_TO_DATE) &&
(ns.role == R_PRIMARY && ns.disk < D_UP_TO_DATE && ns.pdsk < D_UP_TO_DATE))
conn_lowest_disk(connection) == D_UP_TO_DATE)
device->ldev->md.uuid[UI_BITMAP] == 0 && ns.disk >= D_UP_TO_DATE) {
device->ldev->md.uuid[UI_BITMAP] == 0 && ns.disk >= D_UP_TO_DATE) {
if (os.disk == D_UP_TO_DATE && ns.disk == D_INCONSISTENT && ns.conn >= C_CONNECTED)
if (os.disk < D_UP_TO_DATE && os.conn >= C_SYNC_SOURCE && ns.conn == C_CONNECTED)
else if (ns.role == R_PRIMARY && ns.conn < C_CONNECTED && ns.disk < D_UP_TO_DATE)
else if (ns.conn > C_CONNECTED && ns.disk < D_UP_TO_DATE && ns.pdsk < D_UP_TO_DATE)
else if (ns.role == R_PRIMARY && ns.disk < D_UP_TO_DATE && ns.pdsk < D_UP_TO_DATE)
&& ns.pdsk == D_UP_TO_DATE
&& ns.disk != D_UP_TO_DATE && ns.disk != D_DISKLESS
[D_UP_TO_DATE] = "UpToDate",
return s > D_UP_TO_DATE ? "TOO_LARGE" : drbd_disk_s_names[s];
if (disk_state == D_UP_TO_DATE && pdsk_state == D_UP_TO_DATE)
ns.pdsk = D_UP_TO_DATE;
ns.disk = D_UP_TO_DATE;
ns.disk = D_UP_TO_DATE;
ns.pdsk = D_UP_TO_DATE;