Lines Matching refs:peer_device

84 	struct drbd_peer_device *peer_device = peer_req->peer_device;  in drbd_endio_read_sec_final()  local
85 struct drbd_device *device = peer_device->device; in drbd_endio_read_sec_final()
96 drbd_queue_work(&peer_device->connection->sender_work, &peer_req->w); in drbd_endio_read_sec_final()
105 struct drbd_peer_device *peer_device = peer_req->peer_device; in drbd_endio_write_sec_final() local
106 struct drbd_device *device = peer_device->device; in drbd_endio_write_sec_final()
107 struct drbd_connection *connection = peer_device->connection; in drbd_endio_write_sec_final()
127 drbd_set_out_of_sync(peer_device, peer_req->i.sector, peer_req->i.size); in drbd_endio_write_sec_final()
151 if (!queue_work(connection->ack_sender, &peer_device->send_acks_work)) in drbd_endio_write_sec_final()
174 struct drbd_device *device = peer_req->peer_device->device; in drbd_peer_request_endio()
341 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_send_csum() local
342 struct drbd_device *device = peer_device->device; in w_e_send_csum()
353 digest_size = crypto_shash_digestsize(peer_device->connection->csums_tfm); in w_e_send_csum()
358 drbd_csum_ee(peer_device->connection->csums_tfm, peer_req, digest); in w_e_send_csum()
366 inc_rs_pending(peer_device); in w_e_send_csum()
367 err = drbd_send_drequest_csum(peer_device, sector, size, in w_e_send_csum()
387 static int read_for_csum(struct drbd_peer_device *peer_device, sector_t sector, int size) in read_for_csum() argument
389 struct drbd_device *device = peer_device->device; in read_for_csum()
397 peer_req = drbd_alloc_peer_req(peer_device, ID_SYNCER /* unused */, sector, in read_for_csum()
497 static int drbd_rs_controller(struct drbd_peer_device *peer_device, unsigned int sect_in) in drbd_rs_controller() argument
499 struct drbd_device *device = peer_device->device; in drbd_rs_controller()
550 static int drbd_rs_number_requests(struct drbd_peer_device *peer_device) in drbd_rs_number_requests() argument
552 struct drbd_device *device = peer_device->device; in drbd_rs_number_requests()
562 number = drbd_rs_controller(peer_device, sect_in) >> (BM_BLOCK_SHIFT - 9); in drbd_rs_number_requests()
586 static int make_resync_request(struct drbd_peer_device *const peer_device, int cancel) in make_resync_request() argument
588 struct drbd_device *const device = peer_device->device; in make_resync_request()
589 struct drbd_connection *const connection = peer_device ? peer_device->connection : NULL; in make_resync_request()
604 drbd_resync_finished(peer_device); in make_resync_request()
624 number = drbd_rs_number_requests(peer_device); in make_resync_request()
659 if (drbd_try_rs_begin_io(peer_device, sector)) { in make_resync_request()
717 switch (read_for_csum(peer_device, sector, size)) { in make_resync_request()
735 inc_rs_pending(peer_device); in make_resync_request()
736 err = drbd_send_drequest(peer_device, in make_resync_request()
741 dec_rs_pending(peer_device); in make_resync_request()
766 static int make_ov_request(struct drbd_peer_device *peer_device, int cancel) in make_ov_request() argument
768 struct drbd_device *device = peer_device->device; in make_ov_request()
777 number = drbd_rs_number_requests(peer_device); in make_ov_request()
795 if (drbd_try_rs_begin_io(peer_device, sector)) { in make_ov_request()
803 inc_rs_pending(peer_device); in make_ov_request()
805 dec_rs_pending(peer_device); in make_ov_request()
853 int drbd_resync_finished(struct drbd_peer_device *peer_device) in drbd_resync_finished() argument
855 struct drbd_device *device = peer_device->device; in drbd_resync_finished()
856 struct drbd_connection *connection = peer_device->connection; in drbd_resync_finished()
1002 struct drbd_peer_device *peer_device; in drbd_resync_finished() local
1004 idr_for_each_entry(&connection->peer_devices, peer_device, vnr) { in drbd_resync_finished()
1005 struct drbd_device *device = peer_device->device; in drbd_resync_finished()
1041 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_end_data_req() local
1042 struct drbd_device *device = peer_device->device; in w_e_end_data_req()
1051 err = drbd_send_block(peer_device, P_DATA_REPLY, peer_req); in w_e_end_data_req()
1057 err = drbd_send_ack(peer_device, P_NEG_DREPLY, peer_req); in w_e_end_data_req()
1101 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_end_rsdata_req() local
1102 struct drbd_device *device = peer_device->device; in w_e_end_rsdata_req()
1116 err = drbd_send_ack(peer_device, P_RS_CANCEL, peer_req); in w_e_end_rsdata_req()
1119 inc_rs_pending(peer_device); in w_e_end_rsdata_req()
1121 err = drbd_send_rs_deallocated(peer_device, peer_req); in w_e_end_rsdata_req()
1123 err = drbd_send_block(peer_device, P_RS_DATA_REPLY, peer_req); in w_e_end_rsdata_req()
1135 err = drbd_send_ack(peer_device, P_NEG_RS_DREPLY, peer_req); in w_e_end_rsdata_req()
1138 drbd_rs_failed_io(peer_device, peer_req->i.sector, peer_req->i.size); in w_e_end_rsdata_req()
1152 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_end_csum_rs_req() local
1153 struct drbd_device *device = peer_device->device; in w_e_end_csum_rs_req()
1175 if (peer_device->connection->csums_tfm) { in w_e_end_csum_rs_req()
1176 digest_size = crypto_shash_digestsize(peer_device->connection->csums_tfm); in w_e_end_csum_rs_req()
1181 drbd_csum_ee(peer_device->connection->csums_tfm, peer_req, digest); in w_e_end_csum_rs_req()
1187 drbd_set_in_sync(peer_device, peer_req->i.sector, peer_req->i.size); in w_e_end_csum_rs_req()
1190 err = drbd_send_ack(peer_device, P_RS_IS_IN_SYNC, peer_req); in w_e_end_csum_rs_req()
1192 inc_rs_pending(peer_device); in w_e_end_csum_rs_req()
1196 err = drbd_send_block(peer_device, P_RS_DATA_REPLY, peer_req); in w_e_end_csum_rs_req()
1199 err = drbd_send_ack(peer_device, P_NEG_RS_DREPLY, peer_req); in w_e_end_csum_rs_req()
1215 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_end_ov_req() local
1216 struct drbd_device *device = peer_device->device; in w_e_end_ov_req()
1226 digest_size = crypto_shash_digestsize(peer_device->connection->verify_tfm); in w_e_end_ov_req()
1234 drbd_csum_ee(peer_device->connection->verify_tfm, peer_req, digest); in w_e_end_ov_req()
1245 inc_rs_pending(peer_device); in w_e_end_ov_req()
1246 err = drbd_send_drequest_csum(peer_device, sector, size, digest, digest_size, P_OV_REPLY); in w_e_end_ov_req()
1248 dec_rs_pending(peer_device); in w_e_end_ov_req()
1258 void drbd_ov_out_of_sync_found(struct drbd_peer_device *peer_device, sector_t sector, int size) in drbd_ov_out_of_sync_found() argument
1260 struct drbd_device *device = peer_device->device; in drbd_ov_out_of_sync_found()
1267 drbd_set_out_of_sync(peer_device, sector, size); in drbd_ov_out_of_sync_found()
1273 struct drbd_peer_device *peer_device = peer_req->peer_device; in w_e_end_ov_reply() local
1274 struct drbd_device *device = peer_device->device; in w_e_end_ov_reply()
1299 digest_size = crypto_shash_digestsize(peer_device->connection->verify_tfm); in w_e_end_ov_reply()
1302 drbd_csum_ee(peer_device->connection->verify_tfm, peer_req, digest); in w_e_end_ov_reply()
1317 drbd_ov_out_of_sync_found(peer_device, sector, size); in w_e_end_ov_reply()
1319 ov_out_of_sync_print(peer_device); in w_e_end_ov_reply()
1321 err = drbd_send_ack_ex(peer_device, P_OV_RESULT, sector, size, in w_e_end_ov_reply()
1330 drbd_advance_rs_marks(peer_device, device->ov_left); in w_e_end_ov_reply()
1336 ov_out_of_sync_print(peer_device); in w_e_end_ov_reply()
1337 drbd_resync_finished(peer_device); in w_e_end_ov_reply()
1409 struct drbd_peer_device *const peer_device = first_peer_device(device); in w_send_out_of_sync() local
1410 struct drbd_connection *const connection = peer_device->connection; in w_send_out_of_sync()
1414 req_mod(req, SEND_CANCELED, peer_device); in w_send_out_of_sync()
1425 err = drbd_send_out_of_sync(peer_device, req); in w_send_out_of_sync()
1426 req_mod(req, OOS_HANDED_TO_NETWORK, peer_device); in w_send_out_of_sync()
1440 struct drbd_peer_device *const peer_device = first_peer_device(device); in w_send_dblock() local
1441 struct drbd_connection *connection = peer_device->connection; in w_send_dblock()
1446 req_mod(req, SEND_CANCELED, peer_device); in w_send_dblock()
1455 err = drbd_send_dblock(peer_device, req); in w_send_dblock()
1456 req_mod(req, err ? SEND_FAILED : HANDED_OVER_TO_NETWORK, peer_device); in w_send_dblock()
1459 pd_send_unplug_remote(peer_device); in w_send_dblock()
1473 struct drbd_peer_device *const peer_device = first_peer_device(device); in w_send_read_req() local
1474 struct drbd_connection *connection = peer_device->connection; in w_send_read_req()
1479 req_mod(req, SEND_CANCELED, peer_device); in w_send_read_req()
1488 err = drbd_send_drequest(peer_device, P_DATA_REQUEST, req->i.sector, req->i.size, in w_send_read_req()
1491 req_mod(req, err ? SEND_FAILED : HANDED_OVER_TO_NETWORK, peer_device); in w_send_read_req()
1494 pd_send_unplug_remote(peer_device); in w_send_read_req()
1657 void drbd_rs_controller_reset(struct drbd_peer_device *peer_device) in drbd_rs_controller_reset() argument
1659 struct drbd_device *device = peer_device->device; in drbd_rs_controller_reset()
1722 struct drbd_peer_device *peer_device = first_peer_device(device); in drbd_start_resync() local
1723 struct drbd_connection *connection = peer_device ? peer_device->connection : NULL; in drbd_start_resync()
1859 drbd_gen_and_send_sync_uuid(peer_device); in drbd_start_resync()
1882 drbd_resync_finished(peer_device); in drbd_start_resync()
1885 drbd_rs_controller_reset(peer_device); in drbd_start_resync()
1900 static void update_on_disk_bitmap(struct drbd_peer_device *peer_device, bool resync_done) in update_on_disk_bitmap() argument
1902 struct drbd_device *device = peer_device->device; in update_on_disk_bitmap()
1911 drbd_resync_finished(peer_device); in update_on_disk_bitmap()
1937 struct drbd_peer_device *peer_device = first_peer_device(device); in go_diskless() local
1963 "detach", BM_LOCKED_TEST_ALLOWED, peer_device)) { in go_diskless()
2040 struct drbd_peer_device *peer_device; in do_unqueued_work() local
2044 idr_for_each_entry(&connection->peer_devices, peer_device, vnr) { in do_unqueued_work()
2045 struct drbd_device *device = peer_device->device; in do_unqueued_work()
2156 struct drbd_peer_device *peer_device; in drbd_worker() local
2211 idr_for_each_entry(&connection->peer_devices, peer_device, vnr) { in drbd_worker()
2212 struct drbd_device *device = peer_device->device; in drbd_worker()