Good point; INQUIRY, REPORT LUNS, REQUEST SENSE, and NOTIFY DATA TRANSFER 
DEVICE do not report unit attention conditions.

The comment should be changed, since that's not the reason for any retries here:

> +     /*
> +      * We can get a UNIT ATTENTION, for example a power on/reset, so
> +      * retry a few times (like sd.c does for TEST UNIT READY).
> +      * Experience shows some combinations of adapter/devices get at
> +      * least two power on/resets.
> +      *
> +      * Illegal requests (for devices that do not support REPORT LUNS)
> +      * should come through as a check condition, and will not generate
> +      * a retry.
> +      */


> -----Original Message-----
> From: Jeremy Linton [mailto:[email protected]]
> Sent: Thursday, 07 March, 2013 10:07 AM
> To: Elliott, Robert (Server Storage)
> Cc: Rob Evers; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH V3 1/4] Encapsulate scsi_do_report_luns
> 
> On 3/7/2013 9:47 AM, Elliott, Robert (Server Storage) wrote:
> 
> >> +int scsi_do_report_luns(struct scsi_device *sdev, int length, +    * We
> >> can get a UNIT ATTENTION, for example a power on/reset, so +        *
> retry a
> >> few times (like sd.c does for TEST UNIT READY). +   * Experience shows
> >> some combinations of adapter/devices get at +       * least two power
> >> on/resets. +       for (retries = 0; retries < 3; retries++) { +
> >> SCSI_LOG_SCAN_BUS(3, printk(KERN_INFO "scsi scan: Sending" +
>                         "
> >> REPORT LUNS to %s (try %d)\n", devname, +
> retries)); +          result =
> >> scsi_execute_req(sdev, scsi_cmd, DMA_FROM_DEVICE, +
>                         lun_data,
> >> length, &sshdr, +                                    SCSI_TIMEOUT + 4 *
> HZ, 3, NULL);
> >
> > There's no guarantee that you'll get no more than two unit attention
> > conditions at any particular time;
> 
>       Actually, if your getting any unit attentions from a report luns the
> device
> is broken. SAM5 5.14
> 
> "if a REPORT LUNS command enters the enabled command state, the device
> server
> shall process the REPORTS LUNS command and shall not report any unit
> attention
> conditions"
> 
> This is not new behavior either.
> 
> 
> There are a couple other places that say similar things, INQUIRY and REPORT
> LUNS get special status for UA. Which is how you can scan a target/lun
> configuration without interfering with its operation. Personally, I think the
> TUR in the mid layer is incorrect as the TUR functionality needs to be hoisted
> higher up the stack and the mid layer needs to use inquiry to validate device
> communications. (got a patch for that too, but no point in posting it, as it
> will be ignored).
> 

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

Reply via email to