public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: Patrick Mansfield <patmans@us.ibm.com>
Cc: James.Bottomley@steeleye.com, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] scsi-misc-2.5 remove scsi_scan.c EVPD code
Date: Tue, 06 May 2003 11:39:24 +1000	[thread overview]
Message-ID: <3EB7124C.9010701@torque.net> (raw)
In-Reply-To: <20030505155127.A11734@beaverton.ibm.com>

Patrick Mansfield wrote:
> On Mon, May 05, 2003 at 10:46:02AM -0700, Mike Anderson wrote:
> 
>>Patrick Mansfield [patmans@us.ibm.com] wrote:
> 
> 
>>>Right now, we could have an sgid that runs whenever an sg is found (sg
>>>hotplug generated via device_register), and stores a sysfs path and the id
>>>returned into a flat file.
>>
>>I believe devlabel's scsi_unique_id.c file does some of this, though I
>>have not looked at it closely.
>>
>>-andmike
> 
> 
> Yes, it looks very close, and has the underlying infrastructure (uses the
> SCSI_IOCTL_SEND_COMMAND, not sg, so can be used for all upper level linux
> scsi devices). It looks like we would need functionallity that is in the
> devlabel script itself (to output just a  single ID), maybe just integrate
> that into scsi_unique_id. (I did not look closely at devlabel, it has more
> lines than the scsi_unique_id.c source.)

Patrick,
Even if you don't use sg you still have to use
the appropriate upper level driver and cope with its
vagaries (e.g. does it need O_NONBLOCK, could it
lock you out with O_EXCL). Also you need a device
file node to open: it may not be there (devfs helps
here) or could have some tricky symlink.

IMO a safe way to work for disks in lk 2.5 would be to
scan /sys/block, apply some heuristic to filter out
degenerate devices, make your own device node (i.e. mknod)
open it and use the SG_IO ioctl on that fd, etc.
This method needs root privelege.

> It looks like scsi_unique_id should also dump the code set, so it can pick
> one code set (the same one) over anoother (if both were ever used by a
> single LU).
> 
> It fails for character devices, but that is easily fixed by deletion of
> the check (SCSI_IOCTL_SEND_COMMAND works for any scsi device: st, sd, sr
> or sg). I deleted the check and it ran ok on a "processor" scsi device,
> though the device does not support page 80 or page 83. 
> 
> scsi_unique_id should also have some sort of error checking/reporting, so
> we can tell if a device is not functioning (versus does not support page
> 80 or 83).
> 
> I don't know how this would be integrated into the scsi device model tree,
> given the current flux (class or bus for upper level devices, as well as
> for the scsi_device itself).

Another approach could be to have a device node for
the scsi mid level (e.g. /dev/scsi) with an ioctl
that takes a device's toplogical address and some
parameters (e.g. VPD_83) and yields the response
of that INQUIRY (or yields an scsi status and a
sense buffer).

Doug Gilbert



  reply	other threads:[~2003-05-06  1:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-25  0:47 [PATCH] scsi-misc-2.5 remove scsi_scan.c EVPD code Andries.Brouwer
2003-05-05  7:58 ` Douglas Gilbert
2003-05-05 14:17   ` James Bottomley
2003-05-05 15:52     ` Mike Anderson
2003-05-05 16:14       ` James Bottomley
2003-05-05 16:26         ` Patrick Mansfield
2003-05-05 16:57         ` Mike Anderson
2003-05-05 17:01           ` James Bottomley
2003-05-05 16:38   ` Patrick Mansfield
2003-05-05 16:59     ` James Bottomley
2003-05-05 17:46     ` Mike Anderson
2003-05-05 22:51       ` Patrick Mansfield
2003-05-06  1:39         ` Douglas Gilbert [this message]
2003-05-06  4:11           ` Patrick Mansfield
2003-05-06  5:58             ` Douglas Gilbert
2003-05-06 21:11               ` Patrick Mansfield
  -- strict thread matches above, loose matches on Subject: below --
2003-04-25  0:22 Patrick Mansfield

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=3EB7124C.9010701@torque.net \
    --to=dougg@torque.net \
    --cc=James.Bottomley@steeleye.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=patmans@us.ibm.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