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 16 > > Please 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?