1move pthread_cond_t fields to the end of structs, because 2their size changed from RHAS4 to RHAS5. In all the cases, 3the intervening entries were not accessed outside libibverbs 4(in non-XRC applications). 5 6The structs modified are: ibv_cq, ibv_srq, and ibv_qp. 7(OFED 1.3 libibverbs commit 4c29c266a3c0932cd06e8f2b4e238aecd3c65dcc) 8 9Pointed out by: Changqing Tang <changquing.tang@hp.com> 10 11Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> 12 13Index: 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 { 18 struct ibv_pd *pd; 19 uint32_t handle; 20 21- pthread_mutex_t mutex; 22- pthread_cond_t cond; 23 uint32_t events_completed; 24 25 uint32_t xrc_srq_num; 26 struct ibv_xrc_domain *xrc_domain; 27 struct ibv_cq *xrc_cq; 28+ 29+ pthread_mutex_t mutex; 30+ pthread_cond_t cond; 31 }; 32 33 struct ibv_qp { 34@@ -586,11 +587,12 @@ struct ibv_qp { 35 enum ibv_qp_state state; 36 enum ibv_qp_type qp_type; 37 38- pthread_mutex_t mutex; 39- pthread_cond_t cond; 40 uint32_t events_completed; 41 42 struct ibv_xrc_domain *xrc_domain; 43+ 44+ pthread_mutex_t mutex; 45+ pthread_cond_t cond; 46 }; 47 48 struct ibv_comp_channel { 49@@ -606,10 +608,11 @@ struct ibv_cq { 50 uint32_t handle; 51 int cqe; 52 53- pthread_mutex_t mutex; 54- pthread_cond_t cond; 55 uint32_t comp_events_completed; 56 uint32_t async_events_completed; 57+ 58+ pthread_mutex_t mutex; 59+ pthread_cond_t cond; 60 }; 61 62 struct ibv_ah { 63