diff options
| author | Klaus Jensen <k.jensen@samsung.com> | 2025-04-08 12:20:46 +0200 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-04-08 20:46:10 +0200 |
| commit | 8c996e32712820d6d1e62ba6436424d0ba837d96 (patch) | |
| tree | e2133cc3dcd1f6617e26c08b06ffc895851a0c5c /hw/nvme/ns.c | |
| parent | f978f410aa4f4b5ce9a4c18c815507bcbfb75b9d (diff) | |
| download | focaccia-qemu-8c996e32712820d6d1e62ba6436424d0ba837d96.tar.gz focaccia-qemu-8c996e32712820d6d1e62ba6436424d0ba837d96.zip | |
hw/nvme: fix attachment of private namespaces
Fix regression when attaching private namespaces that gets attached to
the wrong controller.
Keep track of the original controller "owner" of private namespaces, and
only attach if this matches on controller enablement.
Fixes: 6ccca4b6bb9f ("hw/nvme: rework csi handling")
Reported-by: Alan Adamson <alan.adamson@oracle.com>
Suggested-by: Alan Adamson <alan.adamson@oracle.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Tested-by: Alan Adamson <alan.adamson@oracle.com>
Reviewed-by: Alan Adamson <alan.adamson@oracle.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Message-ID: <20250408-fix-private-ns-v1-1-28e169b6b60b@samsung.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/nvme/ns.c')
| -rw-r--r-- | hw/nvme/ns.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/nvme/ns.c b/hw/nvme/ns.c index 98c1e75a5d..4ab8ba74f5 100644 --- a/hw/nvme/ns.c +++ b/hw/nvme/ns.c @@ -763,6 +763,10 @@ static void nvme_ns_realize(DeviceState *dev, Error **errp) ns->id_ns.endgid = cpu_to_le16(0x1); ns->id_ns_ind.endgrpid = cpu_to_le16(0x1); + + if (!ns->params.shared) { + ns->ctrl = n; + } } static const Property nvme_ns_props[] = { |