D_INCONSISTENT
if (device->state.disk < D_INCONSISTENT) {
if (device->state.disk > D_INCONSISTENT)
_drbd_set_state(_NS(device, disk, D_INCONSISTENT), CS_HARD, NULL);
#define get_ldev(_device) get_ldev_if_state(_device, D_INCONSISTENT)
case D_INCONSISTENT:
if (device->state.pdsk >= D_INCONSISTENT && device->state.conn >= C_CONNECTED) {
uuid_flags |= device->new_state_tmp.disk == D_INCONSISTENT ? 4 : 0;
ns.disk = D_INCONSISTENT;
retcode = drbd_request_state(device, NS(disk, D_INCONSISTENT));
retcode = drbd_request_state(device, NS(pdsk, D_INCONSISTENT));
val.pdsk = D_INCONSISTENT;
device->state.disk >= D_INCONSISTENT)) {
if (device->state.pdsk < D_INCONSISTENT) {
if ((mydisk == D_INCONSISTENT && peer_disk > D_INCONSISTENT) ||
(peer_disk == D_INCONSISTENT && mydisk > D_INCONSISTENT)) {
hg = mydisk > D_INCONSISTENT ? 1 : -1;
if (hg > 0 && mydisk <= D_INCONSISTENT) {
if (device->state.pdsk >= D_INCONSISTENT &&
device->state.disk >= D_INCONSISTENT) {
device->state.disk < D_INCONSISTENT &&
} else if (device->state.disk < D_INCONSISTENT &&
if (device->state.conn >= C_CONNECTED && device->state.disk < D_INCONSISTENT)
real_peer_disk = device->p_uuid[UI_FLAGS] & 4 ? D_INCONSISTENT : D_CONSISTENT;
if ((os.pdsk == D_INCONSISTENT || os.pdsk == D_CONSISTENT) &&
real_peer_disk = D_INCONSISTENT;
if (os.pdsk == D_UP_TO_DATE && real_peer_disk == D_INCONSISTENT &&
(s.pdsk >= D_INCONSISTENT &&
if (device->state.disk != D_INCONSISTENT)
if (ns.pdsk > D_UNKNOWN || ns.pdsk < D_INCONSISTENT)
pdsk_min = D_INCONSISTENT;
disk_min = D_INCONSISTENT;
pdsk_min = D_INCONSISTENT;
disk_min = D_INCONSISTENT;
disk_max = D_INCONSISTENT;
pdsk_min = D_INCONSISTENT;
pdsk_max = D_INCONSISTENT;
(device->state.pdsk < D_INCONSISTENT && device->state.peer == R_PRIMARY))
if (device->state.disk > D_INCONSISTENT)
if (device->state.pdsk <= D_OUTDATED && device->state.pdsk >= D_INCONSISTENT)
if (os.disk == D_INCONSISTENT && os.pdsk == D_INCONSISTENT &&
if ((os >= D_INCONSISTENT && os != D_UNKNOWN && os != D_OUTDATED)
&& (ns < D_INCONSISTENT || ns == D_UNKNOWN || ns == D_OUTDATED))
if (ns.pdsk < D_INCONSISTENT && get_ldev(device)) {
if (os.disk == D_UP_TO_DATE && ns.disk == D_INCONSISTENT && ns.conn >= C_CONNECTED)
else if (ns.role == R_PRIMARY && ns.disk <= D_INCONSISTENT && ns.pdsk <= D_INCONSISTENT)
else if (ns.conn > C_CONNECTED && ns.disk < D_INCONSISTENT)
else if (ns.conn > C_CONNECTED && ns.pdsk < D_INCONSISTENT)
[D_INCONSISTENT] = "Inconsistent",
if (likely(device->state.pdsk >= D_INCONSISTENT)) {
ns.disk = D_INCONSISTENT;
ns.pdsk = D_INCONSISTENT;
ns.disk = D_INCONSISTENT;
ns.pdsk = D_INCONSISTENT;