Reviewed-By: Ronnie Sahlberg <ronniesahlb...@gmail.com>
On Tue, Apr 14, 2015 at 1:37 AM, Peter Lieven <p...@kamp.de> wrote:
> 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
>