mbox series

[v3,00/12] add virtual remote fabric

Message ID 20230313181110.20566-1-d.bogdanov@yadro.com (mailing list archive)
Headers show
Series add virtual remote fabric | expand

Message

Dmitry Bogdanov March 13, 2023, 6:10 p.m. UTC
The patchset is based on 6.4/scsi-staging 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:
 v3:
    usb:gadjet to usb: gadget
    fix identation in patch 12
    simplify init function for remote fabric

 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: gadget: 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    |  94 +++++---
 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   | 268 +++++++++++++++++++++++
 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, 361 insertions(+), 315 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

Comments

Martin K. Petersen March 17, 2023, 3:41 a.m. UTC | #1
Dmitry,

> The patchset is based on 6.4/scsi-staging 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.

Applied to 6.4/scsi-staging, thanks!
Martin K. Petersen March 24, 2023, 9:06 p.m. UTC | #2
On Mon, 13 Mar 2023 21:10:58 +0300, Dmitry Bogdanov wrote:

> The patchset is based on 6.4/scsi-staging 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.
> 
> [...]

Applied to 6.4/scsi-queue, thanks!

[01/12] scsi: target: add default fabric ops callaouts
        https://git.kernel.org/mkp/scsi/c/e5dc6e445c38
[02/12] infiniband: srpt: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/aafa9bdd4d68
[03/12] scsi: ibmvscsit: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/8ff1c3623d06
[04/12] scsi: target: loop: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/2af6800f2135
[05/12] scsi: target: sbp: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/c9593f4856f3
[06/12] scsi: target: fcoe: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/515509855d1f
[07/12] usb: gadget: f_tcm: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/55a42c313ec9
[08/12] vhost-scsi: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/22ebaf61ecbc
[09/12] xen-scsiback: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/355c3d61357a
[10/12] scsi: qla2xxx: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/237f109ceee7
[11/12] scsi: efct: remove default fabric ops callouts
        https://git.kernel.org/mkp/scsi/c/df02beb9afd2
[12/12] target: add virtual remote target
        https://git.kernel.org/mkp/scsi/c/075a5d356103