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: v8.0.0-rc0~24^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=534a93d3a0bbde4248889ece1e0874ab98a96508;p=thirdparty%2Fqemu.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 62a1f97be01..8ebab4fbcea 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 16da27a69bf..5d221073ac6 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;