All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/15] Subject: Protection information and block size cleanup
@ 2021-06-09  3:39 Martin K. Petersen
  2021-06-09  3:39 ` [PATCH 01/15] scsi: core: Add scsi_prot_ref_tag() helper Martin K. Petersen
                   ` (16 more replies)
  0 siblings, 17 replies; 39+ messages in thread
From: Martin K. Petersen @ 2021-06-09  3:39 UTC (permalink / raw)
  To: linux-scsi; +Cc: Martin K. Petersen

This series cleans up how low-level device drivers go about handling
protection information. The SCSI midlayer provides a set of flags and
helpers but not all drivers currently use them. This series updates
the drivers to use the proper calls to query things like the
protection interval, reference tag seed value, etc.

In addition scsi_debug is enhanced to validate and store protection
information the same way as a regular PI-capable disk drive or
SSD. With these changes scsi_debug is now able to pass the same PI
qualification tests as physical hardware.

And finally: Bart's recent series [1] attempted to clean up some of
the confusion between logical block addresses and block layer sector
addresses. Part of Bart's work is included in this series as well as
some fixes to the remainder of the scsi_get_lba() call sites.
Sometimes it is appropriate use sectors, in other cases logical blocks
are a better choice. For instance when printing something with a
reference tag given that the latter typically contains the lower 32
bits of the LBA.

The changes done in this series are also meant to facilitate removing
the request pointer from struct scsi_cmnd [2]. By removing several
references to struct request in the various drivers that transition
will now be easier.

[1] https://lore.kernel.org/linux-scsi/20210513223757.3938-1-bvanassche@acm.org/
[2] https://lore.kernel.org/linux-scsi/20210524030856.2824-1-bvanassche@acm.org/

--
Martin K. Petersen	Oracle Linux Engineering

Bart Van Assche (2):
  scsi: core: Introduce scsi_get_sector()
  scsi: iser: Use scsi_get_sector() instead of scsi_get_lba()

Martin K. Petersen (13):
  scsi: core: Add scsi_prot_ref_tag() helper
  scsi: lpfc: Use the proper SCSI midlayer interfaces for PI
  scsi: qla2xxx: Use the proper SCSI midlayer interfaces for PI
  scsi: mpt3sas: Use the proper SCSI midlayer interfaces for PI
  scsi: mpi3mr: Use the proper SCSI midlayer interfaces for PI
  scsi: zfcp: Use the proper SCSI midlayer interfaces for PI
  scsi: isci: Use the proper SCSI midlayer interfaces for PI
  scsi: scsi_debug: Remove dump_sector()
  scsi: scsi_debug: Improve RDPROTECT/WRPROTECT handling
  scsi: core: Make scsi_get_lba() return the LBA
  scsi: core: Add helper to return number of logical blocks in a request
  scsi: lpfc: Switch to scsi_get_block_count()
  scsi: ufs: core: Use scsi_get_lba() to get LBA

 drivers/infiniband/ulp/iser/iser_verbs.c |   2 +-
 drivers/s390/scsi/zfcp_fsf.c             |   4 +-
 drivers/scsi/isci/request.c              |   4 +-
 drivers/scsi/lpfc/lpfc_scsi.c            | 116 +++++++++--------------
 drivers/scsi/mpi3mr/mpi3mr_os.c          |  59 ++++--------
 drivers/scsi/mpt3sas/mpt3sas_scsih.c     |  28 ++----
 drivers/scsi/qla2xxx/qla_iocb.c          |  84 +++-------------
 drivers/scsi/scsi_debug.c                | 112 +++++++++++++---------
 drivers/scsi/ufs/ufshcd.c                |   3 +-
 include/scsi/scsi_cmnd.h                 |  25 ++++-
 10 files changed, 182 insertions(+), 255 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2021-07-24  2:15 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-09  3:39 [PATCH 00/15] Subject: Protection information and block size cleanup Martin K. Petersen
2021-06-09  3:39 ` [PATCH 01/15] scsi: core: Add scsi_prot_ref_tag() helper Martin K. Petersen
2021-06-09 19:55   ` Bart Van Assche
2021-06-14 14:33   ` Benjamin Block
2021-06-09  3:39 ` [PATCH 02/15] scsi: lpfc: Use the proper SCSI midlayer interfaces for PI Martin K. Petersen
2021-06-09  3:39 ` [PATCH 03/15] scsi: qla2xxx: " Martin K. Petersen
2021-06-17  0:15   ` Arun Easi
2021-06-09  3:39 ` [PATCH 04/15] scsi: mpt3sas: " Martin K. Petersen
2021-06-09  3:39 ` [PATCH 05/15] scsi: mpi3mr: " Martin K. Petersen
2021-06-09  3:39 ` [PATCH 06/15] scsi: zfcp: " Martin K. Petersen
2021-06-14 14:33   ` Benjamin Block
2021-06-15  2:27     ` Martin K. Petersen
2021-06-15  9:31       ` Benjamin Block
2021-06-09  3:39 ` [PATCH 07/15] scsi: isci: " Martin K. Petersen
2021-06-09  3:39 ` [PATCH 08/15] scsi: scsi_debug: Remove dump_sector() Martin K. Petersen
2021-06-09 19:55   ` Bart Van Assche
2021-06-14 22:06   ` Douglas Gilbert
2021-06-09  3:39 ` [PATCH 09/15] scsi: scsi_debug: Improve RDPROTECT/WRPROTECT handling Martin K. Petersen
2021-06-14 22:07   ` Douglas Gilbert
2021-06-09  3:39 ` [PATCH 10/15] scsi: core: Introduce scsi_get_sector() Martin K. Petersen
2021-06-14 14:48   ` Benjamin Block
2021-06-15  2:28     ` Martin K. Petersen
2021-06-15  9:33       ` Benjamin Block
2021-06-09  3:39 ` [PATCH 11/15] scsi: iser: Use scsi_get_sector() instead of scsi_get_lba() Martin K. Petersen
2021-06-09  3:39 ` [PATCH 12/15] scsi: core: Make scsi_get_lba() return the LBA Martin K. Petersen
2021-06-09 19:57   ` Bart Van Assche
2021-06-14 14:50   ` Benjamin Block
2021-06-15  9:34     ` Benjamin Block
2021-06-09  3:39 ` [PATCH 13/15] scsi: core: Add helper to return number of logical blocks in a request Martin K. Petersen
2021-06-09 19:58   ` Bart Van Assche
2021-06-10  3:19     ` Martin K. Petersen
2021-06-10  3:40       ` Bart Van Assche
2021-06-09  3:39 ` [PATCH 14/15] scsi: lpfc: Switch to scsi_get_block_count() Martin K. Petersen
2021-06-09  3:39 ` [PATCH 15/15] scsi: ufs: core: Use scsi_get_lba() to get LBA Martin K. Petersen
2021-06-09 19:59   ` Bart Van Assche
2021-07-16 21:27 ` [PATCH 00/15] Subject: Protection information and block size cleanup Bart Van Assche
2021-07-19  1:43   ` Martin K. Petersen
2021-07-21  3:53     ` Bart Van Assche
2021-07-24  2:13 ` Martin K. Petersen

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.