On 04.08.22 18:28, Mike Christie wrote:
On 8/4/22 1:18 AM, Juergen Gross wrote:On 04.08.22 05:40, Mike Christie wrote:The error codes: DID_TARGET_FAILURE DID_NEXUS_FAILURE DID_ALLOC_FAILURE DID_MEDIUM_ERROR are internal to the SCSI layer. Drivers must not use them because: 1. They are not propagated upwards, so SG IO/passthrough users will not see an error and think a command was successful. xen-scsiback will never see this error and should not try to send it. 2. There is no handling for them in scsi_decide_disposition so if xen-scsifront were to return the error to scsi-ml then it kicks off the error handler which is definitely not what we want. This patch remove the use from xen-scsifront/back. Signed-off-by: Mike Christie <michael.christie@xxxxxxxxxx> --- drivers/scsi/xen-scsifront.c | 8 -------- drivers/xen/xen-scsiback.c | 12 ------------ include/xen/interface/io/vscsiif.h | 10 +--------- 3 files changed, 1 insertion(+), 29 deletions(-)...diff --git a/include/xen/interface/io/vscsiif.h b/include/xen/interface/io/vscsiif.h index 7ea4dc9611c4..44eb1f34f1a0 100644 --- a/include/xen/interface/io/vscsiif.h +++ b/include/xen/interface/io/vscsiif.h @@ -316,16 +316,8 @@ struct vscsiif_response { #define XEN_VSCSIIF_RSLT_HOST_TRANSPORT_DISRUPTED 14 /* Transport class fastfailed */ #define XEN_VSCSIIF_RSLT_HOST_TRANSPORT_FAILFAST 15 -/* Permanent target failure */ -#define XEN_VSCSIIF_RSLT_HOST_TARGET_FAILURE 16 -/* Permanent nexus failure on path */ -#define XEN_VSCSIIF_RSLT_HOST_NEXUS_FAILURE 17 -/* Space allocation on device failed */ -#define XEN_VSCSIIF_RSLT_HOST_ALLOC_FAILURE 18 -/* Medium error */ -#define XEN_VSCSIIF_RSLT_HOST_MEDIUM_ERROR 19 /* Transport marginal errors */ -#define XEN_VSCSIIF_RSLT_HOST_TRANSPORT_MARGINAL 20 +#define XEN_VSCSIIF_RSLT_HOST_TRANSPORT_MARGINAL 16Please drop the modifications of this header. This is a copy of the master from the Xen repository. It might be used in multiple OS'es across many releases, so it needs to be regarded as ABI.How do you want to handle scsifront_host_byte? xen-scsiback.c will never return those error codes, but can some other implementation? Do you want me to add translation from the XEN_VSCSIIF to some other DID codes?
Its fine for scsifront to use the "default:" fallback in this case. Juergen
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature