From: Hannes Reinecke <hare@suse.de>
To: Tomas Henzl <thenzl@redhat.com>
Cc: Chad Dupuis <chad.dupuis@qlogic.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
James Bottomley <jbottomley@parallels.com>,
Jeremy Linton <jlinton@tributary.com>,
Robert Elliott <Elliott@hp.com>,
Bart Van Assche <bvanassche@acm.org>
Subject: Re: [PATCH 0/4] scsi: 64-bit LUN support
Date: Sat, 30 Mar 2013 17:53:55 +0100 [thread overview]
Message-ID: <515718A3.1080302@suse.de> (raw)
In-Reply-To: <5155C235.40807@redhat.com>
On 03/29/2013 05:32 PM, Tomas Henzl wrote:
> On 03/27/2013 08:37 AM, Hannes Reinecke wrote:
>> On 03/26/2013 07:00 PM, Chad Dupuis wrote:
>>>
>>>
>>> On Tue, 19 Feb 2013, Hannes Reinecke wrote:
>>>
>>>> This patchset updates the SCSI midlayer to use 64-bit LUNs
>>>> internally.
>>>> It eliminates the need to limit the number of LUNs artificially to
>>>> avoid aliasing issues; the SCSI midlayer can now accept any LUN
>>>> presented
>>>> to it.
>>>>
>>>> The LLDD specific settings for 'max_lun' have been left untouched;
>>>> it should be raised to '~0' if the HBA supports 64-bit LUNs
>>>> internally.
>>>> However, it is up to the driver maintainer to raise that limit.
>>>>
>>>> Hannes Reinecke (4):
>>>> scsi_scan: Fixup scsilun_to_int()
>>>> scsi: use 64-bit LUNs
>>>> scsi: use 64-bit value for 'max_luns'
>>>> scsi: Remove CONFIG_SCSI_MULTI_LUN
>>>>
>>>
>>> Hannes,
>>>
>>> As we've reviewed these patches internally, the one question that keeps
>>> coming up is how do we handle hardware that cannot handle a 64-bit LUN
>>> address? For example, some of our older 2G/bps hardware can only
>>> handle a 16-bit LUN address. Currently we convert the u32 value to u16.
>> > Do we do the same for the 64-bit conversion? Can a way be
>> devised to
>>> "opt-out" of receiving a 64-bit address in the first place (IIRC this
>> > was an option in the v1 patch set)?
>>>
>> Yes, you can.
>>
>> The idea here is to let 'max_luns' control this behaviour;
>> 'max_luns' is the highest LUN number the host can support.
>> So for 16-bit LUN you would set max_luns to '0xFFFF', and for 32-bit
>> LUN addresses you would be setting max_luns to '0xFFFFFFFF'.
>
> Hi all,
>
> in scsi_report_lun_scan is max_lun compared with the result of scsilun_to_int,
> but in that value is also stored the address method. This means, that we compare
> the max_lun to a LUN 'handle' which doesn't seem to make much sense.
> This makes that test dependent on which address method is used and not
> only to the LUN number which is I think expected.
> The solution is to have a new function 'scsilun_to_num', (I can send a patch)
> or let the individual drivers set the max_lun to -1 and test for the allowed LUNs
> in the driver.
>
You sure this is necessary?
I would like to avoid having to parse the LUN number for validity as we
cannot guarantee this check has any meaning for the target.
The only authoritative check can be made by the target.
In the 64-bit context the max_luns should rather be interpreted as a
'max bits' setting, ie the number of _bits_ per LUN number the HBA is
able to transport.
But renaming 'max_luns' to 'max_bits' is a bit pointless, as it would
break backwards compability for no real gain.
So with my patchset we have a two-step LUN validation:
- max_luns controls the max LUN number
(read: max number of bits per LUN) which can be transported
to the target
- The target validates the transported LUN number.
Hence I don't think we would need an additional function here.
But yes, we need to update scsi_debug as this should validate the
incoming LUN number.
As should the target mode drivers.
But this can be left for later once the 64-bit changes are in.
Cheers,
Hannes
next prev parent reply other threads:[~2013-03-30 15:54 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-19 8:17 [PATCH 0/4] scsi: 64-bit LUN support Hannes Reinecke
2013-02-19 8:18 ` [PATCH 1/4] scsi_scan: Fixup scsilun_to_int() Hannes Reinecke
2013-02-19 8:18 ` [PATCH 2/4] scsi: use 64-bit LUNs Hannes Reinecke
2013-02-25 15:33 ` Steffen Maier
2013-02-25 15:52 ` Hannes Reinecke
2013-02-25 17:08 ` Douglas Gilbert
2013-02-19 8:18 ` [PATCH 3/4] scsi: use 64-bit value for 'max_luns' Hannes Reinecke
2013-02-19 16:30 ` Michael Christie
2013-02-19 16:33 ` James Bottomley
2013-02-20 6:43 ` Hannes Reinecke
2013-02-19 8:18 ` [PATCH 4/4] scsi: Remove CONFIG_SCSI_MULTI_LUN Hannes Reinecke
2013-02-21 16:15 ` [PATCH 0/4] scsi: 64-bit LUN support Elliott, Robert (Server Storage)
2013-02-21 16:32 ` James Bottomley
2013-02-25 16:02 ` Douglas Gilbert
2013-02-23 9:31 ` Hannes Reinecke
2013-03-26 18:00 ` Chad Dupuis
2013-03-26 19:03 ` Douglas Gilbert
2013-03-27 7:37 ` Hannes Reinecke
2013-03-27 11:58 ` Chad Dupuis
2013-03-29 16:32 ` Tomas Henzl
2013-03-30 16:53 ` Hannes Reinecke [this message]
2013-03-31 17:44 ` Tomas Henzl
2013-04-04 10:17 ` Hannes Reinecke
2013-04-05 15:24 ` James Smart
2013-04-08 14:06 ` Hannes Reinecke
2013-04-08 15:37 ` Tomas Henzl
2013-04-09 7:38 ` Hannes Reinecke
2013-04-09 14:27 ` Elliott, Robert (Server Storage)
2013-04-09 14:52 ` Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=515718A3.1080302@suse.de \
--to=hare@suse.de \
--cc=Elliott@hp.com \
--cc=bvanassche@acm.org \
--cc=chad.dupuis@qlogic.com \
--cc=jbottomley@parallels.com \
--cc=jlinton@tributary.com \
--cc=linux-scsi@vger.kernel.org \
--cc=thenzl@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).