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>,
Bud Brown <bubrown@redhat.com>
Subject: Re: [PATCH 0/4] scsi: 64-bit LUN support
Date: Thu, 04 Apr 2013 12:17:32 +0200 [thread overview]
Message-ID: <515D533C.1070809@suse.de> (raw)
In-Reply-To: <51587619.1060208@redhat.com>
On 03/31/2013 07:44 PM, Tomas Henzl wrote:
> On 03/30/2013 05:53 PM, Hannes Reinecke wrote:
>> On 03/29/2013 05:32 PM, Tomas Henzl wrote:
[ .. ]
>>>
>>> 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?
>
> This is not directly related to your 64bit patch, I just 'used' this thread
> to discuss another issue - sorry.
>
Yeah, and thereby decreasing the chance of getting my patchset in :-(
>>
>> 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.
>
> What we can do is to decode the LUN and compare it to max_lun provided by the driver,
> I think that sg_luns is able to do that, so what is needed is just to follow the SAM.
>
> I have seen reports of problem on three different drivers connected to various
> external storage, all of them having the same basic reason - the driver sets a max_lun
> and then LUN comes encoded with a newer addressing method and something like this is shown
> 'kernel: scsi: host 2 channel 0 id 2 lun16643 has a LUN larger than allowed by the host adapter'
>
> Decoding the real LUN value would fix this problem, by decoding is only meant the use in
> scsi_report_lun_scan. The LUN would be stored exactly the same way as it is now.
> I know we can patch the certain drivers too, but when max_lun were what the name says
> - max LU number, it would fix my problem very easy.
>
Errm.
No. Decoding LUNs is _evil_. It has only a relevance on the target,
and even then it might choose to ignore it.
So we cannot try to out-guess the target here.
The error you're reporting is that lpfc is setting max_luns to
'255', which of course is less than 16643. Increasing max_luns on
lpfc to '0xFFFF' will fix your problem; nothing to do with 64-bit
LUNs ...
>>
>> 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
>
> This means in fact only 32 or 64 bit - so a single bit flag is enough?
>
No, it is not.
We have SPI narrow with max_luns = 8, SPI wide with max_luns = 16,
some (older) FC HBAs supporting only 8 or 16 bits LUNs, some RAID
arrays supporting 32-bit LUNs etc.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-04-04 10:17 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
2013-03-31 17:44 ` Tomas Henzl
2013-04-04 10:17 ` Hannes Reinecke [this message]
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=515D533C.1070809@suse.de \
--to=hare@suse.de \
--cc=Elliott@hp.com \
--cc=bubrown@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.