From: Niklas Cassel Date: Mon, 20 Feb 2023 11:59:23 +0000 (+0100) Subject: hw/nvme: store a pointer to the NvmeSubsystem in the NvmeNamespace X-Git-Tag: qemu-xen-4.18.0-rc5~285^2~3 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=534a93d3a0bbde4248889ece1e0874ab98a96508;p=qemu-xen.git hw/nvme: store a pointer to the NvmeSubsystem in the NvmeNamespace Each NvmeNamespace can be used by serveral controllers, but a NvmeNamespace can at most belong to a single NvmeSubsystem. Store a pointer to the NvmeSubsystem, if the namespace was realized with a NvmeSubsystem. Reviewed-by: Keith Busch Signed-off-by: Niklas Cassel Signed-off-by: Klaus Jensen --- diff --git a/hw/nvme/ns.c b/hw/nvme/ns.c index 62a1f97be0..8ebab4fbce 100644 --- a/hw/nvme/ns.c +++ b/hw/nvme/ns.c @@ -561,6 +561,7 @@ static void nvme_ns_realize(DeviceState *dev, Error **errp) if (!qdev_set_parent_bus(dev, &subsys->bus.parent_bus, errp)) { return; } + ns->subsys = subsys; } if (nvme_ns_setup(ns, errp)) { diff --git a/hw/nvme/nvme.h b/hw/nvme/nvme.h index 16da27a69b..5d221073ac 100644 --- a/hw/nvme/nvme.h +++ b/hw/nvme/nvme.h @@ -167,6 +167,7 @@ typedef struct NvmeNamespace { int32_t nr_active_zones; NvmeNamespaceParams params; + NvmeSubsystem *subsys; struct { uint32_t err_rec;