diff mbox series

hw/block/nvme: update nsid when registered

Message ID 20201001215059.866660-1-its@irrelevant.dk
State Superseded
Headers show
Series hw/block/nvme: update nsid when registered | expand

Commit Message

Klaus Jensen Oct. 1, 2020, 9:50 p.m. UTC
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(-)

Comments

Dmitry Fomichev Oct. 2, 2020, 3:08 a.m. UTC | #1
> -----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

>
Klaus Jensen Oct. 13, 2020, 8:27 a.m. UTC | #2
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 mbox series

Patch

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;
             }
         }