Eric Youngdale wrote:

>     Originally when I first added support for logical units, we only did the
> INQUIRY we had problems with devices which falsely indicated the presence of
> devices on all logical units.  I suppose it was mainly because I failed to

In my previous company's test lab we still up to last year often found devices
that didn't return the right INQUIRY peripheral qualifier/device type to
indicate a LUN > 0 isn't supported. The only option I know of  is to continue
using the drivers/scsi/scsi.c BLIST_NOLUN  option for these devices when they
are found.

> one.   The point is that this sort of monstrosity destroyed the symmetry
> that theoretically should exist where each logical unit is in theory a sort
> of clone of the other logical units for that device.  Do these sorts of
> things still exist any more?
>
>     Anyways, my long-winded answer is that I gather from what you are saying
> above that we should first do an INQUIRY, and if the INQUIRY succeeds, then
> we perform a scan on all luns for the device in question.

You're right;  A multi-LUN device's LUNs definitely do not have to be all of
the same device type. So contraty to what I said the Mid-Level driver would
still scan all LUNs of a device. But it should top scanning for LUNs once the
INQUIRY peripheral qualifier/device type indicates a LUN isn't present - there
are never holes in the LUN address space. Or if the LUN 0 INQUIRY data
indicates LUN 0 supports REPORT LUNS , then REPORT LUNS should be used to
detect the device's LUNs.

So after each LUN is detected, then the the Mid-Level driver would pass the
device to the right Upper-Level driver (or all of them as it does now). The
Upper-Level driver would honor the INQUIRY  Medium Changer bit and know that it
wouldn't make sense to issue a TEST UNIT READY for each LUN of the Medium
Changer device.

Bob Frey
[EMAIL PROTECTED]



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to