On 02/03/2015 06:28 PM, micha...@cs.wisc.edu wrote:
> From: Mike Christie <micha...@cs.wisc.edu>
> 
> iBFT and non-iBFT drivers use the same iscsi boot sysfs
> interface. For iBFT we just directly export whatever
> is left by the FW. For non-iBFT drivers we do vendor
> specific commands to get the info or its just hard coded.
> 
> This patch syncs up how non-iBFT drivers export boot flag
> info. The boot flags being defined in this patch match
> the iBFT flags that indicate if the boot info found was
> valid and if it was used for to boot with.
> 
> Signed-off-by: Mike Christie <micha...@cs.wisc.edu>
> ---
>  drivers/scsi/be2iscsi/be_main.c  | 8 +++++---
>  drivers/scsi/qla4xxx/ql4_def.h   | 1 -
>  drivers/scsi/qla4xxx/ql4_os.c    | 6 ++++--
>  include/linux/iscsi_boot_sysfs.h | 3 +++
>  4 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
> index f319340..cd4aff9 100644
> --- a/drivers/scsi/be2iscsi/be_main.c
> +++ b/drivers/scsi/be2iscsi/be_main.c
> @@ -429,7 +429,8 @@ static ssize_t beiscsi_show_boot_tgt_info(void *data, int 
> type, char *buf)
>                            auth_data.chap.intr_secret);
>               break;
>       case ISCSI_BOOT_TGT_FLAGS:
> -             rc = sprintf(str, "2\n");
> +             rc = sprintf(str, "%u\n",
> +                          ISCSI_BOOT_FLAG_VALID | 
> ISCSI_BOOT_FLAG_FW_BOOT_SEL);
>               break;
>       case ISCSI_BOOT_TGT_NIC_ASSOC:
>               rc = sprintf(str, "0\n");
> @@ -466,8 +467,9 @@ static ssize_t beiscsi_show_boot_eth_info(void *data, int 
> type, char *buf)
>  
>       switch (type) {
>       case ISCSI_BOOT_ETH_FLAGS:
> -             rc = sprintf(str, "2\n");
> -             break;
> +             rc = sprintf(str, "%u\n",
> +                          ISCSI_BOOT_FLAG_VALID | 
> ISCSI_BOOT_FLAG_FW_BOOT_SEL);
> +             break;
>       case ISCSI_BOOT_ETH_INDEX:
>               rc = sprintf(str, "0\n");
>               break;
> diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
> index 8f6d0fb..0380669 100644
> --- a/drivers/scsi/qla4xxx/ql4_def.h
> +++ b/drivers/scsi/qla4xxx/ql4_def.h
> @@ -796,7 +796,6 @@ struct scsi_qla_host {
>  #define CHAP_DMA_BLOCK_SIZE    512
>       struct workqueue_struct *task_wq;
>       unsigned long ddb_idx_map[MAX_DDB_ENTRIES / BITS_PER_LONG];
> -#define SYSFS_FLAG_FW_SEL_BOOT 2
>       struct iscsi_boot_kset *boot_kset;
>       struct ql4_boot_tgt_info boot_tgt;
>       uint16_t phy_port_num;
> diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
> index 6d25879..b63985f 100644
> --- a/drivers/scsi/qla4xxx/ql4_os.c
> +++ b/drivers/scsi/qla4xxx/ql4_os.c
> @@ -5705,7 +5705,8 @@ static ssize_t qla4xxx_show_boot_eth_info(void *data, 
> int type, char *buf)
>  
>       switch (type) {
>       case ISCSI_BOOT_ETH_FLAGS:
> -             rc = sprintf(str, "%d\n", SYSFS_FLAG_FW_SEL_BOOT);
> +             rc = sprintf(str, "%d\n",
> +                          ISCSI_BOOT_FLAG_VALID | 
> ISCSI_BOOT_FLAG_FW_BOOT_SEL);
>               break;
>       case ISCSI_BOOT_ETH_INDEX:
>               rc = sprintf(str, "0\n");
> @@ -5814,7 +5815,8 @@ qla4xxx_show_boot_tgt_info(struct ql4_boot_session_info 
> *boot_sess, int type,
>                            (char *)&boot_conn->chap.intr_secret);
>               break;
>       case ISCSI_BOOT_TGT_FLAGS:
> -             rc = sprintf(str, "%d\n", SYSFS_FLAG_FW_SEL_BOOT);
> +             rc = sprintf(str, "%d\n",
> +                          ISCSI_BOOT_FLAG_VALID | 
> ISCSI_BOOT_FLAG_FW_BOOT_SEL);
>               break;
>       case ISCSI_BOOT_TGT_NIC_ASSOC:
>               rc = sprintf(str, "0\n");
> diff --git a/include/linux/iscsi_boot_sysfs.h 
> b/include/linux/iscsi_boot_sysfs.h
> index 2a8b165..3f273d6 100644
> --- a/include/linux/iscsi_boot_sysfs.h
> +++ b/include/linux/iscsi_boot_sysfs.h
> @@ -16,6 +16,9 @@
>  #ifndef _ISCSI_BOOT_SYSFS_
>  #define _ISCSI_BOOT_SYSFS_
>  
> +#define ISCSI_BOOT_FLAG_VALID                0x1
> +#define ISCSI_BOOT_FLAG_FW_BOOT_SEL  0x2
> +
>  /*
>   * The text attributes names for each of the kobjects.
>  */
> 

Reviewed-by: Lee Duncan <ldun...@suse.com>

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

Reply via email to