<div dir="ltr">Merged.<div>Thanks.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 28, 2017 at 8:54 AM, Guan Junxiong <span dir="ltr"><<a href="mailto:guanjunxiong@huawei.com" target="_blank">guanjunxiong@huawei.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Hannes,<br>
<span class=""><br>
On 2017/7/28 14:12, Hannes Reinecke wrote:<br>
> On 07/28/2017 03:28 AM, Guan Junxiong wrote:<br>
>> The previous code of path_offline checking was only valid for SCSI<br>
>> device. It returned PATH_UP for other devices and throwed path check-<br>
>> ing to chekers. This patch supplements checking sysfs path state for<br>
>> NVMe/NVMf devices. For example, if NVMe/NVMf path is reconnectting or<br>
>> resetting, we return PATH_PENDING in order to skip current path check-<br>
>> ing and reschedule path checking in the next tick as soon as possible.<br>
>><br>
>> Signed-off-by: Guan Junxiong <<a href="mailto:guanjunxiong@huawei.com">guanjunxiong@huawei.com</a>><br>
>> ---<br>
>>  libmultipath/discovery.c | 45 ++++++++++++++++++++++++++++++<wbr>+++++----------<br>
>>  1 file changed, 35 insertions(+), 10 deletions(-)<br>
>><br>
> Thanks for doing this.<br>
><br>
>><br>
</span><span class="">> Patch looks good.<br>
><br>
> Reviewed-by: Hannes Reinecke <<a href="mailto:hare@suse.com">hare@suse.com</a>><br>
><br>
</span>Nice to have any review. Thanks.<br>
<span class=""><br>
> However, I do wonder if we really need a path checker for NVMf once we<br>
> have this. After all, the sysfs attribute reflects that KATO status,<br>
> which pretty much determines if we can send I/O _at all_.<br>
><br>
> Cheers,<br>
><br>
> Hannes<br>
<br>
</span>IMO, I think Keep Alive feature is in controller granularity , _not_ namespace<br>
granularity. A namespace can be detached ( or disabled with nvmetcli tools)<br>
from controller which has many namespaces attached, but the controller sysfs<br>
state attribute is still "live". Therefor, we do need further path checker<br>
after we know controller is live.<br>
<br>
Refer to the following quoted from NVMe Spec 1.3:<br>
"The Keep Alive feature is used by the host to determine that the controller<br>
is operational and by the controller to determine that the host is operational.<br>
The host and controller are operational when each is accessible and able to<br>
issue or execute commands."<br>
<br>
<br>
Regards<br>
Guan<br>
<br>
<br>
.<br>
<br>
</blockquote></div><br></div>