From: Vladislav Bolkhovitin <vst@vlnb.net>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Gal Rosen <galr@storwize.com>,
Stefan Richter <stefanr@s5r6.in-berlin.de>,
linux-scsi@vger.kernel.org
Subject: Re: SCSI device rescan, detection of disconnected device, or switched devices.
Date: Thu, 31 Jul 2008 19:59:05 +0400 [thread overview]
Message-ID: <4891E149.8070805@vlnb.net> (raw)
In-Reply-To: <1217513749.3333.7.camel@localhost.localdomain>
James Bottomley wrote:
> On Thu, 2008-07-31 at 14:48 +0300, Gal Rosen wrote:
>> On Thu, 2008-07-31 at 10:34 +0200, Stefan Richter wrote:
>>> Gal Rosen wrote:
>>>> 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.
>>> I really don't know how the FibreChannel drivers handle device removal.
>>> But from what I gather from the documentation of
>>> fc_remote_port_delete(), which the qla2xxx drivers use, the /dev/sg
>>> devices should automatically disappear
>>> - after a connection loss timeout,
>>> - provided that userspace doesn't have the device file opened
>>> (among else this is manifest in the kernel in a reference count of
>>> the logical unit device representation),
>>> - provided that you manage your device files with udev.
>>>
>>> http://lxr.linux.no/linux+v2.6.26/drivers/scsi/scsi_transport_fc.c#L2756
>>>
>> This is true; when the remote port is no longer exists, after timeout
>> all the sg devices will disappear, but what if I am changing the
>> configuration in the disk array, and remove only one logical device.
>> There will not be any event for that. The hotplug implementation in the
>> SCSI today creates events of add/remove when adding/removing HBA, or
>> when the FC link go down and up again, but not for additional and
>> removal of devices. In the linux documentation in scsi_mid_low_api.txt
>> it is written that "The hotplug concept may be extended to SCSI
>> devices". I guess that nobody implemented it because what you said
>> previously in this thread that someone could hold reference to the
>> device.
>
> Oh ... you're not really talking about hotplug, which is why everyone is
> confused. Hotplug is when you add or remove something from the bus.
> What you've done is reconfigure the array.
>
> Most of the hotplug we do depends on the transport model (because what's
> on the transport is changing). Array reconfiguration has no hotplug
> event because SAM-3 has no real way of passing the information
> asynchronously. The best it can do is Unit Attention/reported luns data
> has changed (asc=0x3f/ascq=0xe) on the next command.
>
> The problem is that there's no way to process the event correctly even
> when we get it. All we can do is issue another report LUNS command and
> compare. However, just because it looks like a single LUN disappeared
> doesn't mean the others weren't permuted or altered in some way (which
> data we cannot get).
But why don't do what's possible to do and for what there is complete
information: add new LUN for new LUN and delete deleted LUN for reported
luns data has changed UA? As well as get new capacity for a LU on
capacity data has changed UA after, e.g., new space added to it?
Vlad
next prev parent reply other threads:[~2008-07-31 15:59 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
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 [this message]
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=4891E149.8070805@vlnb.net \
--to=vst@vlnb.net \
--cc=James.Bottomley@HansenPartnership.com \
--cc=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.