Message ID | 20201001215059.866660-1-its@irrelevant.dk |
---|---|
State | Superseded |
Headers | show |
Series | hw/block/nvme: update nsid when registered | expand |
> -----Original Message----- > From: Qemu-devel <qemu-devel- > bounces+dmitry.fomichev=wdc.com@nongnu.org> On Behalf Of Klaus > Jensen > Sent: Thursday, October 1, 2020 5:51 PM > To: qemu-devel@nongnu.org > Cc: Kevin Wolf <kwolf@redhat.com>; qemu-block@nongnu.org; Klaus Jensen > <k.jensen@samsung.com>; Max Reitz <mreitz@redhat.com>; Klaus Jensen > <its@irrelevant.dk>; Keith Busch <kbusch@kernel.org> > Subject: [PATCH] hw/block/nvme: update nsid when registered > > From: Klaus Jensen <k.jensen@samsung.com> > > If the user does not specify an nsid parameter on the nvme-ns device, > nvme_register_namespace will find the first free namespace id and assign > that. > > This fix makes sure the assigned id is saved. > > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Yep, this makes autogenerated NSIDs work. Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com> > --- > hw/block/nvme.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index da8344f196a8..bb1ee009cd31 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -2583,7 +2583,7 @@ int nvme_register_namespace(NvmeCtrl *n, > NvmeNamespace *ns, Error **errp) > for (int i = 1; i <= n->num_namespaces; i++) { > NvmeNamespace *ns = nvme_ns(n, i); > if (!ns) { > - nsid = i; > + nsid = ns->params.nsid = i; > break; > } > } > -- > 2.28.0 >
On Oct 1 23:50, Klaus Jensen wrote: > From: Klaus Jensen <k.jensen@samsung.com> > > If the user does not specify an nsid parameter on the nvme-ns device, > nvme_register_namespace will find the first free namespace id and assign > that. > > This fix makes sure the assigned id is saved. > > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> > --- > hw/block/nvme.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index da8344f196a8..bb1ee009cd31 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -2583,7 +2583,7 @@ int nvme_register_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **errp) > for (int i = 1; i <= n->num_namespaces; i++) { > NvmeNamespace *ns = nvme_ns(n, i); > if (!ns) { > - nsid = i; > + nsid = ns->params.nsid = i; > break; > } > } > -- > 2.28.0 > > Applied to nvme-next.
diff --git a/hw/block/nvme.c b/hw/block/nvme.c index da8344f196a8..bb1ee009cd31 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -2583,7 +2583,7 @@ int nvme_register_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **errp) for (int i = 1; i <= n->num_namespaces; i++) { NvmeNamespace *ns = nvme_ns(n, i); if (!ns) { - nsid = i; + nsid = ns->params.nsid = i; break; } }