[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 5/7] scsi: Add mapping for generic SCSI_HOST status to sense
From: |
Hannes Reinecke |
Subject: |
Re: [PATCH 5/7] scsi: Add mapping for generic SCSI_HOST status to sense codes |
Date: |
Tue, 17 Nov 2020 07:53:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 |
On 11/16/20 9:05 PM, Paolo Bonzini wrote:
On 16/11/20 20:03, Hannes Reinecke wrote:
+ case SCSI_HOST_TARGET_FAILURE:
+ *sense = SENSE_CODE(TARGET_FAILURE);
+ return CHECK_CONDITION;
+ case SCSI_HOST_RESERVATION_ERROR:
+ return RESERVATION_CONFLICT;
+ case SCSI_HOST_ALLOCATION_FAILURE:
+ *sense = SENSE_CODE(SPACE_ALLOC_FAILED);
+ return CHECK_CONDITION;
+ case SCSI_HOST_MEDIUM_ERROR:
+ *sense = SENSE_CODE(READ_ERROR);
+ return CHECK_CONDITION;
Can these actually be visible to userspace? I'd rather avoid having
them in QEMU if possible.
Otherwise, the patches are completely sensible.
And I did it exactly for the opposite purpose: rather than
painstakingly figuring out which codes _might_ be returned (and be
utterly surprised if we missed some) add an interpretation for every
_possible_ code, avoiding nasty surprises.
And that certainly makes sense too.
On the other hand it'd be nice if Linux was clearer about which the
SCSI_HOST values are part of the userspace API and which are just an
(ugly) implementation detail.
Oh, I certainly agree with that.
But that is more of a long-term prospect; I do see some discussions
ahead if one were to try it. Especially as (like DID_BAD_TARGET and
DID_NO_CONNECT) have no clear distinction between them, and are used
more-or-less interchangeably.
But a clear definition of these values would inevitably lead to a change
in various drivers, which then would lead to a change in behaviour, and
a possible user-space regression.
So not that easy, sadly.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer
[PATCH 3/7] scsi-disk: convert more errno values back to SCSI statuses, Hannes Reinecke, 2020/11/16
[PATCH 2/7] scsi: drop 'result' argument from command_complete callback, Hannes Reinecke, 2020/11/16
[PATCH 4/7] scsi: Rename linux-specific SG_ERR codes to generic SCSI_HOST error codes, Hannes Reinecke, 2020/11/16
[PATCH 7/7] scsi: move host_status handling into SCSI drivers, Hannes Reinecke, 2020/11/16
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Paolo Bonzini, 2020/11/16
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Hannes Reinecke, 2020/11/16
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Paolo Bonzini, 2020/11/16
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Hannes Reinecke, 2020/11/17
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Paolo Bonzini, 2020/11/17
- Re: [PATCH 7/7] scsi: move host_status handling into SCSI drivers, Hannes Reinecke, 2020/11/17