public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Gal Rosen <galr@storwize.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: linux-scsi@vger.kernel.org
Subject: Re: SCSI device rescan, detection of disconnected device, or switched devices.
Date: Thu, 31 Jul 2008 09:57:14 +0300	[thread overview]
Message-ID: <1217487434.25491.34.camel@galr-linux> (raw)
In-Reply-To: <488DC55C.2050603@s5r6.in-berlin.de>

Hi,

I will try to make my question more clear.
I would like to put a box between the client and the storage, and to be
fully transparent against the host. All changes on the storage
(add/remove/extend devices) should be present automatically to the
client. In a direct connection between client and storage the
administrator will coordinate between the client and storage before
making any changes, in my configuration I do not want to add
administration work on my box that stands between the client and the
storage.
Addition is simple, the application on my box can once in a while scan
the SCSI BUS, and then the Linux system will create new sg devices.
In removal of a device the Linux system will not remove sg devices after
scan. In that case again I can do it from my application, such when I
get attention on SCSI command, I can decide to remove the device by
echoing to the /sys file system.

What do you think ? is this enough or there is better way ?

Thanks,
Gal.

On Mon, 2008-07-28 at 15:10 +0200, Stefan Richter wrote:
> Gal Rosen wrote:
> > I know that when adding new device there is no problem;
> > by echo "- - -" >/sys/class/scsi_host/hostX/scan the SCSI subsystem will
> > recognize the new device and new /dev/sgX device will be created, but if
> > someone remove a device, scan will only recognize that the report luns
> > has changed, but it will not remove the /dev/sgX device.
> > If now someone add new device it will mapped to the /dev/sgX that
> > previously mapped to the device that just removed.
> > 
> > 1. Why the SCSI subsystem doesn't release devices that removed ?
> 
> Because somewhere someone still holds a reference on the device (for a
> good reason, or due to a bug).
> 
> > 2. In the situation that I described above someone can switched devices
> > without notifying the application that use those devices. The
> > notification will come only when the next SCSI command will return with
> > unit attention saying "Power on, reset, or bus device reset occured", or
> > if device just removed without adding new device it will return
> > "Reported luns data has changed".
> > If I have an application that control SCSI devices using sg driver and I
> > would like to have the ability to change configuration online, what is
> > the preferred way to rescan the bus and update the application that sgX
> > that previously controls device Y is now controlling device Z ?
> > In other words, what is the best way for the application to identify
> > that device has been removed or changed ?
> 
> Hmm, I too am curious what the answer to this would be.
> 
> > 3. I am using Qlogic firmware ability to create virtual ports, and I
> > notice that on disconnect and then reconnect the FC cable, the sg
> > mapping can changed. If on module load the physical port got sg0, and on
> > creating vport it got sg1, now the SCSI subsystem scans the vport first
> > and mapped it to sg0 and the physical port gets sg1.
> > Is there a way to control the mapping (scanning) ?
> 
> There is currently one canonical way:  The low-level userspace (udev,
> hal, or even your application) looks at the device representation in
> sysfs and fetches persistent and unique properties of the target and
> logical unit from there.  The target identifier and logical unit
> identifier come first to mind as suitable properties.  Then the
> low-level userspace can for example create symlinks.  Most distributions
> contain udev scripts which do this for sd devices; see /dev/disk/by-id/.
> 
> Alas there is no standard place where to look for target identifier and
> logical unit identifier.  At least at the last time when I looked for
> them, the paths to respective sysfs attributes are so far implementation
> details of the various transport-layer drivers or so-called transport
> classes (FC, SAS, iSCSI, SBP-2...).
--
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

  reply	other threads:[~2008-07-31  6:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-28 12:32 SCSI device rescan, detection of disconnected device, or switched devices Gal Rosen
2008-07-28 13:10 ` Stefan Richter
2008-07-31  6:57   ` Gal Rosen [this message]
2008-07-31  8:34     ` Stefan Richter
2008-07-31 11:48       ` Gal Rosen
2008-07-31 14:15         ` James Bottomley
2008-07-31 15:59           ` Vladislav Bolkhovitin
2008-07-31 16:18             ` James Bottomley
2008-07-31 17:54               ` Vladislav Bolkhovitin
2008-07-31 16:09           ` Gal Rosen
2008-07-31 16:20             ` James Bottomley
     [not found]               ` <0C22B6EFEE0DBB4A9F9F3801E8790B3A732C0C@swdc2.storwiz.com>
2008-08-01 14:29                 ` SCSI device rescan, detection of disconnected device,or " James Bottomley
2008-07-31 17:51         ` James.Smart
2008-07-31 17:46       ` SCSI device rescan, detection of disconnected device, or " James.Smart

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=1217487434.25491.34.camel@galr-linux \
    --to=galr@storwize.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=stefanr@s5r6.in-berlin.de \
    /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