From: James Bottomley <James.Bottomley@SteelEye.com>
To: ltuikov@yahoo.com
Cc: Luben Tuikov <luben_tuikov@adaptec.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 2.6.13 5/14] sas-class: sas_discover.c Discover process (end devices)
Date: Sat, 10 Sep 2005 11:01:21 -0500 [thread overview]
Message-ID: <1126368081.4813.46.camel@mulgrave> (raw)
In-Reply-To: <20050910024454.20602.qmail@web51613.mail.yahoo.com>
On Fri, 2005-09-09 at 19:44 -0700, Luben Tuikov wrote:
> > this one completely duplicates the
> > mid-layer infrastructure for handling devices with Logical Units.
>
> No, it does *not*. James, you have _stop_ spreading FUD, relying
> that other people have not read the SCSI Core code.
We have an infrastructure in the mid-layer for doing report lun scans.
You have a parallel one in your code. In my book, that's duplication.
> See here:
> SCSI Core has *no representation* of a SCSI Device with a
> SCSI Target Port.
A scsi target is represented by struct scsi_target.
> I've _clearly_ outlined that in the comments of the code,
> which you _conveniently_ did _not_ cut and paste here.
>
> I've been asking for a generic SCSI Target representation for
> the last 5 years, which you conventiently skip to mention.
> Or shall we search linux-scsi archives?
>
> As to duplication: NOT!
>
> Why?
>
> Look at scsi_scan_target() declaration:
>
> void scsi_scan_target(struct device *parent, unsigned int channel,
> unsigned int id, unsigned int lun, int rescan);
>
> Channel, id, lun, rescan? WTF?
So you want to rehash that argument again.
Either you can do what others like FC currently do:
http://marc.theaimsgroup.com/?l=linux-scsi&m=110546207223304
Or you can follow the recipe you were given for making the mid-layer use
arbitrary identifiers for the target
http://marc.theaimsgroup.com/?l=linux-scsi&m=112487476527470
Simply writing your own because you don't like the former and the
latter's too much work isn't acceptable.
> Do you see any of this in the proprely implemented LU discovery
> code in the SAS discovery code I submitted?
Yes, of course, I did notice the W_LUN support which we could do with in
scsi_report_lun_scan() if you'd care to play nicely with others.
> I asked for pure SCSI device with Target port implementation of
> scsi_target and _you_ rejected it about 4 years ago. Shall I search
> for this message in the linux-scsi archives?
You can ask for all the features you want ... however, unless you can
persuade someone else to do the implementation, you get to write the
code yourself...
> > > + * REPORT LUNS is mandatory. If a device doesn't support it,
> > > + * it is broken and you should return it. Nevertheless, we
> > > + * assume (optimistically) that the link hasn't been severed and
> > > + * that maybe we can get to the device anyhow.
> >
> > That's a surprisingly optimistic statement from someone who claims to
> > have worked in SCSI for so long. We have a huge list of heuristics for
>
> Ouch! Getting into the personal arena now, are we?
>
> James, how old are the blacklisted devices you talk of?
>
> How old are SAS devices?
>
> > devices that violate the standards in one way or another. We already
> > have a flag for a SCSI3 device that doesn't respond correctly to
> > REPORT_LUNS ... and we have a few other reports of potentially more
> > suspect devices.
>
> Are those devices SAS?
>
> Again, stop spreading FUD and talking as you know what you're talking about.
>
> "few other reports of potentially more suspect devices" -- is such
> a broad and vague statement that it isn't worth much.
>
> First are those SAS devices.
>
> Second, SAS devices being very recent have their firmware written
> to latest specs, and advertised as SPC-3 and SAM-3.
We have boatloads of devices that claim SCSI-n or SPC-n compliance then
fail in various ways. That's what the list in scsi_devinfo.c is all
about. I'm sure the manufacturers of those devices didn't intentionally
set out to violate the specs; however, what they actually released does.
I'm sure that SAS vendors will start out with the best of intentions
too ...
> > Now, if you did this properly and used the mid-layer infrastructure you
> > wouldn't have to worry about any of this.
> >
> > > +static int sas_do_lu_discovery(struct domain_device *dev)
> >
> > Please just handle targets ... scanning beyond targets is best handled
> > in generic code.
>
> I agree.
>
> But that generic code you talk about is complete *crap* and needs
> rewriting. When that generic code, can handle "SCSI device with
> a Target port" then I'd love to off load that to SCSI Core.
>
> In fact initially I _really_ tried to offload that to SCSI Core,
> but it didn't quite work, then I wrote LU discovery. Just run it on
> real hardware.
The practise of allowing Vendors to duplicate code just because they
didn't like what's in the generic subsystem or because it lacks a
feature they need hasn't been acceptable for a long time now. Either
use what we have or fix it to do what you want.
James
next prev parent reply other threads:[~2005-09-10 16:01 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-09 19:40 [PATCH 2.6.13 5/14] sas-class: sas_discover.c Discover process (end devices) Luben Tuikov
2005-09-09 19:59 ` Nish Aravamudan
2005-09-09 20:11 ` Luben Tuikov
2005-09-09 23:25 ` James Bottomley
2005-09-10 2:44 ` Luben Tuikov
2005-09-10 5:39 ` Douglas Gilbert
2005-09-10 16:01 ` James Bottomley [this message]
2005-09-12 15:06 ` Luben Tuikov
2005-09-12 16:27 ` Patrick Mansfield
2005-09-12 20:08 ` Luben Tuikov
2005-09-13 9:05 ` Douglas Gilbert
2005-09-13 13:11 ` Luben Tuikov
2005-09-13 22:42 ` Patrick Mansfield
2005-09-14 12:28 ` Luben Tuikov
2005-09-14 17:13 ` Patrick Mansfield
2005-09-14 17:17 ` Luben Tuikov
2005-09-14 18:47 ` James Bottomley
2005-09-14 20:20 ` Luben Tuikov
2005-09-12 17:52 ` James Bottomley
2005-09-12 20:31 ` Luben Tuikov
2005-09-12 21:23 ` James Bottomley
2005-09-13 12:49 ` Luben Tuikov
2005-09-13 15:54 ` James Bottomley
2005-09-13 20:01 ` Luben Tuikov
2005-09-11 9:46 ` Christoph Hellwig
2005-09-12 6:17 ` Douglas Gilbert
2005-09-12 14:57 ` James Bottomley
2005-09-12 16:45 ` Patrick Mansfield
2005-09-12 17:21 ` James Bottomley
2005-09-12 18:46 ` Patrick Mansfield
2005-09-13 19:22 ` James Bottomley
2005-09-13 20:23 ` Luben Tuikov
2005-09-13 20:36 ` Matthew Wilcox
2005-09-13 21:02 ` Luben Tuikov
2005-09-13 21:37 ` Stefan Richter
2005-09-13 21:54 ` Luben Tuikov
2005-09-13 22:25 ` Patrick Mansfield
2005-09-14 5:22 ` Sergey Panov
2005-09-14 16:28 ` Patrick Mansfield
2005-09-14 12:13 ` Luben Tuikov
2005-09-14 4:57 ` Sergey Panov
2005-09-14 18:43 ` James Bottomley
2005-09-14 20:17 ` Luben Tuikov
2005-09-15 2:04 ` Sergey Panov
2005-09-12 20:20 ` Luben Tuikov
2005-09-12 20:09 ` Luben Tuikov
2005-09-12 19:39 ` Luben Tuikov
2005-09-12 18:17 ` Luben Tuikov
2005-09-13 10:25 ` Christoph Hellwig
2005-09-13 12:47 ` Douglas Gilbert
2005-09-13 14:58 ` Luben Tuikov
2005-09-12 22:39 ` Luben Tuikov
-- strict thread matches above, loose matches on Subject: below --
2005-09-12 19:04 James.Smart
2005-09-12 19:04 ` James.Smart
2005-09-12 19:29 ` Patrick Mansfield
2005-09-12 19:53 James.Smart
2005-09-12 19:53 ` James.Smart
2005-09-14 0:58 Ravi Anand
2005-09-14 17:46 Ravi Anand
2005-09-16 7:28 Andreas Herrmann
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=1126368081.4813.46.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ltuikov@yahoo.com \
--cc=luben_tuikov@adaptec.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.