From 22d7360b5e12e0b3fe1c520227acfeae744cb2a1 Mon Sep 17 00:00:00 2001 From: wanghonghao Date: Mon, 9 Dec 2019 11:58:22 +0800 Subject: [PATCH] iser: fix struct iser_rx_desc iSER header is followed by iSCSI PDU without any pad in an RCaP Message. Signed-off-by: wanghonghao --- include/iser-private.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/iser-private.h b/include/iser-private.h index ff38793..b8b38db 100644 --- a/include/iser-private.h +++ b/include/iser-private.h @@ -18,6 +18,7 @@ #define __iser_private_h__ #include +#include #include #include "iscsi-private.h" @@ -118,15 +119,14 @@ struct iser_hdr { struct iser_rx_desc { struct iser_hdr iser_header; - char pad1[4]; char iscsi_header[ISCSI_RAW_HEADER_SIZE]; - char data[ISER_RECV_DATA_SEG_LEN]; - struct ibv_sge rx_sg; + char data[ISER_RECV_DATA_SEG_LEN]; + char pad[4]; struct ibv_mr *hdr_mr; - char pad2[24]; + struct ibv_sge rx_sg; }; -static_assert(sizeof(struct iser_rx_desc) == 256, "iser_rx_desc size != 256"); +static_assert(offsetof(struct iser_rx_desc, hdr_mr) % 8 == 0, "iser_rx_desc is not aligned on 8-byte boundary"); /** * struct iser_tx_desc - iSER TX descriptor (for send wr_id)