Re: Looking for some help understanding error handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/22/18 10:17 AM, John Garry wrote:
On 19/10/2018 17:46, Chris.Moore@xxxxxxxxxxxxx wrote:


-----Original Message-----
From: linux-scsi-owner@xxxxxxxxxxxxxxx <linux-scsi-
owner@xxxxxxxxxxxxxxx> On Behalf Of John Garry
Sent: Friday, October 19, 2018 2:19 AM
To: Chris Moore - C33997 <Chris.Moore@xxxxxxxxxxxxx>; hare@xxxxxxx;
linux-scsi@xxxxxxxxxxxxxxx; Jason Yan <yanaijie@xxxxxxxxxx>
Subject: Re: Looking for some help understanding error handling

On 05/10/2018 16:51, Chris.Moore@xxxxxxxxxxxxx wrote:
Thanks Hannes,

After some pointers from Shane Seymour I found that the FC and SRP
transport layers have a devloss timer, so that when a device
disappears they hold on to the target information for a time waiting
to see if it comes back.  The SAS transport layer doesn't have that feature.

The options for me then would be to modify scsi_transport_sas.c to
implement the devloss timeout, or to put that functionality into my LLDD.

I'm willing to put the work into the SAS transport and libsas, but I
suspect there's not a universal need for it.  And since my LLDD is for
internal use at our company and won't be upstreamed, I'll probably
just do the work there.  If anyone feels that this is a feature that more
people would want then I'll look into doing that.

Hello,

This feature sounds interesting for libsas. I however have a question on
feasibility of devloss here (note: I'm not familiar with the concept/realization for other standards): if a device is deattached and re-attached, how can we confirm the same device? For SAS device it's ok as a disk has the WWN, but
what about SATA?

Thanks,
John

Would the serial number work?  I haven't worked a lot with SATA drives, but
ATA8-ACS says the IDENTIFY DEVICE response must contain a unique serial
number.


I guess in principle it would be possible. The issue is that libsas does not deal with topics like querying disks. It just deals with SAS layers below application layer, like link+port managament.

The underlying idea of the devloss mechanism is that the driver maintains a _stable_ relationship between transport endpoints (eg FC remote ports or SAS rports/rphy) and the target devices in the SCSI subsystem. _And_ it is assumed that the LUN enumeration within the target devices / endpoints remain stable during disconnect. If these restrictions are met then the driver just has to reconnect the rport (of which he has the identification anyway) to the matching SCSI target device.

Of course, if we can't identify the rport properly (as would be the case with SATA devices) we'll have to check if this mechanism can be used at all. (But for STP devices you probably can use the port index, hoping that that won't change ...)

Cheers,

Hannes




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux