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()
1270 struct drbd_state_change *state_change; in _drbd_set_state() local
1326 state_change = remember_old_state(device->resource, GFP_ATOMIC); in _drbd_set_state()
1338 remember_new_state(state_change); in _drbd_set_state()
1477 ascw->state_change = state_change; in _drbd_set_state()
1493 after_state_ch(device, ascw->os, ascw->ns, ascw->flags, ascw->state_change); in w_after_state_ch()
1494 forget_state_change(ascw->state_change); in w_after_state_ch()
1600 static void broadcast_state_change(struct drbd_state_change *state_change) in broadcast_state_change() argument
1602 struct drbd_resource_state_change *resource_state_change = &state_change->resource[0]; in broadcast_state_change()
1632 for (n_connection = 0; n_connection < state_change->n_connections; n_connection++) { in broadcast_state_change()
1634 &state_change->connections[n_connection]; in broadcast_state_change()
1642 for (n_device = 0; n_device < state_change->n_devices; n_device++) { in broadcast_state_change()
1644 &state_change->devices[n_device]; in broadcast_state_change()
1651 n_peer_devices = state_change->n_devices * state_change->n_connections; in broadcast_state_change()
1654 &state_change->peer_devices[n_peer_device]; in broadcast_state_change()
1703 struct drbd_state_change *state_change) in after_state_ch() argument
1710 broadcast_state_change(state_change); in after_state_ch()
2035 struct drbd_state_change *state_change; member
2048 broadcast_state_change(acscw->state_change); in w_after_conn_state_ch()
2049 forget_state_change(acscw->state_change); in w_after_conn_state_ch()
2292 struct drbd_state_change *state_change; in _conn_request_state() local
2338 state_change = remember_old_state(connection->resource, GFP_ATOMIC); in _conn_request_state()
2343 remember_new_state(state_change); in _conn_request_state()
2354 acscw->state_change = state_change; in _conn_request_state()