originally NOPs where used to detect failures in the transport layer. This is e.g. implemented in qemu since a few years now. Recently I found a few vServers with hanging I/O where the NOP mechanism could not detect the error. The reason is most likely due to a bug in the target, however if NOPs increase the CmdSN this could help to detect such failures. If there are requests hanging and the OS stops I/O before CmdSN > MaxCmdSN we can currently send NOPs forever and they might still be answered. If a NOP increases the CmdSN we will enter a point where CmdSN is greater than MaxCmdSN. This is, of course, not the ideal check, but it might detect some types of errors. Ideally we would send out a Test-Unit-Ready command with attr=ordered, but that requires a new API and/or modification of the tool that uses libiscsi. This here comes with no modification for the userspace. Signed-off-by: Peter Lieven <pl@kamp.de>
3.8 KiB
3.8 KiB