• Martin K. Petersen's avatar
    Merge patch series "Use block pr_ops in LIO" · 7907ad74
    Martin K. Petersen authored
    Mike Christie <michael.christie@oracle.com> says:
    
    The patches in this thread allow us to use the block pr_ops with LIO's
    target_core_iblock module to support cluster applications in VMs. They
    were built over Linus's tree. They also apply over linux-next and
    Martin's tree and Jens's trees.
    
    Currently, to use windows clustering or linux clustering (pacemaker +
    cluster labs scsi fence agents) in VMs with LIO and vhost-scsi, you
    have to use tcmu or pscsi or use a cluster aware FS/framework for the
    LIO pr file. Setting up a cluster FS/framework is pain and waste when
    your real backend device is already a distributed device, and pscsi
    and tcmu are nice for specific use cases, but iblock gives you the
    best performance and allows you to use stacked devices like
    dm-multipath. So these patches allow iblock to work like pscsi/tcmu
    where they can pass a PR command to the backend module. And then
    iblock will use the pr_ops to pass the PR command to the real devices
    similar to what we do for unmap today.
    
    The patches are separated in the following groups:
    
    Patch 1 - 2:
    
     - Add block layer callouts for reading reservations and rename reservation
       error code.
    
    Patch 3 - 5:
    
     - SCSI support for new callouts.
    
    Patch 6:
    
     - DM support for new callouts.
    
    Patch 7 - 13:
    
     - NVMe support for new callouts.
    
    Patch 14 - 18:
    
     - LIO support for new callouts.
    
    This patchset has been tested with the libiscsi PGR ops and with
    window's failover cluster verification test. Note that for scsi
    backend devices we need this patchset:
    
    https://lore.kernel.org/linux-scsi/20230123221046.125483-1-michael.christie@oracle.com/T/#m4834a643ffb5bac2529d65d40906d3cfbdd9b1b7
    
    to handle UAs. To reduce the size of this patchset that's being done
    separately to make reviewing easier. And to make merging easier this
    patchset and the one above do not have any conflicts so can be merged
    in different trees.
    
    Link: https://lore.kernel.org/r/20230407200551.12660-1-michael.christie@oracle.comSigned-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    7907ad74
dasd.c 111 KB