Re: [PATCH 6/7] be2iscsi: Logout of FW Boot Session

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/17/2015 04:34 AM, John Soni Jose wrote:
>  Once be2iscsi driver is loaded and operational close Boot
>  session established by FW.
> 
> Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx>
> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx>
> ---
>  drivers/scsi/be2iscsi/be_cmds.h  |   12 ++++++
>  drivers/scsi/be2iscsi/be_iscsi.c |   12 ++++++
>  drivers/scsi/be2iscsi/be_main.c  |    1 +
>  drivers/scsi/be2iscsi/be_main.h  |    2 +
>  drivers/scsi/be2iscsi/be_mgmt.c  |   70 ++++++++++++++++++++++++++++++++++++++
>  drivers/scsi/be2iscsi/be_mgmt.h  |    3 ++
>  6 files changed, 100 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/scsi/be2iscsi/be_cmds.h b/drivers/scsi/be2iscsi/be_cmds.h
> index d0097a2..0586815 100644
> --- a/drivers/scsi/be2iscsi/be_cmds.h
> +++ b/drivers/scsi/be2iscsi/be_cmds.h
> @@ -304,6 +304,17 @@ struct mgmt_auth_method_format {
>  	struct	mgmt_chap_format chap;
>  } __packed;
>  
> +struct be_cmd_req_logout_fw_sess {
> +	struct be_cmd_req_hdr hdr;	/* dw[4] */
> +	uint32_t session_handle;
> +} __packed;
> +
> +struct be_cmd_resp_logout_fw_sess {
> +	struct be_cmd_resp_hdr hdr;	/* dw[4] */
> +#define BEISCSI_MGMT_SESSION_CLOSE 0x20
> +	uint32_t session_status;
> +} __packed;
> +
>  struct mgmt_conn_login_options {
>  	u8 flags;
>  	u8 header_digest;
> @@ -1136,6 +1147,7 @@ struct be_cmd_get_all_if_id_req {
>  #define OPCODE_ISCSI_INI_CFG_GET_HBA_NAME	6
>  #define OPCODE_ISCSI_INI_CFG_SET_HBA_NAME	7
>  #define OPCODE_ISCSI_INI_SESSION_GET_A_SESSION  14
> +#define OPCODE_ISCSI_INI_SESSION_LOGOUT_TARGET	 24
>  #define OPCODE_ISCSI_INI_DRIVER_REOPEN_ALL_SESSIONS 36
>  #define OPCODE_ISCSI_INI_DRIVER_OFFLOAD_SESSION 41
>  #define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION 42
> diff --git a/drivers/scsi/be2iscsi/be_iscsi.c b/drivers/scsi/be2iscsi/be_iscsi.c
> index 508f017..566d27c 100644
> --- a/drivers/scsi/be2iscsi/be_iscsi.c
> +++ b/drivers/scsi/be2iscsi/be_iscsi.c
> @@ -998,6 +998,18 @@ int beiscsi_conn_start(struct iscsi_cls_conn *cls_conn)
>  	beiscsi_set_params_for_offld(beiscsi_conn, &params);
>  	beiscsi_offload_connection(beiscsi_conn, &params);
>  	iscsi_conn_start(cls_conn);
> +
> +	/* Logout from the FW boot session */
> +	if (phba->fw_boot_state) {
> +		int rc;
> +
> +		rc = beiscsi_logout_fw_sess(phba,
> +			phba->boot_sess.session_handle);
> +
> +		if (!rc)
> +			phba->fw_boot_state = 0;
> +	}
> +
>  	return 0;
>  }

How do you know the boot session being logged out is the one we are
replacing and logging into at this time? If userspace logged into
sessions out of order and you logged into a non root one first, then
would this kill the session that we might need to access still?

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux