From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54784) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVRq0-00057Y-SY for qemu-devel@nongnu.org; Wed, 02 Apr 2014 16:32:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVRpt-00081a-Tj for qemu-devel@nongnu.org; Wed, 02 Apr 2014 16:32:44 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:43418 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVRpt-000817-J5 for qemu-devel@nongnu.org; Wed, 02 Apr 2014 16:32:37 -0400 Message-ID: <533C73E0.4050207@kamp.de> Date: Wed, 02 Apr 2014 22:32:32 +0200 From: Peter Lieven MIME-Version: 1.0 References: <1396442728-32321-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1396442728-32321-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH for-2.0] iscsi: recognize "invalid field" ASCQ from WRITE SAME command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Am 02.04.2014 14:45, schrieb Paolo Bonzini: > 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". > > 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 6d6cd4f..f01c883 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -1012,7 +1012,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); I also checked that SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB is available in libiscsi 1.4.0 already. Reviewed-by: Peter Lieven