block/iscsi: do not forget to logout from target
PATCH 1/1 block/iscsi: do not forget to logout from target
We actually were always impolitely dropping the connection and not cleanly logging out.
Signed-off-by Peter Lieven <[email protected]>
--- block/iscsi.c | 6 ++++++ 1 file changed, 6 insertions(+)
block/iscsi.c +6 -0
@@ -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);
Signature · 1 line
1.9.1
Reviewed-by Ronnie Sahlberg <[email protected]>
Quoted 36 lines · Peter Lieven
We actually were always impolitely dropping the connection and not cleanly logging out.
Signed-off-by Peter Lieven <[email protected]>--- block/iscsi.c | 6 ++++++ 1 file changed, 6 insertions(+)block/iscsi.c +6
-1@@ -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