[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5B148F72.3000000@huawei.com>
Date: Mon, 4 Jun 2018 09:01:38 +0800
From: Jason Yan <yanaijie@...wei.com>
To: John Garry <john.garry@...wei.com>, <martin.petersen@...cle.com>,
<jejb@...ux.vnet.ibm.com>
CC: <linux-scsi@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<zhaohongjiang@...wei.com>, <hare@...e.com>,
<dan.j.williams@...el.com>, <jthumshirn@...e.de>, <hch@....de>,
<huangdaode@...ilicon.com>, <chenxiang66@...ilicon.com>,
<xiexiuqi@...wei.com>, <tj@...nel.org>, <miaoxie@...wei.com>,
Ewan Milne <emilne@...hat.com>, Tomas Henzl <thenzl@...hat.com>
Subject: Re: [PATCH 4/8] scsi: libsas: trigger a new revalidation to discover
the device
On 2018/6/1 18:02, John Garry wrote:
> I mean that since libsas does disocovery/revalidation for all expander
> PHYS for a single event, than all discovery/revalidation should be
> synchronised with that same event. I don't mean that for a given
> expander PHY which originated a broadcast event, the
> revalidation/discovery for that PHY should be synchronised with that
> same event. Like you said, I don't think it's possible.
>
> On another point, one of the reasons to synchronise event processing was
> so events are not lost and are processed in order. In principle, by
> chaining these bcast events we lose that, since other PHY events may be
> queued before we queue the new artificial bcast events.
>
I got what you mean. I will try to keep the principle of synchronised
event processing.
>>
>> But if you mean we shall do this device removing and rediscovering in
>> one revalidation if it is not a "flutter", I think we can wrap a new
>> function for sas_revalidate_domain(), such as:
>>
>>
>> while (need_to_revalidate_again)
>> need_to_revalidate_again = sas_revalidate_domain()
>>
>> In this way the sas_port adding/removing is packed in one loop, we won't
>> have the annoyance of "duplicate filename" warning. What do you
>> think?
>
> Something like that, where all the discovery/revalidation and related
> device + port processing is done before we complete the revalidation
> event processing. A single revalidation event may defer do device+port
> processing multiple times.
Powered by blists - more mailing lists