Re: [PATCH] scsi_lib: Decode T-10 vendor IDs

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

 



On Fri, May 06, 2016 at 10:35:07AM +0200, Hannes Reinecke wrote:
> Some arrays / HBAs will only present T-10 vendor IDs, so we
> should be decoding them, too.
> 
> Suggested-by: Paul Mackerras <paulus@xxxxxxxxxx>
> Signed-off-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
>  drivers/scsi/scsi_lib.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
> index b920c5d..a6158f8 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -3064,6 +3064,7 @@ int scsi_vpd_lun_id(struct scsi_device *sdev, char *id, size_t id_len)
>  	 * - EUI-64 based 12-byte
>  	 * - NAA IEEE Registered
>  	 * - NAA IEEE Extended
> +	 * - T10 Vendor ID
>  	 * as longer descriptors reduce the likelyhood
>  	 * of identification clashes.
>  	 */
> @@ -3082,6 +3083,21 @@ int scsi_vpd_lun_id(struct scsi_device *sdev, char *id, size_t id_len)
>  			goto next_desig;
>  
>  		switch (d[1] & 0xf) {
> +		case 0x1:
> +			/* T-10 Vendor ID */
> +			if (cur_id_size > d[3])
> +				break;
> +			/* Prefer anything */
> +			if (cur_id_type > 0x01)
> +				break;

This doesn't work as desired because cur_id_type is initialized to
0xff.  The test needs to be:

+			if (cur_id_type > 0x01 && cur_id_type != 0xff)
+				break;

With that change it works (and you could put my tested-by on it).

Thanks,
Paul.
--
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