Lines Matching refs:state_change

29 	struct drbd_state_change *state_change;  member
60 struct drbd_state_change *state_change; in alloc_state_change() local
67 state_change = kmalloc(size, gfp); in alloc_state_change()
68 if (!state_change) in alloc_state_change()
70 state_change->n_devices = n_devices; in alloc_state_change()
71 state_change->n_connections = n_connections; in alloc_state_change()
72 state_change->devices = (void *)(state_change + 1); in alloc_state_change()
73 state_change->connections = (void *)&state_change->devices[n_devices]; in alloc_state_change()
74 state_change->peer_devices = (void *)&state_change->connections[n_connections]; in alloc_state_change()
75 state_change->resource->resource = NULL; in alloc_state_change()
77 state_change->devices[n].device = NULL; in alloc_state_change()
79 state_change->connections[n].connection = NULL; in alloc_state_change()
80 return state_change; in alloc_state_change()
85 struct drbd_state_change *state_change; in remember_old_state() local
99 state_change = alloc_state_change(n_devices, n_connections, gfp); in remember_old_state()
100 if (!state_change) in remember_old_state()
104 state_change->resource->resource = resource; in remember_old_state()
105 state_change->resource->role[OLD] = in remember_old_state()
107 state_change->resource->susp[OLD] = resource->susp; in remember_old_state()
108 state_change->resource->susp_nod[OLD] = resource->susp_nod; in remember_old_state()
109 state_change->resource->susp_fen[OLD] = resource->susp_fen; in remember_old_state()
111 connection_state_change = state_change->connections; in remember_old_state()
122 device_state_change = state_change->devices; in remember_old_state()
123 peer_device_state_change = state_change->peer_devices; in remember_old_state()
152 return state_change; in remember_old_state()
155 static void remember_new_state(struct drbd_state_change *state_change) in remember_new_state() argument
161 if (!state_change) in remember_new_state()
164 resource_state_change = &state_change->resource[0]; in remember_new_state()
173 for (n = 0; n < state_change->n_devices; n++) { in remember_new_state()
175 &state_change->devices[n]; in remember_new_state()
181 for (n = 0; n < state_change->n_connections; n++) { in remember_new_state()
183 &state_change->connections[n]; in remember_new_state()
192 for (n = 0; n < state_change->n_devices * state_change->n_connections; n++) { in remember_new_state()
194 &state_change->peer_devices[n]; in remember_new_state()
211 void copy_old_to_new_state_change(struct drbd_state_change *state_change) in copy_old_to_new_state_change() argument
213 struct drbd_resource_state_change *resource_state_change = &state_change->resource[0]; in copy_old_to_new_state_change()
224 for (n_connection = 0; n_connection < state_change->n_connections; n_connection++) { in copy_old_to_new_state_change()
226 &state_change->connections[n_connection]; in copy_old_to_new_state_change()
232 for (n_device = 0; n_device < state_change->n_devices; n_device++) { in copy_old_to_new_state_change()
234 &state_change->devices[n_device]; in copy_old_to_new_state_change()
239 n_peer_devices = state_change->n_devices * state_change->n_connections; in copy_old_to_new_state_change()
242 &state_change->peer_devices[n_peer_device]; in copy_old_to_new_state_change()
254 void forget_state_change(struct drbd_state_change *state_change) in forget_state_change() argument
258 if (!state_change) in forget_state_change()
261 if (state_change->resource->resource) in forget_state_change()
262 kref_put(&state_change->resource->resource->kref, drbd_destroy_resource); in forget_state_change()
263 for (n = 0; n < state_change->n_devices; n++) { in forget_state_change()
264 struct drbd_device *device = state_change->devices[n].device; in forget_state_change()
269 for (n = 0; n < state_change->n_connections; n++) { in forget_state_change()
271 state_change->connections[n].connection; in forget_state_change()
276 kfree(state_change); in forget_state_change()
1272 struct drbd_state_change *state_change; in _drbd_set_state() local
1328 state_change = remember_old_state(device->resource, GFP_ATOMIC); in _drbd_set_state()
1340 remember_new_state(state_change); in _drbd_set_state()
1479 ascw->state_change = state_change; in _drbd_set_state()
1495 after_state_ch(device, ascw->os, ascw->ns, ascw->flags, ascw->state_change); in w_after_state_ch()
1496 forget_state_change(ascw->state_change); in w_after_state_ch()
1545 void *state_change, in notify_resource_state_change() argument
1548 struct drbd_resource_state_change *resource_state_change = state_change; in notify_resource_state_change()
1562 void *state_change, in notify_connection_state_change() argument
1565 struct drbd_connection_state_change *p = state_change; in notify_connection_state_change()
1577 void *state_change, in notify_device_state_change() argument
1580 struct drbd_device_state_change *device_state_change = state_change; in notify_device_state_change()
1591 void *state_change, in notify_peer_device_state_change() argument
1594 struct drbd_peer_device_state_change *p = state_change; in notify_peer_device_state_change()
1607 static void broadcast_state_change(struct drbd_state_change *state_change) in broadcast_state_change() argument
1609 struct drbd_resource_state_change *resource_state_change = &state_change->resource[0]; in broadcast_state_change()
1639 for (n_connection = 0; n_connection < state_change->n_connections; n_connection++) { in broadcast_state_change()
1641 &state_change->connections[n_connection]; in broadcast_state_change()
1649 for (n_device = 0; n_device < state_change->n_devices; n_device++) { in broadcast_state_change()
1651 &state_change->devices[n_device]; in broadcast_state_change()
1658 n_peer_devices = state_change->n_devices * state_change->n_connections; in broadcast_state_change()
1661 &state_change->peer_devices[n_peer_device]; in broadcast_state_change()
1710 struct drbd_state_change *state_change) in after_state_ch() argument
1717 broadcast_state_change(state_change); in after_state_ch()
2044 struct drbd_state_change *state_change; member
2057 broadcast_state_change(acscw->state_change); in w_after_conn_state_ch()
2058 forget_state_change(acscw->state_change); in w_after_conn_state_ch()
2301 struct drbd_state_change *state_change; in _conn_request_state() local
2347 state_change = remember_old_state(connection->resource, GFP_ATOMIC); in _conn_request_state()
2352 remember_new_state(state_change); in _conn_request_state()
2363 acscw->state_change = state_change; in _conn_request_state()