1 move pthread_cond_t fields to the end of structs, because
2 their size changed from RHAS4 to RHAS5. In all the cases,
3 the intervening entries were not accessed outside libibverbs
4 (in non-XRC applications).
6 The structs modified are: ibv_cq, ibv_srq, and ibv_qp.
7 (OFED 1.3 libibverbs commit 4c29c266a3c0932cd06e8f2b4e238aecd3c65dcc)
9 Pointed out by: Changqing Tang <changquing.tang@hp.com>
11 Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
13 Index: libibverbs/include/infiniband/verbs.h
14 ===================================================================
15 --- libibverbs.orig/include/infiniband/verbs.h 2009-11-01 15:18:24.585280000 +0200
16 +++ libibverbs/include/infiniband/verbs.h 2009-11-01 15:18:28.759417000 +0200
17 @@ -565,13 +565,14 @@ struct ibv_srq {
21 - pthread_mutex_t mutex;
22 - pthread_cond_t cond;
23 uint32_t events_completed;
26 struct ibv_xrc_domain *xrc_domain;
27 struct ibv_cq *xrc_cq;
29 + pthread_mutex_t mutex;
30 + pthread_cond_t cond;
34 @@ -586,11 +587,12 @@ struct ibv_qp {
35 enum ibv_qp_state state;
36 enum ibv_qp_type qp_type;
38 - pthread_mutex_t mutex;
39 - pthread_cond_t cond;
40 uint32_t events_completed;
42 struct ibv_xrc_domain *xrc_domain;
44 + pthread_mutex_t mutex;
45 + pthread_cond_t cond;
48 struct ibv_comp_channel {
49 @@ -606,10 +608,11 @@ struct ibv_cq {
53 - pthread_mutex_t mutex;
54 - pthread_cond_t cond;
55 uint32_t comp_events_completed;
56 uint32_t async_events_completed;
58 + pthread_mutex_t mutex;
59 + pthread_cond_t cond;