Hi Tejun,
Sorry for my late reply as i have a vacation last week.
在 2018/2/13 22:27, Tejun Heo 写道:
Hello,
On Tue, Feb 13, 2018 at 09:44:53AM +0800, chenxiang (M) wrote:
For those drivers using libsas, i think they have the same issue.
It takes about 1 minute to
recover but actually device is gone, so this recover is useless for
this scenario (when enter EH,
all normal IOs are blocked actually, so it will cause normal IOs are
blocked one more minute which
user doesn't want to).
Right, it'd block other devices sharing the port. Doesn't sas map
each ata device to its own port tho?
Yes, for ata devices connected with expander, all the devices share the
same port.
Actually in sas_ata_hard_reset, there are two situations returned
-ENODEV which represent device is gone:
- LLDD directly returns -ENODEV through lldd_I_T_nexus_reset;
- It sends SMP DISCOVER to check local phy in smp_ata_check_ready,
and find it is gone;
So, if there are real consequences, we can definitely add a way to
short-circuit the recovery logic but let's do that by adding proper
signaling rathr than testing for driver type.
I am not familiar with ata recovery logic, and do you have idea about
how to add a way to
short-circuit the recovery logic by adding proper signaling?
Thanks.