mirror of https://gitee.com/openkylin/linux.git
IB/iser: Replace fastreg descriptor valid bool with indicators container
In T10-PI support we will have memory keys for protection buffers and signature transactions. We prefer to compact indicators rather than keeping multiple bools. This commit does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Alex Tabachnik <alext@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
65198d6b84
commit
73bc06b7ed
|
@ -280,13 +280,17 @@ struct iser_device {
|
|||
enum iser_data_dir cmd_dir);
|
||||
};
|
||||
|
||||
enum iser_reg_indicator {
|
||||
ISER_DATA_KEY_VALID = 1 << 0,
|
||||
};
|
||||
|
||||
struct fast_reg_descriptor {
|
||||
struct list_head list;
|
||||
/* For fast registration - FRWR */
|
||||
struct ib_mr *data_mr;
|
||||
struct ib_fast_reg_page_list *data_frpl;
|
||||
/* Valid for fast registration flag */
|
||||
bool valid;
|
||||
/* registration indicators container */
|
||||
u8 reg_indicators;
|
||||
};
|
||||
|
||||
struct iser_conn {
|
||||
|
|
|
@ -479,7 +479,7 @@ static int iser_fast_reg_mr(struct iscsi_iser_task *iser_task,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!desc->valid) {
|
||||
if (!(desc->reg_indicators & ISER_DATA_KEY_VALID)) {
|
||||
memset(&inv_wr, 0, sizeof(inv_wr));
|
||||
inv_wr.wr_id = ISER_FASTREG_LI_WRID;
|
||||
inv_wr.opcode = IB_WR_LOCAL_INV;
|
||||
|
@ -514,7 +514,7 @@ static int iser_fast_reg_mr(struct iscsi_iser_task *iser_task,
|
|||
iser_err("fast registration failed, ret:%d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
desc->valid = false;
|
||||
desc->reg_indicators &= ~ISER_DATA_KEY_VALID;
|
||||
|
||||
sge->lkey = desc->data_mr->lkey;
|
||||
sge->addr = desc->data_frpl->page_list[0] + offset;
|
||||
|
|
|
@ -296,7 +296,7 @@ iser_create_fastreg_desc(struct ib_device *ib_device, struct ib_pd *pd,
|
|||
}
|
||||
iser_info("Create fr_desc %p page_list %p\n",
|
||||
desc, desc->data_frpl->page_list);
|
||||
desc->valid = true;
|
||||
desc->reg_indicators |= ISER_DATA_KEY_VALID;
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue