From: Peter Lieven <p...@kamp.de> we forgot to set the allocmap to invalid if an UNMAP call fails.
Cc: qemu-sta...@nongnu.org Signed-off-by: Peter Lieven <p...@kamp.de> Message-Id: <1512733868-9009-2-git-send-email...@kamp.de> Reviewed-by: Eric Blake <ebl...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit aef172ffdc2f9c41d9cc043a55f1259e7c07e587) Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> --- block/iscsi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index 4683f3b244..c532ec79d1 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -2,7 +2,7 @@ * QEMU Block driver for iSCSI images * * Copyright (c) 2010-2011 Ronnie Sahlberg <ronniesahlb...@gmail.com> - * Copyright (c) 2012-2016 Peter Lieven <p...@kamp.de> + * Copyright (c) 2012-2017 Peter Lieven <p...@kamp.de> * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -1128,6 +1128,9 @@ retry: goto retry; } + iscsi_allocmap_set_invalid(iscsilun, offset >> BDRV_SECTOR_BITS, + bytes >> BDRV_SECTOR_BITS); + if (iTask.status == SCSI_STATUS_CHECK_CONDITION) { /* the target might fail with a check condition if it is not happy with the alignment of the UNMAP request @@ -1140,9 +1143,6 @@ retry: goto out_unlock; } - iscsi_allocmap_set_invalid(iscsilun, offset >> BDRV_SECTOR_BITS, - bytes >> BDRV_SECTOR_BITS); - out_unlock: qemu_mutex_unlock(&iscsilun->mutex); return r; -- 2.11.0