aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_receiver.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd/drbd_receiver.c')
-rw-r--r--drivers/block/drbd/drbd_receiver.c94
1 files changed, 47 insertions, 47 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 591a171291d9..9b3321e2c3cd 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -720,14 +720,14 @@ out:
720static int drbd_send_fp(struct drbd_conf *mdev, 720static int drbd_send_fp(struct drbd_conf *mdev,
721 struct socket *sock, enum drbd_packets cmd) 721 struct socket *sock, enum drbd_packets cmd)
722{ 722{
723 struct p_header *h = (struct p_header *) &mdev->data.sbuf.header; 723 struct p_header80 *h = (struct p_header80 *) &mdev->data.sbuf.header;
724 724
725 return _drbd_send_cmd(mdev, sock, cmd, h, sizeof(*h), 0); 725 return _drbd_send_cmd(mdev, sock, cmd, h, sizeof(*h), 0);
726} 726}
727 727
728static enum drbd_packets drbd_recv_fp(struct drbd_conf *mdev, struct socket *sock) 728static enum drbd_packets drbd_recv_fp(struct drbd_conf *mdev, struct socket *sock)
729{ 729{
730 struct p_header *h = (struct p_header *) &mdev->data.sbuf.header; 730 struct p_header80 *h = (struct p_header80 *) &mdev->data.sbuf.header;
731 int rr; 731 int rr;
732 732
733 rr = drbd_recv_short(mdev, sock, h, sizeof(*h), 0); 733 rr = drbd_recv_short(mdev, sock, h, sizeof(*h), 0);
@@ -944,7 +944,7 @@ out_release_sockets:
944 return -1; 944 return -1;
945} 945}
946 946
947static int drbd_recv_header(struct drbd_conf *mdev, struct p_header *h) 947static int drbd_recv_header(struct drbd_conf *mdev, struct p_header80 *h)
948{ 948{
949 int r; 949 int r;
950 950
@@ -1266,7 +1266,7 @@ int w_e_reissue(struct drbd_conf *mdev, struct drbd_work *w, int cancel) __relea
1266 return 1; 1266 return 1;
1267} 1267}
1268 1268
1269static int receive_Barrier(struct drbd_conf *mdev, struct p_header *h) 1269static int receive_Barrier(struct drbd_conf *mdev, struct p_header80 *h)
1270{ 1270{
1271 int rv, issue_flush; 1271 int rv, issue_flush;
1272 struct p_barrier *p = (struct p_barrier *)h; 1272 struct p_barrier *p = (struct p_barrier *)h;
@@ -1570,7 +1570,7 @@ fail:
1570 return FALSE; 1570 return FALSE;
1571} 1571}
1572 1572
1573static int receive_DataReply(struct drbd_conf *mdev, struct p_header *h) 1573static int receive_DataReply(struct drbd_conf *mdev, struct p_header80 *h)
1574{ 1574{
1575 struct drbd_request *req; 1575 struct drbd_request *req;
1576 sector_t sector; 1576 sector_t sector;
@@ -1610,7 +1610,7 @@ static int receive_DataReply(struct drbd_conf *mdev, struct p_header *h)
1610 return ok; 1610 return ok;
1611} 1611}
1612 1612
1613static int receive_RSDataReply(struct drbd_conf *mdev, struct p_header *h) 1613static int receive_RSDataReply(struct drbd_conf *mdev, struct p_header80 *h)
1614{ 1614{
1615 sector_t sector; 1615 sector_t sector;
1616 unsigned int header_size, data_size; 1616 unsigned int header_size, data_size;
@@ -1767,7 +1767,7 @@ static int drbd_wait_peer_seq(struct drbd_conf *mdev, const u32 packet_seq)
1767} 1767}
1768 1768
1769/* mirrored write */ 1769/* mirrored write */
1770static int receive_Data(struct drbd_conf *mdev, struct p_header *h) 1770static int receive_Data(struct drbd_conf *mdev, struct p_header80 *h)
1771{ 1771{
1772 sector_t sector; 1772 sector_t sector;
1773 struct drbd_epoch_entry *e; 1773 struct drbd_epoch_entry *e;
@@ -2066,7 +2066,7 @@ int drbd_rs_should_slow_down(struct drbd_conf *mdev)
2066} 2066}
2067 2067
2068 2068
2069static int receive_DataRequest(struct drbd_conf *mdev, struct p_header *h) 2069static int receive_DataRequest(struct drbd_conf *mdev, struct p_header80 *h)
2070{ 2070{
2071 sector_t sector; 2071 sector_t sector;
2072 const sector_t capacity = drbd_get_capacity(mdev->this_bdev); 2072 const sector_t capacity = drbd_get_capacity(mdev->this_bdev);
@@ -2756,7 +2756,7 @@ static int cmp_after_sb(enum drbd_after_sb_p peer, enum drbd_after_sb_p self)
2756 return 1; 2756 return 1;
2757} 2757}
2758 2758
2759static int receive_protocol(struct drbd_conf *mdev, struct p_header *h) 2759static int receive_protocol(struct drbd_conf *mdev, struct p_header80 *h)
2760{ 2760{
2761 struct p_protocol *p = (struct p_protocol *)h; 2761 struct p_protocol *p = (struct p_protocol *)h;
2762 int header_size, data_size; 2762 int header_size, data_size;
@@ -2862,7 +2862,7 @@ struct crypto_hash *drbd_crypto_alloc_digest_safe(const struct drbd_conf *mdev,
2862 return tfm; 2862 return tfm;
2863} 2863}
2864 2864
2865static int receive_SyncParam(struct drbd_conf *mdev, struct p_header *h) 2865static int receive_SyncParam(struct drbd_conf *mdev, struct p_header80 *h)
2866{ 2866{
2867 int ok = TRUE; 2867 int ok = TRUE;
2868 struct p_rs_param_95 *p = (struct p_rs_param_95 *)h; 2868 struct p_rs_param_95 *p = (struct p_rs_param_95 *)h;
@@ -3032,7 +3032,7 @@ static void warn_if_differ_considerably(struct drbd_conf *mdev,
3032 (unsigned long long)a, (unsigned long long)b); 3032 (unsigned long long)a, (unsigned long long)b);
3033} 3033}
3034 3034
3035static int receive_sizes(struct drbd_conf *mdev, struct p_header *h) 3035static int receive_sizes(struct drbd_conf *mdev, struct p_header80 *h)
3036{ 3036{
3037 struct p_sizes *p = (struct p_sizes *)h; 3037 struct p_sizes *p = (struct p_sizes *)h;
3038 enum determine_dev_size dd = unchanged; 3038 enum determine_dev_size dd = unchanged;
@@ -3148,7 +3148,7 @@ static int receive_sizes(struct drbd_conf *mdev, struct p_header *h)
3148 return TRUE; 3148 return TRUE;
3149} 3149}
3150 3150
3151static int receive_uuids(struct drbd_conf *mdev, struct p_header *h) 3151static int receive_uuids(struct drbd_conf *mdev, struct p_header80 *h)
3152{ 3152{
3153 struct p_uuids *p = (struct p_uuids *)h; 3153 struct p_uuids *p = (struct p_uuids *)h;
3154 u64 *p_uuid; 3154 u64 *p_uuid;
@@ -3241,7 +3241,7 @@ static union drbd_state convert_state(union drbd_state ps)
3241 return ms; 3241 return ms;
3242} 3242}
3243 3243
3244static int receive_req_state(struct drbd_conf *mdev, struct p_header *h) 3244static int receive_req_state(struct drbd_conf *mdev, struct p_header80 *h)
3245{ 3245{
3246 struct p_req_state *p = (struct p_req_state *)h; 3246 struct p_req_state *p = (struct p_req_state *)h;
3247 union drbd_state mask, val; 3247 union drbd_state mask, val;
@@ -3271,7 +3271,7 @@ static int receive_req_state(struct drbd_conf *mdev, struct p_header *h)
3271 return TRUE; 3271 return TRUE;
3272} 3272}
3273 3273
3274static int receive_state(struct drbd_conf *mdev, struct p_header *h) 3274static int receive_state(struct drbd_conf *mdev, struct p_header80 *h)
3275{ 3275{
3276 struct p_state *p = (struct p_state *)h; 3276 struct p_state *p = (struct p_state *)h;
3277 enum drbd_conns nconn, oconn; 3277 enum drbd_conns nconn, oconn;
@@ -3395,7 +3395,7 @@ static int receive_state(struct drbd_conf *mdev, struct p_header *h)
3395 return TRUE; 3395 return TRUE;
3396} 3396}
3397 3397
3398static int receive_sync_uuid(struct drbd_conf *mdev, struct p_header *h) 3398static int receive_sync_uuid(struct drbd_conf *mdev, struct p_header80 *h)
3399{ 3399{
3400 struct p_rs_uuid *p = (struct p_rs_uuid *)h; 3400 struct p_rs_uuid *p = (struct p_rs_uuid *)h;
3401 3401
@@ -3428,7 +3428,7 @@ static int receive_sync_uuid(struct drbd_conf *mdev, struct p_header *h)
3428enum receive_bitmap_ret { OK, DONE, FAILED }; 3428enum receive_bitmap_ret { OK, DONE, FAILED };
3429 3429
3430static enum receive_bitmap_ret 3430static enum receive_bitmap_ret
3431receive_bitmap_plain(struct drbd_conf *mdev, struct p_header *h, 3431receive_bitmap_plain(struct drbd_conf *mdev, struct p_header80 *h,
3432 unsigned long *buffer, struct bm_xfer_ctx *c) 3432 unsigned long *buffer, struct bm_xfer_ctx *c)
3433{ 3433{
3434 unsigned num_words = min_t(size_t, BM_PACKET_WORDS, c->bm_words - c->word_offset); 3434 unsigned num_words = min_t(size_t, BM_PACKET_WORDS, c->bm_words - c->word_offset);
@@ -3533,7 +3533,7 @@ void INFO_bm_xfer_stats(struct drbd_conf *mdev,
3533 const char *direction, struct bm_xfer_ctx *c) 3533 const char *direction, struct bm_xfer_ctx *c)
3534{ 3534{
3535 /* what would it take to transfer it "plaintext" */ 3535 /* what would it take to transfer it "plaintext" */
3536 unsigned plain = sizeof(struct p_header) * 3536 unsigned plain = sizeof(struct p_header80) *
3537 ((c->bm_words+BM_PACKET_WORDS-1)/BM_PACKET_WORDS+1) 3537 ((c->bm_words+BM_PACKET_WORDS-1)/BM_PACKET_WORDS+1)
3538 + c->bm_words * sizeof(long); 3538 + c->bm_words * sizeof(long);
3539 unsigned total = c->bytes[0] + c->bytes[1]; 3539 unsigned total = c->bytes[0] + c->bytes[1];
@@ -3571,7 +3571,7 @@ void INFO_bm_xfer_stats(struct drbd_conf *mdev,
3571 in order to be agnostic to the 32 vs 64 bits issue. 3571 in order to be agnostic to the 32 vs 64 bits issue.
3572 3572
3573 returns 0 on failure, 1 if we successfully received it. */ 3573 returns 0 on failure, 1 if we successfully received it. */
3574static int receive_bitmap(struct drbd_conf *mdev, struct p_header *h) 3574static int receive_bitmap(struct drbd_conf *mdev, struct p_header80 *h)
3575{ 3575{
3576 struct bm_xfer_ctx c; 3576 struct bm_xfer_ctx c;
3577 void *buffer; 3577 void *buffer;
@@ -3623,7 +3623,7 @@ static int receive_bitmap(struct drbd_conf *mdev, struct p_header *h)
3623 } 3623 }
3624 3624
3625 c.packets[h->command == P_BITMAP]++; 3625 c.packets[h->command == P_BITMAP]++;
3626 c.bytes[h->command == P_BITMAP] += sizeof(struct p_header) + h->length; 3626 c.bytes[h->command == P_BITMAP] += sizeof(struct p_header80) + h->length;
3627 3627
3628 if (ret != OK) 3628 if (ret != OK)
3629 break; 3629 break;
@@ -3659,7 +3659,7 @@ static int receive_bitmap(struct drbd_conf *mdev, struct p_header *h)
3659 return ok; 3659 return ok;
3660} 3660}
3661 3661
3662static int receive_skip_(struct drbd_conf *mdev, struct p_header *h, int silent) 3662static int receive_skip_(struct drbd_conf *mdev, struct p_header80 *h, int silent)
3663{ 3663{
3664 /* TODO zero copy sink :) */ 3664 /* TODO zero copy sink :) */
3665 static char sink[128]; 3665 static char sink[128];
@@ -3679,17 +3679,17 @@ static int receive_skip_(struct drbd_conf *mdev, struct p_header *h, int silent)
3679 return size == 0; 3679 return size == 0;
3680} 3680}
3681 3681
3682static int receive_skip(struct drbd_conf *mdev, struct p_header *h) 3682static int receive_skip(struct drbd_conf *mdev, struct p_header80 *h)
3683{ 3683{
3684 return receive_skip_(mdev, h, 0); 3684 return receive_skip_(mdev, h, 0);
3685} 3685}
3686 3686
3687static int receive_skip_silent(struct drbd_conf *mdev, struct p_header *h) 3687static int receive_skip_silent(struct drbd_conf *mdev, struct p_header80 *h)
3688{ 3688{
3689 return receive_skip_(mdev, h, 1); 3689 return receive_skip_(mdev, h, 1);
3690} 3690}
3691 3691
3692static int receive_UnplugRemote(struct drbd_conf *mdev, struct p_header *h) 3692static int receive_UnplugRemote(struct drbd_conf *mdev, struct p_header80 *h)
3693{ 3693{
3694 if (mdev->state.disk >= D_INCONSISTENT) 3694 if (mdev->state.disk >= D_INCONSISTENT)
3695 drbd_kick_lo(mdev); 3695 drbd_kick_lo(mdev);
@@ -3701,7 +3701,7 @@ static int receive_UnplugRemote(struct drbd_conf *mdev, struct p_header *h)
3701 return TRUE; 3701 return TRUE;
3702} 3702}
3703 3703
3704typedef int (*drbd_cmd_handler_f)(struct drbd_conf *, struct p_header *); 3704typedef int (*drbd_cmd_handler_f)(struct drbd_conf *, struct p_header80 *);
3705 3705
3706static drbd_cmd_handler_f drbd_default_handler[] = { 3706static drbd_cmd_handler_f drbd_default_handler[] = {
3707 [P_DATA] = receive_Data, 3707 [P_DATA] = receive_Data,
@@ -3736,7 +3736,7 @@ static drbd_cmd_handler_f *drbd_opt_cmd_handler;
3736static void drbdd(struct drbd_conf *mdev) 3736static void drbdd(struct drbd_conf *mdev)
3737{ 3737{
3738 drbd_cmd_handler_f handler; 3738 drbd_cmd_handler_f handler;
3739 struct p_header *header = &mdev->data.rbuf.header; 3739 struct p_header80 *header = &mdev->data.rbuf.header;
3740 3740
3741 while (get_t_state(&mdev->receiver) == Running) { 3741 while (get_t_state(&mdev->receiver) == Running) {
3742 drbd_thread_current_set_cpu(mdev); 3742 drbd_thread_current_set_cpu(mdev);
@@ -3964,7 +3964,7 @@ static int drbd_send_handshake(struct drbd_conf *mdev)
3964 p->protocol_min = cpu_to_be32(PRO_VERSION_MIN); 3964 p->protocol_min = cpu_to_be32(PRO_VERSION_MIN);
3965 p->protocol_max = cpu_to_be32(PRO_VERSION_MAX); 3965 p->protocol_max = cpu_to_be32(PRO_VERSION_MAX);
3966 ok = _drbd_send_cmd( mdev, mdev->data.socket, P_HAND_SHAKE, 3966 ok = _drbd_send_cmd( mdev, mdev->data.socket, P_HAND_SHAKE,
3967 (struct p_header *)p, sizeof(*p), 0 ); 3967 (struct p_header80 *)p, sizeof(*p), 0 );
3968 mutex_unlock(&mdev->data.mutex); 3968 mutex_unlock(&mdev->data.mutex);
3969 return ok; 3969 return ok;
3970} 3970}
@@ -3981,7 +3981,7 @@ static int drbd_do_handshake(struct drbd_conf *mdev)
3981 /* ASSERT current == mdev->receiver ... */ 3981 /* ASSERT current == mdev->receiver ... */
3982 struct p_handshake *p = &mdev->data.rbuf.handshake; 3982 struct p_handshake *p = &mdev->data.rbuf.handshake;
3983 const int expect = sizeof(struct p_handshake) 3983 const int expect = sizeof(struct p_handshake)
3984 -sizeof(struct p_header); 3984 -sizeof(struct p_header80);
3985 int rv; 3985 int rv;
3986 3986
3987 rv = drbd_send_handshake(mdev); 3987 rv = drbd_send_handshake(mdev);
@@ -4058,7 +4058,7 @@ static int drbd_do_auth(struct drbd_conf *mdev)
4058 char *response = NULL; 4058 char *response = NULL;
4059 char *right_response = NULL; 4059 char *right_response = NULL;
4060 char *peers_ch = NULL; 4060 char *peers_ch = NULL;
4061 struct p_header p; 4061 struct p_header80 p;
4062 unsigned int key_len = strlen(mdev->net_conf->shared_secret); 4062 unsigned int key_len = strlen(mdev->net_conf->shared_secret);
4063 unsigned int resp_size; 4063 unsigned int resp_size;
4064 struct hash_desc desc; 4064 struct hash_desc desc;
@@ -4231,7 +4231,7 @@ int drbdd_init(struct drbd_thread *thi)
4231 4231
4232/* ********* acknowledge sender ******** */ 4232/* ********* acknowledge sender ******** */
4233 4233
4234static int got_RqSReply(struct drbd_conf *mdev, struct p_header *h) 4234static int got_RqSReply(struct drbd_conf *mdev, struct p_header80 *h)
4235{ 4235{
4236 struct p_req_state_reply *p = (struct p_req_state_reply *)h; 4236 struct p_req_state_reply *p = (struct p_req_state_reply *)h;
4237 4237
@@ -4249,13 +4249,13 @@ static int got_RqSReply(struct drbd_conf *mdev, struct p_header *h)
4249 return TRUE; 4249 return TRUE;
4250} 4250}
4251 4251
4252static int got_Ping(struct drbd_conf *mdev, struct p_header *h) 4252static int got_Ping(struct drbd_conf *mdev, struct p_header80 *h)
4253{ 4253{
4254 return drbd_send_ping_ack(mdev); 4254 return drbd_send_ping_ack(mdev);
4255 4255
4256} 4256}
4257 4257
4258static int got_PingAck(struct drbd_conf *mdev, struct p_header *h) 4258static int got_PingAck(struct drbd_conf *mdev, struct p_header80 *h)
4259{ 4259{
4260 /* restore idle timeout */ 4260 /* restore idle timeout */
4261 mdev->meta.socket->sk->sk_rcvtimeo = mdev->net_conf->ping_int*HZ; 4261 mdev->meta.socket->sk->sk_rcvtimeo = mdev->net_conf->ping_int*HZ;
@@ -4265,7 +4265,7 @@ static int got_PingAck(struct drbd_conf *mdev, struct p_header *h)
4265 return TRUE; 4265 return TRUE;
4266} 4266}
4267 4267
4268static int got_IsInSync(struct drbd_conf *mdev, struct p_header *h) 4268static int got_IsInSync(struct drbd_conf *mdev, struct p_header80 *h)
4269{ 4269{
4270 struct p_block_ack *p = (struct p_block_ack *)h; 4270 struct p_block_ack *p = (struct p_block_ack *)h;
4271 sector_t sector = be64_to_cpu(p->sector); 4271 sector_t sector = be64_to_cpu(p->sector);
@@ -4336,7 +4336,7 @@ static int validate_req_change_req_state(struct drbd_conf *mdev,
4336 return TRUE; 4336 return TRUE;
4337} 4337}
4338 4338
4339static int got_BlockAck(struct drbd_conf *mdev, struct p_header *h) 4339static int got_BlockAck(struct drbd_conf *mdev, struct p_header80 *h)
4340{ 4340{
4341 struct p_block_ack *p = (struct p_block_ack *)h; 4341 struct p_block_ack *p = (struct p_block_ack *)h;
4342 sector_t sector = be64_to_cpu(p->sector); 4342 sector_t sector = be64_to_cpu(p->sector);
@@ -4376,7 +4376,7 @@ static int got_BlockAck(struct drbd_conf *mdev, struct p_header *h)
4376 _ack_id_to_req, __func__ , what); 4376 _ack_id_to_req, __func__ , what);
4377} 4377}
4378 4378
4379static int got_NegAck(struct drbd_conf *mdev, struct p_header *h) 4379static int got_NegAck(struct drbd_conf *mdev, struct p_header80 *h)
4380{ 4380{
4381 struct p_block_ack *p = (struct p_block_ack *)h; 4381 struct p_block_ack *p = (struct p_block_ack *)h;
4382 sector_t sector = be64_to_cpu(p->sector); 4382 sector_t sector = be64_to_cpu(p->sector);
@@ -4396,7 +4396,7 @@ static int got_NegAck(struct drbd_conf *mdev, struct p_header *h)
4396 _ack_id_to_req, __func__ , neg_acked); 4396 _ack_id_to_req, __func__ , neg_acked);
4397} 4397}
4398 4398
4399static int got_NegDReply(struct drbd_conf *mdev, struct p_header *h) 4399static int got_NegDReply(struct drbd_conf *mdev, struct p_header80 *h)
4400{ 4400{
4401 struct p_block_ack *p = (struct p_block_ack *)h; 4401 struct p_block_ack *p = (struct p_block_ack *)h;
4402 sector_t sector = be64_to_cpu(p->sector); 4402 sector_t sector = be64_to_cpu(p->sector);
@@ -4409,7 +4409,7 @@ static int got_NegDReply(struct drbd_conf *mdev, struct p_header *h)
4409 _ar_id_to_req, __func__ , neg_acked); 4409 _ar_id_to_req, __func__ , neg_acked);
4410} 4410}
4411 4411
4412static int got_NegRSDReply(struct drbd_conf *mdev, struct p_header *h) 4412static int got_NegRSDReply(struct drbd_conf *mdev, struct p_header80 *h)
4413{ 4413{
4414 sector_t sector; 4414 sector_t sector;
4415 int size; 4415 int size;
@@ -4431,7 +4431,7 @@ static int got_NegRSDReply(struct drbd_conf *mdev, struct p_header *h)
4431 return TRUE; 4431 return TRUE;
4432} 4432}
4433 4433
4434static int got_BarrierAck(struct drbd_conf *mdev, struct p_header *h) 4434static int got_BarrierAck(struct drbd_conf *mdev, struct p_header80 *h)
4435{ 4435{
4436 struct p_barrier_ack *p = (struct p_barrier_ack *)h; 4436 struct p_barrier_ack *p = (struct p_barrier_ack *)h;
4437 4437
@@ -4440,7 +4440,7 @@ static int got_BarrierAck(struct drbd_conf *mdev, struct p_header *h)
4440 return TRUE; 4440 return TRUE;
4441} 4441}
4442 4442
4443static int got_OVResult(struct drbd_conf *mdev, struct p_header *h) 4443static int got_OVResult(struct drbd_conf *mdev, struct p_header80 *h)
4444{ 4444{
4445 struct p_block_ack *p = (struct p_block_ack *)h; 4445 struct p_block_ack *p = (struct p_block_ack *)h;
4446 struct drbd_work *w; 4446 struct drbd_work *w;
@@ -4474,7 +4474,7 @@ static int got_OVResult(struct drbd_conf *mdev, struct p_header *h)
4474 return TRUE; 4474 return TRUE;
4475} 4475}
4476 4476
4477static int got_something_to_ignore_m(struct drbd_conf *mdev, struct p_header *h) 4477static int got_something_to_ignore_m(struct drbd_conf *mdev, struct p_header80 *h)
4478{ 4478{
4479 /* IGNORE */ 4479 /* IGNORE */
4480 return TRUE; 4480 return TRUE;
@@ -4482,7 +4482,7 @@ static int got_something_to_ignore_m(struct drbd_conf *mdev, struct p_header *h)
4482 4482
4483struct asender_cmd { 4483struct asender_cmd {
4484 size_t pkt_size; 4484 size_t pkt_size;
4485 int (*process)(struct drbd_conf *mdev, struct p_header *h); 4485 int (*process)(struct drbd_conf *mdev, struct p_header80 *h);
4486}; 4486};
4487 4487
4488static struct asender_cmd *get_asender_cmd(int cmd) 4488static struct asender_cmd *get_asender_cmd(int cmd)
@@ -4491,8 +4491,8 @@ static struct asender_cmd *get_asender_cmd(int cmd)
4491 /* anything missing from this table is in 4491 /* anything missing from this table is in
4492 * the drbd_cmd_handler (drbd_default_handler) table, 4492 * the drbd_cmd_handler (drbd_default_handler) table,
4493 * see the beginning of drbdd() */ 4493 * see the beginning of drbdd() */
4494 [P_PING] = { sizeof(struct p_header), got_Ping }, 4494 [P_PING] = { sizeof(struct p_header80), got_Ping },
4495 [P_PING_ACK] = { sizeof(struct p_header), got_PingAck }, 4495 [P_PING_ACK] = { sizeof(struct p_header80), got_PingAck },
4496 [P_RECV_ACK] = { sizeof(struct p_block_ack), got_BlockAck }, 4496 [P_RECV_ACK] = { sizeof(struct p_block_ack), got_BlockAck },
4497 [P_WRITE_ACK] = { sizeof(struct p_block_ack), got_BlockAck }, 4497 [P_WRITE_ACK] = { sizeof(struct p_block_ack), got_BlockAck },
4498 [P_RS_WRITE_ACK] = { sizeof(struct p_block_ack), got_BlockAck }, 4498 [P_RS_WRITE_ACK] = { sizeof(struct p_block_ack), got_BlockAck },
@@ -4504,7 +4504,7 @@ static struct asender_cmd *get_asender_cmd(int cmd)
4504 [P_BARRIER_ACK] = { sizeof(struct p_barrier_ack), got_BarrierAck }, 4504 [P_BARRIER_ACK] = { sizeof(struct p_barrier_ack), got_BarrierAck },
4505 [P_STATE_CHG_REPLY] = { sizeof(struct p_req_state_reply), got_RqSReply }, 4505 [P_STATE_CHG_REPLY] = { sizeof(struct p_req_state_reply), got_RqSReply },
4506 [P_RS_IS_IN_SYNC] = { sizeof(struct p_block_ack), got_IsInSync }, 4506 [P_RS_IS_IN_SYNC] = { sizeof(struct p_block_ack), got_IsInSync },
4507 [P_DELAY_PROBE] = { sizeof(struct p_delay_probe), got_something_to_ignore_m }, 4507 [P_DELAY_PROBE] = { sizeof(struct p_delay_probe93), got_something_to_ignore_m },
4508 [P_MAX_CMD] = { 0, NULL }, 4508 [P_MAX_CMD] = { 0, NULL },
4509 }; 4509 };
4510 if (cmd > P_MAX_CMD || asender_tbl[cmd].process == NULL) 4510 if (cmd > P_MAX_CMD || asender_tbl[cmd].process == NULL)
@@ -4515,13 +4515,13 @@ static struct asender_cmd *get_asender_cmd(int cmd)
4515int drbd_asender(struct drbd_thread *thi) 4515int drbd_asender(struct drbd_thread *thi)
4516{ 4516{
4517 struct drbd_conf *mdev = thi->mdev; 4517 struct drbd_conf *mdev = thi->mdev;
4518 struct p_header *h = &mdev->meta.rbuf.header; 4518 struct p_header80 *h = &mdev->meta.rbuf.header;
4519 struct asender_cmd *cmd = NULL; 4519 struct asender_cmd *cmd = NULL;
4520 4520
4521 int rv, len; 4521 int rv, len;
4522 void *buf = h; 4522 void *buf = h;
4523 int received = 0; 4523 int received = 0;
4524 int expect = sizeof(struct p_header); 4524 int expect = sizeof(struct p_header80);
4525 int empty; 4525 int empty;
4526 4526
4527 sprintf(current->comm, "drbd%d_asender", mdev_to_minor(mdev)); 4527 sprintf(current->comm, "drbd%d_asender", mdev_to_minor(mdev));
@@ -4621,7 +4621,7 @@ int drbd_asender(struct drbd_thread *thi)
4621 goto disconnect; 4621 goto disconnect;
4622 } 4622 }
4623 expect = cmd->pkt_size; 4623 expect = cmd->pkt_size;
4624 ERR_IF(len != expect-sizeof(struct p_header)) 4624 ERR_IF(len != expect-sizeof(struct p_header80))
4625 goto reconnect; 4625 goto reconnect;
4626 } 4626 }
4627 if (received == expect) { 4627 if (received == expect) {
@@ -4631,7 +4631,7 @@ int drbd_asender(struct drbd_thread *thi)
4631 4631
4632 buf = h; 4632 buf = h;
4633 received = 0; 4633 received = 0;
4634 expect = sizeof(struct p_header); 4634 expect = sizeof(struct p_header80);
4635 cmd = NULL; 4635 cmd = NULL;
4636 } 4636 }
4637 } 4637 }