Subject: Re: 64-bit LUN support
To: Jonathan Stone <firstname.lastname@example.org>
From: Manuel Bouyer <email@example.com>
Date: 01/07/2005 12:11:39
On Thu, Jan 06, 2005 at 05:21:36PM -0800, Jonathan Stone wrote:
> >The other part of the question is what to do about devices that don't=20
> >support REPORT_LUNS. I think some sort of fall-back to the old-style "max=
> >LUNs" method would be best.
> Hi Bill,
> Its been years time since I checked the T10/T11 drafts, but as best I
> recall, there's some SCSI level (SCSI-3? The last ANSI level?) where
> any device claiming that level is required(?) to implement
> I've also seen devices just below that level which just won't talk
> happily to an initiator unless the initiator sends them a REPORT_LUNS.
> (The Compaq RA4000 RAID array was infamous for that. IIRC, the Linux
> driver for the recommended Compaq/Aglient controller sent a REPORT
> LUNs from inside the driver, then remapped the native LUNs to 8-bit
> LUNS for upper layers; or something equally distaseful.)
> So (though it may well be what you planned) I suggest something like:
> 1. Sending REPORT LUNS to any devices which report themselves as SCSI-3
> 2. Add a quirk table for SCSI-2 devices which reallyh want a REPORT_LUNS;
> 3. Fall back to the linear probe for all other devices not covered by 1 and 2,
> which don't have the quirk that they're a single-LUn device that
> incorrectly reports itself present on all LUNs.
This looks reasonable.
> Havent thought about the storage issues, tho.
One question is how much Luns these devices will really have.
If there are a lot of them we may have issues with the chan_periphtab
has table. Right now it's 16. But if a periph can have hunderd of LUNs
(and I guess some have, otherwise what would be the purpose of 64bit LUN ?)
then we'll have a problem in scsipi_lookup_periph(). chan_periphtab's size will
probably have to be adjusted dynamically.
There are a few places where we do a 0->chan_nluns loop in scsipi_base.c,
and some drivers. The purpose it to find either one, or all LUNs of a
target. Because of this, switching to a per-target periphtab list may make
Manuel Bouyer <firstname.lastname@example.org>
NetBSD: 26 ans d'experience feront toujours la difference