All of lore.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 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.