midcomms.c (a8449f232ee316208185ef7fbedc4a2c48da2a34) | midcomms.c (3428785a65dabf05bc899b6c5334984e98286184) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/****************************************************************************** 3******************************************************************************* 4** 5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 6** Copyright (C) 2004-2021 Red Hat, Inc. All rights reserved. 7** 8** --- 366 unchanged lines hidden (view full) --- 375 376 msg = dlm_lowcomms_new_msg(nodeid, mb_len, GFP_NOFS, &ppc, 377 NULL, NULL); 378 if (!msg) 379 return -ENOMEM; 380 381 m_header = (struct dlm_header *)ppc; 382 | 1// SPDX-License-Identifier: GPL-2.0-only 2/****************************************************************************** 3******************************************************************************* 4** 5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 6** Copyright (C) 2004-2021 Red Hat, Inc. All rights reserved. 7** 8** --- 366 unchanged lines hidden (view full) --- 375 376 msg = dlm_lowcomms_new_msg(nodeid, mb_len, GFP_NOFS, &ppc, 377 NULL, NULL); 378 if (!msg) 379 return -ENOMEM; 380 381 m_header = (struct dlm_header *)ppc; 382 |
383 m_header->h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 384 m_header->h_nodeid = dlm_our_nodeid(); 385 m_header->h_length = mb_len; | 383 m_header->h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 384 m_header->h_nodeid = cpu_to_le32(dlm_our_nodeid()); 385 m_header->h_length = cpu_to_le16(mb_len); |
386 m_header->h_cmd = DLM_ACK; | 386 m_header->h_cmd = DLM_ACK; |
387 m_header->u.h_seq = seq; | 387 m_header->u.h_seq = cpu_to_le32(seq); |
388 | 388 |
389 header_out(m_header); | |
390 dlm_lowcomms_commit_msg(msg); 391 dlm_lowcomms_put_msg(msg); 392 393 return 0; 394} 395 396static int dlm_send_fin(struct midcomms_node *node, 397 void (*ack_rcv)(struct midcomms_node *node)) --- 6 unchanged lines hidden (view full) --- 404 mh = dlm_midcomms_get_mhandle(node->nodeid, mb_len, GFP_NOFS, &ppc); 405 if (!mh) 406 return -ENOMEM; 407 408 mh->ack_rcv = ack_rcv; 409 410 m_header = (struct dlm_header *)ppc; 411 | 389 dlm_lowcomms_commit_msg(msg); 390 dlm_lowcomms_put_msg(msg); 391 392 return 0; 393} 394 395static int dlm_send_fin(struct midcomms_node *node, 396 void (*ack_rcv)(struct midcomms_node *node)) --- 6 unchanged lines hidden (view full) --- 403 mh = dlm_midcomms_get_mhandle(node->nodeid, mb_len, GFP_NOFS, &ppc); 404 if (!mh) 405 return -ENOMEM; 406 407 mh->ack_rcv = ack_rcv; 408 409 m_header = (struct dlm_header *)ppc; 410 |
412 m_header->h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 413 m_header->h_nodeid = dlm_our_nodeid(); 414 m_header->h_length = mb_len; | 411 m_header->h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 412 m_header->h_nodeid = cpu_to_le32(dlm_our_nodeid()); 413 m_header->h_length = cpu_to_le16(mb_len); |
415 m_header->h_cmd = DLM_FIN; 416 | 414 m_header->h_cmd = DLM_FIN; 415 |
417 header_out(m_header); 418 | |
419 pr_debug("sending fin msg to node %d\n", node->nodeid); 420 dlm_midcomms_commit_mhandle(mh); 421 set_bit(DLM_NODE_FLAG_STOP_TX, &node->flags); 422 423 return 0; 424} 425 426static void dlm_receive_ack(struct midcomms_node *node, uint32_t seq) --- 588 unchanged lines hidden (view full) --- 1015 rcu_read_unlock(); 1016 srcu_read_unlock(&nodes_srcu, idx); 1017} 1018 1019static void dlm_fill_opts_header(struct dlm_opts *opts, uint16_t inner_len, 1020 uint32_t seq) 1021{ 1022 opts->o_header.h_cmd = DLM_OPTS; | 416 pr_debug("sending fin msg to node %d\n", node->nodeid); 417 dlm_midcomms_commit_mhandle(mh); 418 set_bit(DLM_NODE_FLAG_STOP_TX, &node->flags); 419 420 return 0; 421} 422 423static void dlm_receive_ack(struct midcomms_node *node, uint32_t seq) --- 588 unchanged lines hidden (view full) --- 1012 rcu_read_unlock(); 1013 srcu_read_unlock(&nodes_srcu, idx); 1014} 1015 1016static void dlm_fill_opts_header(struct dlm_opts *opts, uint16_t inner_len, 1017 uint32_t seq) 1018{ 1019 opts->o_header.h_cmd = DLM_OPTS; |
1023 opts->o_header.h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 1024 opts->o_header.h_nodeid = dlm_our_nodeid(); 1025 opts->o_header.h_length = DLM_MIDCOMMS_OPT_LEN + inner_len; 1026 opts->o_header.u.h_seq = seq; 1027 header_out(&opts->o_header); | 1020 opts->o_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); 1021 opts->o_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); 1022 opts->o_header.h_length = cpu_to_le16(DLM_MIDCOMMS_OPT_LEN + inner_len); 1023 opts->o_header.u.h_seq = cpu_to_le32(seq); |
1028} 1029 1030static void midcomms_new_msg_cb(void *data) 1031{ 1032 struct dlm_mhandle *mh = data; 1033 1034 atomic_inc(&mh->node->send_queue_cnt); 1035 --- 424 unchanged lines hidden (view full) --- 1460 1461 switch (h->h_version) { 1462 case cpu_to_le32(DLM_VERSION_3_1): 1463 break; 1464 default: 1465 switch (h->h_cmd) { 1466 case DLM_OPTS: 1467 if (!h->u.h_seq) | 1024} 1025 1026static void midcomms_new_msg_cb(void *data) 1027{ 1028 struct dlm_mhandle *mh = data; 1029 1030 atomic_inc(&mh->node->send_queue_cnt); 1031 --- 424 unchanged lines hidden (view full) --- 1456 1457 switch (h->h_version) { 1458 case cpu_to_le32(DLM_VERSION_3_1): 1459 break; 1460 default: 1461 switch (h->h_cmd) { 1462 case DLM_OPTS: 1463 if (!h->u.h_seq) |
1468 h->u.h_seq = rd->node->seq_send++; | 1464 h->u.h_seq = cpu_to_le32(rd->node->seq_send++); |
1469 break; 1470 default: 1471 break; 1472 } 1473 break; 1474 } 1475} 1476 --- 20 unchanged lines hidden --- | 1465 break; 1466 default: 1467 break; 1468 } 1469 break; 1470 } 1471} 1472 --- 20 unchanged lines hidden --- |