mbox series

[v2,00/12] add virtual remote fabric

Message ID 20230307080742.24631-1-d.bogdanov@yadro.com
Headers show
Series add virtual remote fabric | expand

Message

Dmitry Bogdanov March 7, 2023, 8:07 a.m. UTC
The patchset is based on 6.3/scsi-queue branch.

The first 11 patches are just a refactoring to reduce code duplication
in fabric drivers.
They make several callouts be optional in fabric ops.
Make a default implementation of the optional ops and remove such
implementations in the fabric drivers.

The last patch is a new virtual remote fabric driver.
It have a valueble sence with patchset "scsi: target: make RTPI an TPG identifier"
to configure RPTI on remote/tpgt_x same as on tpgt_y on other nodes in
a storage cluster. That allows to report the same ports in RTPG from
each node and to have a clusterwide tpg/acl/lun view in kernel.

On its own it can be used as a dummy fabric driver for test purposes
or whatever.

Changelog:
 v2:
    add default implementation for optional fabric ops
    code style cleanup

Dmitry Bogdanov (12):
  scsi: target: add default fabric ops callaouts
  infiniband: srpt: remove default fabric ops callouts
  scsi: ibmvscsit: remove default fabric ops callouts
  scsi: target: loop: remove default fabric ops callouts
  scsi: target: sbp: remove default fabric ops callouts
  scsi: target: fcoe: remove default fabric ops callouts
  usb: gadjet: f_tcm: remove default fabric ops callouts
  vhost-scsi: remove default fabric ops callouts
  xen-scsiback: remove default fabric ops callouts
  scsi: qla2xxx: remove default fabric ops callouts
  scsi: efct: remove default fabric ops callouts
  target: add virtual remote target

 drivers/infiniband/ulp/srpt/ib_srpt.c    |  33 ---
 drivers/scsi/elx/efct/efct_lio.c         |  20 --
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c |  30 ---
 drivers/scsi/qla2xxx/tcm_qla2xxx.c       |  14 --
 drivers/target/Kconfig                   |   1 +
 drivers/target/Makefile                  |   1 +
 drivers/target/loopback/tcm_loop.c       |  41 ----
 drivers/target/sbp/sbp_target.c          |  31 ---
 drivers/target/target_core_configfs.c    |  96 +++++---
 drivers/target/tcm_fc/tcm_fc.h           |   1 -
 drivers/target/tcm_fc/tfc_cmd.c          |   5 -
 drivers/target/tcm_fc/tfc_conf.c         |  15 --
 drivers/target/tcm_remote/Kconfig        |   8 +
 drivers/target/tcm_remote/Makefile       |   2 +
 drivers/target/tcm_remote/tcm_remote.c   | 277 +++++++++++++++++++++++
 drivers/target/tcm_remote/tcm_remote.h   |  20 ++
 drivers/usb/gadget/function/f_tcm.c      |  31 ---
 drivers/vhost/scsi.c                     |  31 ---
 drivers/xen/xen-scsiback.c               |  30 ---
 19 files changed, 389 insertions(+), 316 deletions(-)
 create mode 100644 drivers/target/tcm_remote/Kconfig
 create mode 100644 drivers/target/tcm_remote/Makefile
 create mode 100644 drivers/target/tcm_remote/tcm_remote.c
 create mode 100644 drivers/target/tcm_remote/tcm_remote.h