This patch adds vmid support to the nvme-fc transport. Various virtualization technologies used in Fibre Channel SAN deployments have the ability to identify and associate traffic with specific virtualized applications. The T11 standard defines an application services tag that can be added to FC traffic to aid in identification and monitoring of traffic associated with the applications. VMID support is present in the kernel in blkcg, the SCSI fc transport has tied into the infrastructure, and libvirt has been updated to support the blkcg settings. Refer to: https://lore.kernel.org/all/20210608043556.274139-1-muneendra.kumar@xxxxxxxxxxxx/ This patch set ties the nvme-fc transport into the blkcg infrastructure so that vmid tags can be added to nvme traffic. The patch set also updates the lpfc driver to utilize the nvme-fc transport addition. Although the patch adds a nvme interface, it is being sent to the SCSI maintainers tree due to the lpfc dependencies. As there is no other consumer of the new interface, when the scsi tree merges with mainline, the new interface will be picked up there. Patches cut against scsi 5.19/scsi-queue tree with lpfc 14.2.0.3 patches included. V2: Revised the first patch which calls blkcg_get_fc_appid(). Fixes build errors when merged with blk-cgroup: move blkcg_{get,set}_fc_appid out of line commit db05628435aa James Smart (3): lpfc: commonize VMID code location lpfc: rework lpfc_vmid_get_appid() to be protocol independent lpfc: Add support for vmid tagging of NVMe I/Os Muneendra (1): nvme-fc: Add new routine nvme_fc_io_getuuid drivers/nvme/host/fc.c | 18 +++ drivers/scsi/lpfc/Makefile | 2 +- drivers/scsi/lpfc/lpfc_crtn.h | 3 + drivers/scsi/lpfc/lpfc_nvme.c | 45 ++++++ drivers/scsi/lpfc/lpfc_scsi.c | 263 +----------------------------- drivers/scsi/lpfc/lpfc_vmid.c | 288 +++++++++++++++++++++++++++++++++ include/linux/nvme-fc-driver.h | 14 ++ 7 files changed, 373 insertions(+), 260 deletions(-) create mode 100644 drivers/scsi/lpfc/lpfc_vmid.c -- 2.26.2