Lines Matching refs:sock

619 				    struct drbd_socket *sock)  in __conn_prepare_command()  argument
621 if (!sock->socket) in __conn_prepare_command()
623 return sock->sbuf + drbd_header_size(connection); in __conn_prepare_command()
626 void *conn_prepare_command(struct drbd_connection *connection, struct drbd_socket *sock) in conn_prepare_command() argument
630 mutex_lock(&sock->mutex); in conn_prepare_command()
631 p = __conn_prepare_command(connection, sock); in conn_prepare_command()
633 mutex_unlock(&sock->mutex); in conn_prepare_command()
638 void *drbd_prepare_command(struct drbd_peer_device *peer_device, struct drbd_socket *sock) in drbd_prepare_command() argument
640 return conn_prepare_command(peer_device->connection, sock); in drbd_prepare_command()
644 struct drbd_socket *sock, enum drbd_packet cmd, in __send_command() argument
660 header_size += prepare_header(connection, vnr, sock->sbuf, cmd, in __send_command()
662 err = drbd_send_all(connection, sock->socket, sock->sbuf, header_size, in __send_command()
665 err = drbd_send_all(connection, sock->socket, data, size, 0); in __send_command()
669 drbd_tcp_nodelay(sock->socket); in __send_command()
674 static int __conn_send_command(struct drbd_connection *connection, struct drbd_socket *sock, in __conn_send_command() argument
678 return __send_command(connection, 0, sock, cmd, header_size, data, size); in __conn_send_command()
681 int conn_send_command(struct drbd_connection *connection, struct drbd_socket *sock, in conn_send_command() argument
687 err = __conn_send_command(connection, sock, cmd, header_size, data, size); in conn_send_command()
688 mutex_unlock(&sock->mutex); in conn_send_command()
692 int drbd_send_command(struct drbd_peer_device *peer_device, struct drbd_socket *sock, in drbd_send_command() argument
699 sock, cmd, header_size, data, size); in drbd_send_command()
700 mutex_unlock(&sock->mutex); in drbd_send_command()
706 struct drbd_socket *sock; in drbd_send_ping() local
708 sock = &connection->meta; in drbd_send_ping()
709 if (!conn_prepare_command(connection, sock)) in drbd_send_ping()
711 return conn_send_command(connection, sock, P_PING, 0, NULL, 0); in drbd_send_ping()
716 struct drbd_socket *sock; in drbd_send_ping_ack() local
718 sock = &connection->meta; in drbd_send_ping_ack()
719 if (!conn_prepare_command(connection, sock)) in drbd_send_ping_ack()
721 return conn_send_command(connection, sock, P_PING_ACK, 0, NULL, 0); in drbd_send_ping_ack()
726 struct drbd_socket *sock; in drbd_send_sync_param() local
734 sock = &peer_device->connection->data; in drbd_send_sync_param()
735 p = drbd_prepare_command(peer_device, sock); in drbd_send_sync_param()
775 return drbd_send_command(peer_device, sock, cmd, size, NULL, 0); in drbd_send_sync_param()
780 struct drbd_socket *sock; in __drbd_send_protocol() local
785 sock = &connection->data; in __drbd_send_protocol()
786 p = __conn_prepare_command(connection, sock); in __drbd_send_protocol()
795 mutex_unlock(&sock->mutex); in __drbd_send_protocol()
820 return __conn_send_command(connection, sock, cmd, size, NULL, 0); in __drbd_send_protocol()
837 struct drbd_socket *sock; in _drbd_send_uuids() local
844 sock = &peer_device->connection->data; in _drbd_send_uuids()
845 p = drbd_prepare_command(peer_device, sock); in _drbd_send_uuids()
865 return drbd_send_command(peer_device, sock, P_UUIDS, sizeof(*p), NULL, 0); in _drbd_send_uuids()
899 struct drbd_socket *sock; in drbd_gen_and_send_sync_uuid() local
914 sock = &peer_device->connection->data; in drbd_gen_and_send_sync_uuid()
915 p = drbd_prepare_command(peer_device, sock); in drbd_gen_and_send_sync_uuid()
918 drbd_send_command(peer_device, sock, P_SYNC_UUID, sizeof(*p), NULL, 0); in drbd_gen_and_send_sync_uuid()
925 struct drbd_socket *sock; in drbd_send_sizes() local
948 sock = &peer_device->connection->data; in drbd_send_sizes()
949 p = drbd_prepare_command(peer_device, sock); in drbd_send_sizes()
964 return drbd_send_command(peer_device, sock, P_SIZES, sizeof(*p), NULL, 0); in drbd_send_sizes()
973 struct drbd_socket *sock; in drbd_send_current_state() local
976 sock = &peer_device->connection->data; in drbd_send_current_state()
977 p = drbd_prepare_command(peer_device, sock); in drbd_send_current_state()
981 return drbd_send_command(peer_device, sock, P_STATE, sizeof(*p), NULL, 0); in drbd_send_current_state()
996 struct drbd_socket *sock; in drbd_send_state() local
999 sock = &peer_device->connection->data; in drbd_send_state()
1000 p = drbd_prepare_command(peer_device, sock); in drbd_send_state()
1004 return drbd_send_command(peer_device, sock, P_STATE, sizeof(*p), NULL, 0); in drbd_send_state()
1009 struct drbd_socket *sock; in drbd_send_state_req() local
1012 sock = &peer_device->connection->data; in drbd_send_state_req()
1013 p = drbd_prepare_command(peer_device, sock); in drbd_send_state_req()
1018 return drbd_send_command(peer_device, sock, P_STATE_CHG_REQ, sizeof(*p), NULL, 0); in drbd_send_state_req()
1024 struct drbd_socket *sock; in conn_send_state_req() local
1028 sock = &connection->data; in conn_send_state_req()
1029 p = conn_prepare_command(connection, sock); in conn_send_state_req()
1034 return conn_send_command(connection, sock, cmd, sizeof(*p), NULL, 0); in conn_send_state_req()
1039 struct drbd_socket *sock; in drbd_send_sr_reply() local
1042 sock = &peer_device->connection->meta; in drbd_send_sr_reply()
1043 p = drbd_prepare_command(peer_device, sock); in drbd_send_sr_reply()
1046 drbd_send_command(peer_device, sock, P_STATE_CHG_REPLY, sizeof(*p), NULL, 0); in drbd_send_sr_reply()
1052 struct drbd_socket *sock; in conn_send_sr_reply() local
1056 sock = &connection->meta; in conn_send_sr_reply()
1057 p = conn_prepare_command(connection, sock); in conn_send_sr_reply()
1060 conn_send_command(connection, sock, cmd, sizeof(*p), NULL, 0); in conn_send_sr_reply()
1187 struct drbd_socket *sock = &first_peer_device(device)->connection->data; in send_bitmap_rle_or_plain() local
1189 struct p_compressed_bm *p = sock->sbuf + header_size; in send_bitmap_rle_or_plain()
1199 err = __send_command(first_peer_device(device)->connection, device->vnr, sock, in send_bitmap_rle_or_plain()
1212 unsigned long *p = sock->sbuf + header_size; in send_bitmap_rle_or_plain()
1220 …err = __send_command(first_peer_device(device)->connection, device->vnr, sock, P_BITMAP, len, NULL… in send_bitmap_rle_or_plain()
1280 struct drbd_socket *sock = &first_peer_device(device)->connection->data; in drbd_send_bitmap() local
1283 mutex_lock(&sock->mutex); in drbd_send_bitmap()
1284 if (sock->socket) in drbd_send_bitmap()
1286 mutex_unlock(&sock->mutex); in drbd_send_bitmap()
1292 struct drbd_socket *sock; in drbd_send_b_ack() local
1298 sock = &connection->meta; in drbd_send_b_ack()
1299 p = conn_prepare_command(connection, sock); in drbd_send_b_ack()
1304 conn_send_command(connection, sock, P_BARRIER_ACK, sizeof(*p), NULL, 0); in drbd_send_b_ack()
1318 struct drbd_socket *sock; in _drbd_send_ack() local
1324 sock = &peer_device->connection->meta; in _drbd_send_ack()
1325 p = drbd_prepare_command(peer_device, sock); in _drbd_send_ack()
1332 return drbd_send_command(peer_device, sock, cmd, sizeof(*p), NULL, 0); in _drbd_send_ack()
1382 struct drbd_socket *sock; in drbd_send_drequest() local
1385 sock = &peer_device->connection->data; in drbd_send_drequest()
1386 p = drbd_prepare_command(peer_device, sock); in drbd_send_drequest()
1392 return drbd_send_command(peer_device, sock, cmd, sizeof(*p), NULL, 0); in drbd_send_drequest()
1398 struct drbd_socket *sock; in drbd_send_drequest_csum() local
1403 sock = &peer_device->connection->data; in drbd_send_drequest_csum()
1404 p = drbd_prepare_command(peer_device, sock); in drbd_send_drequest_csum()
1410 return drbd_send_command(peer_device, sock, cmd, sizeof(*p), digest, digest_size); in drbd_send_drequest_csum()
1415 struct drbd_socket *sock; in drbd_send_ov_request() local
1418 sock = &peer_device->connection->data; in drbd_send_ov_request()
1419 p = drbd_prepare_command(peer_device, sock); in drbd_send_ov_request()
1425 return drbd_send_command(peer_device, sock, P_OV_REQUEST, sizeof(*p), NULL, 0); in drbd_send_ov_request()
1432 static int we_should_drop_the_connection(struct drbd_connection *connection, struct socket *sock) in we_should_drop_the_connection() argument
1437 drop_it = connection->meta.socket == sock in we_should_drop_the_connection()
1457 struct sock *sk = connection->data.socket->sk; in drbd_update_congested()
1622 struct drbd_socket *sock; in drbd_send_dblock() local
1628 sock = &peer_device->connection->data; in drbd_send_dblock()
1629 p = drbd_prepare_command(peer_device, sock); in drbd_send_dblock()
1656 err = __send_command(peer_device->connection, device->vnr, sock, P_TRIM, sizeof(*t), NULL, 0); in drbd_send_dblock()
1664 …err = __send_command(peer_device->connection, device->vnr, sock, P_DATA, sizeof(*p) + digest_size,… in drbd_send_dblock()
1698 mutex_unlock(&sock->mutex); /* locked by drbd_prepare_command() */ in drbd_send_dblock()
1711 struct drbd_socket *sock; in drbd_send_block() local
1716 sock = &peer_device->connection->data; in drbd_send_block()
1717 p = drbd_prepare_command(peer_device, sock); in drbd_send_block()
1730 …err = __send_command(peer_device->connection, device->vnr, sock, cmd, sizeof(*p) + digest_size, NU… in drbd_send_block()
1733 mutex_unlock(&sock->mutex); /* locked by drbd_prepare_command() */ in drbd_send_block()
1740 struct drbd_socket *sock; in drbd_send_out_of_sync() local
1743 sock = &peer_device->connection->data; in drbd_send_out_of_sync()
1744 p = drbd_prepare_command(peer_device, sock); in drbd_send_out_of_sync()
1749 return drbd_send_command(peer_device, sock, P_OUT_OF_SYNC, sizeof(*p), NULL, 0); in drbd_send_out_of_sync()
1768 int drbd_send(struct drbd_connection *connection, struct socket *sock, in drbd_send() argument
1775 if (!sock) in drbd_send()
1789 if (sock == connection->data.socket) { in drbd_send()
1805 rv = kernel_sendmsg(sock, &msg, &iov, 1, size); in drbd_send()
1807 if (we_should_drop_the_connection(connection, sock)) in drbd_send()
1823 if (sock == connection->data.socket) in drbd_send()
1829 sock == connection->meta.socket ? "msock" : "sock", in drbd_send()
1844 int drbd_send_all(struct drbd_connection *connection, struct socket *sock, void *buffer, in drbd_send_all() argument
1849 err = drbd_send(connection, sock, buffer, size, msg_flags); in drbd_send_all()