From: Hannes Reinecke <hare@suse.de>
To: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
James Bottomley <james.bottomley@hansenpartnership.com>,
Johannes Thumshirn <jthumshirn@suse.de>,
linux-scsi@vger.kernel.org, Hannes Reinecke <hare@suse.de>
Subject: [PATCH RFC 00/24] scsi: Revamp result values
Date: Mon, 21 Oct 2019 11:52:58 +0200 [thread overview]
Message-ID: <20191021095322.137969-1-hare@suse.de> (raw)
Hi all,
the 'result' field in the SCSI command is defined as having
4 fields. The top byte is declared as a 'driver_byte', where the
driver can signal some internal status back to the midlayer.
However, there is quite a bit of overlap between the driver_byte
and the host_byte, resulting in the driver_byte being used in
very few places, and mostly in legacy drivers.
Additionally, we have _two_ sets of definitions for the
last byte (status byte), which can specified either in SAM terms
or in the linux-specific terms, which are shifted right by one
from the SAM ones.
Needless to say, the linux-specific ones are declared obsolete
for years now.
And to make the confusion complete, both the status byte and
the driver byte have a byte for a valid sense code, resulting
in quite some confusion which of those bits to check.
This patchset does several things:
- remove the linux-specific status byte definitions, and use
the SAM values throughout
- replace the driver-byte values with either SAM ones (for sense
code checking) or host-byte definitions
- remove the driver-byte definitions
As usual, comments and reviews are welcome.
Please note, commit 66cf50e65b18 ("scsi: qla2xxx: fixup incorrect
usage of host_byte") from 5.4/scsi-fixes is a prerequisite for
this patch series.
Hannes Reinecke (24):
aic7xxx,aic79xxx: remove driver-defined SAM status definitions
bfa: drop driver-defined SCSI status codes
wd33c93: use SCSI status
acornscsi: use standard defines
scsi: use standard SAM status codes
scsi: change status_byte() to return the standard SCSI status
target_core: Fixup target_complete_cmd() usage
sg: use SAM status definitions and avoid using masked_status
scsi: Kill obsolete linux-specific status codes
scsi: introduce set_status_byte()
advansys: kill driver_defined status byte accessors
scsi: introduce scsi_build_sense()
scsi: Kill DRIVER_SENSE
scsi: Kill DRIVER_HARD
scsi_error: use DID_TIME_OUT instead of DRIVER_TIMEOUT
scsi: Kill DRIVER_TIMEOUT
scsi: do not use DRIVER_INVALID
st: return error code in st_scsi_execute()
scsi_ioctl: return error code when blk_map_user() fails
scsi_dh_alua: do not interpret DRIVER_ERROR
xen-scsiback: stop using DRIVER_ERROR
scsi: stop using DRIVER_ERROR
scsi: Kill DRIVER_MEDIA, DRIVER_SOFT, and DRIVER_BUSY
scsi: Drop now obsolete driver_byte definitions
Documentation/scsi/scsi_mid_low_api.txt | 3 +-
block/bsg-lib.c | 2 +-
block/bsg.c | 2 +-
block/scsi_ioctl.c | 9 ++--
drivers/ata/libata-scsi.c | 22 +++-----
drivers/infiniband/ulp/srp/ib_srp.c | 2 +-
drivers/message/fusion/mptscsih.c | 2 +-
drivers/s390/scsi/zfcp_scsi.c | 5 +-
drivers/scsi/3w-9xxx.c | 5 +-
drivers/scsi/3w-sas.c | 3 +-
drivers/scsi/3w-xxxx.c | 7 ++-
drivers/scsi/53c700.c | 6 +--
drivers/scsi/NCR5380.c | 4 +-
drivers/scsi/advansys.c | 78 ++++++++---------------------
drivers/scsi/aic7xxx/aic79xx_core.c | 8 +--
drivers/scsi/aic7xxx/aic79xx_osm.c | 35 ++++++-------
drivers/scsi/aic7xxx/aic7xxx_core.c | 6 +--
drivers/scsi/aic7xxx/aic7xxx_osm.c | 13 +++--
drivers/scsi/aic7xxx/aiclib.h | 15 ------
drivers/scsi/arcmsr/arcmsr_hba.c | 5 +-
drivers/scsi/arm/acornscsi.c | 24 +++------
drivers/scsi/arm/fas216.c | 10 ++--
drivers/scsi/bfa/bfa_fc.h | 15 ------
drivers/scsi/bfa/bfa_fcpim.c | 2 +-
drivers/scsi/bfa/bfad_im.c | 4 +-
drivers/scsi/ch.c | 5 +-
drivers/scsi/constants.c | 15 ------
drivers/scsi/cxlflash/superpipe.c | 45 ++++++++---------
drivers/scsi/dc395x.c | 26 +++-------
drivers/scsi/device_handler/scsi_dh_alua.c | 4 --
drivers/scsi/dpt_i2o.c | 2 +-
drivers/scsi/esp_scsi.c | 3 +-
drivers/scsi/gdth.c | 12 ++---
drivers/scsi/hptiop.c | 2 +-
drivers/scsi/libiscsi.c | 5 +-
drivers/scsi/lpfc/lpfc_scsi.c | 30 +++--------
drivers/scsi/megaraid.c | 22 ++++----
drivers/scsi/megaraid/megaraid_mbox.c | 22 ++++----
drivers/scsi/megaraid/megaraid_sas_base.c | 3 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 1 -
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 8 +--
drivers/scsi/mvumi.c | 16 +++---
drivers/scsi/myrb.c | 61 ++++++----------------
drivers/scsi/myrs.c | 9 +---
drivers/scsi/ps3rom.c | 3 +-
drivers/scsi/qla2xxx/qla_isr.c | 15 ++----
drivers/scsi/scsi.c | 8 +--
drivers/scsi/scsi_debug.c | 15 +++---
drivers/scsi/scsi_error.c | 52 +++++++++----------
drivers/scsi/scsi_ioctl.c | 2 +-
drivers/scsi/scsi_lib.c | 44 +++++++++++-----
drivers/scsi/scsi_logging.c | 10 +---
drivers/scsi/scsi_scan.c | 2 +-
drivers/scsi/scsi_transport_spi.c | 2 +-
drivers/scsi/sd.c | 42 ++++++++--------
drivers/scsi/sd_zbc.c | 4 +-
drivers/scsi/sg.c | 25 ++++-----
drivers/scsi/smartpqi/smartpqi_init.c | 3 +-
drivers/scsi/sr.c | 2 +-
drivers/scsi/sr_ioctl.c | 2 +-
drivers/scsi/st.c | 8 +--
drivers/scsi/stex.c | 9 ++--
drivers/scsi/sym53c8xx_2/sym_glue.c | 6 +--
drivers/scsi/ufs/ufshcd.c | 6 +--
drivers/scsi/virtio_scsi.c | 3 +-
drivers/scsi/vmw_pvscsi.c | 21 ++++----
drivers/scsi/wd33c93.c | 21 +++-----
drivers/target/loopback/tcm_loop.c | 1 -
drivers/target/target_core_alua.c | 6 +--
drivers/target/target_core_iblock.c | 2 +-
drivers/target/target_core_pr.c | 8 +--
drivers/target/target_core_sbc.c | 10 ++--
drivers/target/target_core_spc.c | 14 +++---
drivers/target/target_core_xcopy.c | 2 +-
drivers/usb/storage/cypress_atacb.c | 4 +-
drivers/xen/xen-scsiback.c | 12 ++---
include/scsi/scsi.h | 19 +------
include/scsi/scsi_cmnd.h | 12 +++--
include/scsi/scsi_proto.h | 19 -------
include/scsi/sg.h | 3 +-
include/trace/events/scsi.h | 15 +-----
81 files changed, 371 insertions(+), 639 deletions(-)
--
2.16.4
next reply other threads:[~2019-10-21 9:53 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-21 9:52 Hannes Reinecke [this message]
2019-10-21 9:52 ` [PATCH 01/24] aic7xxx,aic79xxx: remove driver-defined SAM status definitions Hannes Reinecke
2019-10-21 9:53 ` [PATCH 02/24] bfa: drop driver-defined SCSI status codes Hannes Reinecke
2019-10-21 9:53 ` [PATCH 03/24] wd33c93: use SCSI status Hannes Reinecke
2019-10-21 18:41 ` kbuild test robot
2019-10-21 23:16 ` Finn Thain
2019-10-22 5:59 ` Hannes Reinecke
2019-10-21 9:53 ` [PATCH 04/24] acornscsi: use standard defines Hannes Reinecke
2019-10-21 9:53 ` [PATCH 05/24] scsi: use standard SAM status codes Hannes Reinecke
2019-10-21 23:17 ` Finn Thain
2019-10-22 6:00 ` Hannes Reinecke
2019-10-21 9:53 ` [PATCH 06/24] scsi: change status_byte() to return the standard SCSI status Hannes Reinecke
2019-10-22 12:35 ` Steffen Maier
2019-10-21 9:53 ` [PATCH 07/24] target_core: Fixup target_complete_cmd() usage Hannes Reinecke
2019-10-21 9:53 ` [PATCH 08/24] sg: use SAM status definitions and avoid using masked_status Hannes Reinecke
2019-10-21 9:53 ` [PATCH 09/24] scsi: Kill obsolete linux-specific status codes Hannes Reinecke
2019-10-21 18:12 ` kbuild test robot
2019-10-21 18:56 ` kbuild test robot
2019-10-21 9:53 ` [PATCH 10/24] scsi: introduce set_status_byte() Hannes Reinecke
2019-10-21 22:12 ` Finn Thain
2019-10-22 5:56 ` Hannes Reinecke
2019-10-21 9:53 ` [PATCH 11/24] advansys: kill driver_defined status byte accessors Hannes Reinecke
2019-10-21 16:37 ` Bart Van Assche
2019-10-22 6:25 ` Hannes Reinecke
2019-10-21 9:53 ` [PATCH 12/24] scsi: introduce scsi_build_sense() Hannes Reinecke
2019-10-21 23:31 ` Finn Thain
2019-10-22 6:02 ` Hannes Reinecke
2019-10-22 12:21 ` Steffen Maier
2019-10-21 9:53 ` [PATCH 13/24] scsi: Kill DRIVER_SENSE Hannes Reinecke
2019-10-21 23:44 ` Finn Thain
2019-10-22 6:10 ` Hannes Reinecke
2021-06-04 6:40 ` Jiri Slaby
2021-06-07 12:21 ` Hannes Reinecke
2021-06-07 12:30 ` Martin K. Petersen
2021-06-07 13:02 ` Hannes Reinecke
2021-06-10 10:52 ` Jiri Slaby
2021-06-10 14:01 ` Hannes Reinecke
2021-06-11 4:50 ` Jiri Slaby
2021-06-11 7:38 ` Hannes Reinecke
2021-06-14 6:29 ` Jiri Slaby
2021-06-14 7:20 ` Jiri Slaby
2019-10-21 9:53 ` [PATCH 14/24] scsi: Kill DRIVER_HARD Hannes Reinecke
2019-10-21 9:53 ` [PATCH 15/24] scsi_error: use DID_TIME_OUT instead of DRIVER_TIMEOUT Hannes Reinecke
2019-10-21 9:53 ` [PATCH 16/24] scsi: Kill DRIVER_TIMEOUT Hannes Reinecke
2019-10-21 9:53 ` [PATCH 17/24] scsi: do not use DRIVER_INVALID Hannes Reinecke
2019-10-21 9:53 ` [PATCH 18/24] st: return error code in st_scsi_execute() Hannes Reinecke
2019-10-21 16:41 ` Bart Van Assche
2019-10-22 6:28 ` Hannes Reinecke
2019-10-22 14:54 ` Bart Van Assche
2019-10-21 9:53 ` [PATCH 19/24] scsi_ioctl: return error code when blk_map_user() fails Hannes Reinecke
2019-10-21 16:44 ` Bart Van Assche
2019-10-22 6:32 ` Hannes Reinecke
2019-10-21 9:53 ` [PATCH 20/24] scsi_dh_alua: do not interpret DRIVER_ERROR Hannes Reinecke
2019-10-21 9:53 ` [PATCH 21/24] xen-scsiback: stop using DRIVER_ERROR Hannes Reinecke
2019-10-21 9:53 ` [PATCH 22/24] scsi: " Hannes Reinecke
2019-10-21 9:53 ` [PATCH 23/24] scsi: Kill DRIVER_MEDIA, DRIVER_SOFT, and DRIVER_BUSY Hannes Reinecke
2019-10-21 9:53 ` [PATCH 24/24] scsi: Drop now obsolete driver_byte definitions Hannes Reinecke
2019-10-21 18:32 ` [PATCH RFC 00/24] scsi: Revamp result values Douglas Gilbert
2019-10-21 23:20 ` Finn Thain
2019-10-22 6:24 ` Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191021095322.137969-1-hare@suse.de \
--to=hare@suse.de \
--cc=hch@lst.de \
--cc=james.bottomley@hansenpartnership.com \
--cc=jthumshirn@suse.de \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).