[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.0] iscsi: recognize "invalid field" ASCQ f
From: |
Peter Lieven |
Subject: |
Re: [Qemu-devel] [PATCH for-2.0] iscsi: recognize "invalid field" ASCQ from WRITE SAME command |
Date: |
Wed, 02 Apr 2014 22:32:32 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
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 <address@hidden>
> ---
> 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 <address@hidden>