Re: [PATCH] Recognize missing LUNs for non-standard devices

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

 



Alan Stern wrote:
> Some protocols (like USB UFI) or devices that don't adhere to the SCSI
> standard may indicate a nonexistent LUN by returning INQUIRY information
> with Peripheral Device Type set to 0x1f (unknown or none) and Peripheral
> Qualifier set to 0 instead of 3 as the spec requires.  This patch (as650)
> causes PDT = 0x1f to be recognized as no LUN present regardless of the
> qualifier value, if the SCSI level is equal to 0.

This patch will break the ipr driver. The ipr adapter firmware reports a
logical scsi device which is used for RAID configuration. It reports
a Peripheral Device Type of 0x1f and a scsi level of 0, since it does
not claim compliance with any scsi level. 

Brian

> 
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> 
> ---
> James:
> 
> Since nobody objected when I proposed this last week, I'm now submitting 
> it as a real patch.
> 
> Alan Stern
> 
> 
> Index: usb-2.6/drivers/scsi/scsi_scan.c
> ===================================================================
> --- usb-2.6.orig/drivers/scsi/scsi_scan.c
> +++ usb-2.6/drivers/scsi/scsi_scan.c
> @@ -873,6 +873,19 @@ static int scsi_probe_and_add_lun(struct
>  		goto out_free_result;
>  	}
>  
> +	/*
> +	 * Non-standard SCSI devices may set the PDT to 0x1f (unknown or
> +	 * no device type) instead of using the peripheral qualifier to
> +	 * indicate that no LUN is present.  For example, USB UFI does this.
> +	 */
> +	if (sdev->scsi_level == 0 && (result[0] & 0x1f) == 0x1f) {
> +		SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO
> +					"scsi scan: peripheral device type"
> +					" of 31, no device added\n"));
> +		res = SCSI_SCAN_TARGET_PRESENT;
> +		goto out_free_result;
> +	}
> +
>  	res = scsi_add_lun(sdev, result, &bflags);
>  	if (res == SCSI_SCAN_LUN_PRESENT) {
>  		if (bflags & BLIST_KEY) {
> 
> -
> : 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
> 


-- 
Brian King
eServer Storage I/O
IBM Linux Technology Center
-
: 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