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: 63+ 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 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:12 ` kbuild test robot
2019-10-21 18:56 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.