From: Douglas Gilbert <dougg@torque.net>
To: Doug Ledford <dledford@redhat.com>
Cc: Kurt Garloff <kurt@garloff.de>,
Linux SCSI list <linux-scsi@vger.kernel.org>,
Linux kernel list <linux-kernel@vger.kernel.org>
Subject: Re: /proc/scsi/map
Date: Tue, 18 Jun 2002 00:32:16 -0400 [thread overview]
Message-ID: <3D0EB7D0.FDB66BAA@torque.net> (raw)
In-Reply-To: 20020617224046.A6590@redhat.com
Doug Ledford wrote:
>
> On Tue, Jun 18, 2002 at 01:06:48AM +0200, Kurt Garloff wrote:
> > Hi Doug,
> >
> > On Mon, Jun 17, 2002 at 06:08:18PM -0400, Doug Ledford wrote:
> > > On Sat, Jun 15, 2002 at 03:36:06PM +0200, Kurt Garloff wrote:
> > > > Life would be easier if the scsi subsystem would just report which SCSI
> > > > device (uniquely identified by the controller,bus,target,unit tuple) belongs
> > > > to which high-level device. The information is available in the kernel.
> > >
> > > Umm, this patently fails to meet the criteria you posted of "stable device
> > > name". Adding a controller to a system is just as likely to blow this
> > > naming scheme to hell as it is to blow the traditional linux /dev/sd?
> > > scheme. IOW, even though the /proc/scsi/map file looks nice and usefull,
> > > it fails to solve the very problem you are trying to solve.
> >
> > In case you just add controllers, you just need to make sure you get them the
> > same numbers again. A solution for this exists already:
> > * For a kernel where SCSI low-level drivers are loaded as modules,
> > you just need to keep the order constant
> > * For compiled in SCSI drivers, use scsihosts=
>
> No, this is not true. If you add a new controller (for some new disks in
> a new external enclosure or whatever), and that controller uses the same
> driver as other controller(s) in your system, then you have no guarantee
> of order. For example, adding a 4th aic7xxx controller to your system
> might or might not place the new controller at the end of the list
> depending on PCI scan order, etc. There simply is *no* guarantee here of
> any consistent naming, so don't bother trying to claim there is.
It only been two days and it seems appropriate to refer
to Martin Petersen's summation of persistent naming issues again:
http://marc.theaimsgroup.com/?l=linux-scsi&m=101840990116069&w=2
As for "scsihosts" its current syntax is:
scsihosts=aic7xxx:sym53c8xx::aic7xxx
This could be extended to
scsihosts=aic7xxx[pci=00:0c.0]:sym53c8xx::aic7xxx
and if "pci=" was assumed to be the default then this
would have the same effect as:
scsihosts=[00:0c.0]:sym53c8xx::aic7xxx
assuming there was a aic7xxx controlled HBA at that PCI slot.
No consistent persistence here, just a little more precision.
> Now don't get me wrong, I'm not saying the patch isn't usefull, but the
> patch doesn't provide *any* guarantee of consistent device naming and so
> using that as a reason to put the patch into the mainstream kernel is
> utter crap. Go ahead and make your case for why it should be in the
> kernel, but don't use reasons that aren't correct.
>
> > But actually, the patch is not meant to be the holy grail of persistent
> > device naming. But it enables userspace tools to collect information
> > * reliably
> > (fails so far due to possible open() failures with unknown
> > relation to the corresponding sg device (which could be opened))
>
> This can be done without your patch (the mapping from /dev/sg to /dev/sd?
> or /dev/st? or /dev/scd? or whatever is not impossible from user space
> without your patch, it just requires a user space tool to open the files
> and start comparing host/bus/id/lun combinations from dev file to dev
> file).
>
> > * without too much trouble
>
> This part is true enough, it is easier to read the map file than to
> program the information retrieval I mentioned above.
You can say that again. Joerg Schilling is still some way
from getting it right in cdrecord, SANE still has problems
in this area (and I rewrote the scsi scanning code). Kurt
and I have a fair amount of experience in this particular
area. There are lots of gotchas ...
Kurt's implementation is worthy of note as well. When I have
pondered this problem I just wanted to poke each sg kdev_t into
the corresponding Scsi_Device. People objected that this was
a layering violation. Kurt has added a new upper level callback
find_kdev() which is cleaner. Based on this new callback we
could add a new mid level ioctl that yielded the principal
(k)dev_t (i.e. sd, st or sr) and the generic one. That would
make life easier for cdrecord and cdparanoia (and sg_utils).
As for SANE, by looking at /proc/scsi/map it could only analyse
sg devices that where "printer" or "processor" device types.
Doug Gilbert
next prev parent reply other threads:[~2002-06-18 4:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <garloff@suse.de>
2002-06-15 13:36 ` /proc/scsi/map Kurt Garloff
2002-06-15 14:08 ` /proc/scsi/map John Summerfield
2002-06-17 11:33 ` /proc/scsi/map Kurt Garloff
2002-06-15 15:52 ` /proc/scsi/map Richard Gooch
2002-06-16 19:41 ` /proc/scsi/map Kurt Garloff
2002-06-15 19:49 ` /proc/scsi/map Sancho Dauskardt
2002-06-16 19:24 ` /proc/scsi/map Albert D. Cahalan
2002-06-16 21:22 ` /proc/scsi/map Kurt Garloff
2002-06-17 20:35 ` /proc/scsi/map Patrick Mansfield
2002-06-17 20:57 ` /proc/scsi/map Kurt Garloff
2002-06-17 21:47 ` /proc/scsi/map Patrick Mansfield
2002-06-17 22:08 ` /proc/scsi/map Doug Ledford
2002-06-17 23:06 ` /proc/scsi/map Kurt Garloff
[not found] ` <20020617230648.GA3448@gum01m.etpnet.phys.tue.nl>
2002-06-18 2:40 ` /proc/scsi/map Doug Ledford
2002-06-18 3:24 ` [Possibly OT] /proc/scsi/map Austin Gonyou
2002-06-18 5:18 ` Doug Ledford
2002-06-18 4:32 ` Douglas Gilbert [this message]
2002-06-18 5:12 ` /proc/scsi/map Doug Ledford
2002-06-18 9:03 ` /proc/scsi/map Kurt Garloff
2002-06-15 21:08 /proc/scsi/map Douglas Gilbert
-- strict thread matches above, loose matches on Subject: below --
2002-06-15 21:54 /proc/scsi/map Andries.Brouwer
[not found] <UTC200206152154.g5FLsCI23053.aeb@smtp.cwi.nl>
2002-06-15 22:27 ` /proc/scsi/map Douglas Gilbert
2002-06-15 22:40 ` /proc/scsi/map Sancho Dauskardt
2002-06-16 20:36 ` /proc/scsi/map Kurt Garloff
2002-06-15 22:28 ` /proc/scsi/map Sancho Dauskardt
2002-06-15 23:00 /proc/scsi/map Andries.Brouwer
2002-06-16 8:24 /proc/scsi/map Andries.Brouwer
[not found] <UTC200206151604.g5FG4JQ26968.aeb@smtp.cwi.nl>
2002-06-16 21:04 ` /proc/scsi/map Kurt Garloff
2002-06-17 12:55 /proc/scsi/map Heinz, Michael
2002-06-17 15:57 /proc/scsi/map Bryan Henderson
2002-06-17 20:28 ` /proc/scsi/map Kurt Garloff
2002-06-17 22:06 /proc/scsi/map Bryan Henderson
2002-06-18 15:40 /proc/scsi/map Bryan Henderson
2002-06-18 16:09 ` /proc/scsi/map Doug Ledford
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=3D0EB7D0.FDB66BAA@torque.net \
--to=dougg@torque.net \
--cc=dledford@redhat.com \
--cc=kurt@garloff.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/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