We actually were always impolitely dropping the connection and not cleanly logging out.
Cc: qemu-sta...@nongnu.org Signed-off-by: Peter Lieven <p...@kamp.de> --- block/iscsi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/block/iscsi.c b/block/iscsi.c index ab20e4d..0b6d3dd 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1503,6 +1503,9 @@ out: if (ret) { if (iscsi != NULL) { + if (iscsi_is_logged_in(iscsi)) { + iscsi_logout_sync(iscsi); + } iscsi_destroy_context(iscsi); } memset(iscsilun, 0, sizeof(IscsiLun)); @@ -1516,6 +1519,9 @@ static void iscsi_close(BlockDriverState *bs) struct iscsi_context *iscsi = iscsilun->iscsi; iscsi_detach_aio_context(bs); + if (iscsi_is_logged_in(iscsi)) { + iscsi_logout_sync(iscsi); + } iscsi_destroy_context(iscsi); g_free(iscsilun->zeroblock); g_free(iscsilun->allocationmap); -- 1.9.1