On Fri, May 22, 2015 at 12:30 AM, Peter Lieven <p...@kamp.de> wrote:

> Hi,
>
> next libiscsi version will allow to define command timeouts. At least for
> sync commands this
> was in fact possible since somewhen in 2013. Per default this timeout is
> disabled.
>

Just to mention that this does not require any API changes or need to
update library version requirements.
It just require that the application will be calling iscsi_service(iscsi,
0) at regular intervals to
trigger the timeout scans.

On older versions of libiscsi, this will be a no-op,  so situation is
unchanged and timeouts may not work. On newer versions of libiscsi this
will actually process the timeout scanning and cause the timeouts to
actually happen.




>
> I would like to at least define a timeout for the sync commands (login,
> readcapacity, inquiry, logout etc)
> of about 5000msec. The chance to the iSCSI driver of qemu would be minimal
> for that. The timeout
> handling is done in the sync event loop of libiscsi.
>
>
Is the idea that when a timeout occurs, the callback will eventually
trigger an attempt to tear down and reconnect the session?

I think a lot of/most linux kernels (guests)  have a default timeout that
they will perform a full bus reset once a task has hung for 60 seconds.

Thus a tmeout or <<60 seconds will give you a lot of time to do several
attempts to bounce the session to the target and try to recover before it
hits the guest.



My question is if it would be a good idea to have timeout (fairly high of
> course) for all other commands as well?
>
> Peter
>
>

Reply via email to