From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50875) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVfZa-0003bF-OY for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVfZU-0002cV-U2 for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:42 -0400 Received: from mail-qa0-x232.google.com ([2607:f8b0:400d:c00::232]:54825) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVfZU-0002cR-PV for qemu-devel@nongnu.org; Thu, 03 Apr 2014 07:12:36 -0400 Received: by mail-qa0-f50.google.com with SMTP id o15so1462198qap.37 for ; Thu, 03 Apr 2014 04:12:36 -0700 (PDT) Received: from yakj.usersys.redhat.com (net-2-35-193-100.cust.vodafonedsl.it. [2.35.193.100]) by mx.google.com with ESMTPSA id b37sm6468572qge.16.2014.04.03.04.12.34 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Apr 2014 04:12:35 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Thu, 3 Apr 2014 13:12:19 +0200 Message-Id: <1396523541-568-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1396523541-568-1-git-send-email-pbonzini@redhat.com> References: <1396523541-568-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 2/4] iscsi: recognize "invalid field" ASCQ from WRITE SAME command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Some targets may return "invalid field" as the ASCQ from WRITE SAME if they support the command only without the UNMAP field. Recognize that, and return ENOTSUP just like for "invalid operation code". Reviewed-by: Peter Lieven Signed-off-by: Paolo Bonzini --- block/iscsi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/iscsi.c b/block/iscsi.c index b490e98..2f96a8e 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -838,7 +838,8 @@ retry: if (iTask.status == SCSI_STATUS_CHECK_CONDITION && iTask.task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST && - iTask.task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { + (iTask.task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE || + iTask.task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB)) { /* WRITE SAME is not supported by the target */ iscsilun->has_write_same = false; scsi_free_scsi_task(iTask.task); -- 1.9.0