qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 0/2] emulated nvme fixes
@ 2021-02-11 12:52 Klaus Jensen
  2021-02-11 12:52 ` [PULL 1/2] hw/block/nvme: fix legacy namespace registration Klaus Jensen
  2021-02-11 12:52 ` [PULL 2/2] hw/block/nvme: Fix a build error in nvme_get_feature() Klaus Jensen
  0 siblings, 2 replies; 4+ messages in thread
From: Klaus Jensen @ 2021-02-11 12:52 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Kevin Wolf, qemu-block, Klaus Jensen, Max Reitz, Keith Busch,
	Klaus Jensen

From: Klaus Jensen <k.jensen@samsung.com>

Hi Peter,

Two small fixes for emulated nvme for regressions reported by Alexander
Graf and Bin Meng.

Please pull!

The following changes since commit 83339e21d05c824ebc9131d644f25c23d0e41ecf:

  Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging (2021-02-10 15:42:20 +0000)

are available in the Git repository at:

  git://git.infradead.org/qemu-nvme.git tags/nvme-fixes-pull-request

for you to fetch changes up to b4471900d5328b66eeecdbc79de83992cc109d04:

  hw/block/nvme: Fix a build error in nvme_get_feature() (2021-02-11 13:46:50 +0100)

----------------------------------------------------------------
Two small fixes for regressions reported by Alexander Graf and Bin Meng.

----------------------------------------------------------------

Bin Meng (1):
  hw/block/nvme: Fix a build error in nvme_get_feature()

Klaus Jensen (1):
  hw/block/nvme: fix legacy namespace registration

 hw/block/nvme.c | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
2.30.0



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PULL 1/2] hw/block/nvme: fix legacy namespace registration
  2021-02-11 12:52 [PULL 0/2] emulated nvme fixes Klaus Jensen
@ 2021-02-11 12:52 ` Klaus Jensen
  2021-02-11 12:54   ` Klaus Jensen
  2021-02-11 12:52 ` [PULL 2/2] hw/block/nvme: Fix a build error in nvme_get_feature() Klaus Jensen
  1 sibling, 1 reply; 4+ messages in thread
From: Klaus Jensen @ 2021-02-11 12:52 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Kevin Wolf, qemu-block, Klaus Jensen, Max Reitz, Keith Busch,
	Alexander Graf, Minwoo Im, Klaus Jensen

From: Klaus Jensen <k.jensen@samsung.com>

Moving namespace registration to the nvme-ns realization function had
the unintended side-effect of breaking legacy namespace registration.
Fix this.

Fixes: 15d024d4aa9b ("hw/block/nvme: split setup and register for namespace")
Reported-by: Alexander Graf <agraf@csgraf.de>
Cc: Minwoo Im <minwoo.im.dev@gmail.com>
Tested-by: Alexander Graf <agraf@csgraf.de>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
 hw/block/nvme.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 5ce21b7100b3..d36e14fe13e2 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -4507,6 +4507,12 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp)
         if (nvme_ns_setup(ns, errp)) {
             return;
         }
+
+        if (nvme_register_namespace(n, ns, errp)) {
+            error_propagate_prepend(errp, local_err,
+                                    "could not register namespace: ");
+            return;
+        }
     }
 }
 
-- 
2.30.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PULL 2/2] hw/block/nvme: Fix a build error in nvme_get_feature()
  2021-02-11 12:52 [PULL 0/2] emulated nvme fixes Klaus Jensen
  2021-02-11 12:52 ` [PULL 1/2] hw/block/nvme: fix legacy namespace registration Klaus Jensen
@ 2021-02-11 12:52 ` Klaus Jensen
  1 sibling, 0 replies; 4+ messages in thread
From: Klaus Jensen @ 2021-02-11 12:52 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Kevin Wolf, qemu-block, Klaus Jensen, Bin Meng, Max Reitz,
	Keith Busch, Klaus Jensen

From: Bin Meng <bin.meng@windriver.com>

Current QEMU HEAD nvme.c does not compile with the default GCC 5.4
on a Ubuntu 16.04 host:

  hw/block/nvme.c:3242:9: error: ‘result’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
         trace_pci_nvme_getfeat_vwcache(result ? "enabled" : "disabled");
         ^
  hw/block/nvme.c:3150:14: note: ‘result’ was declared here
     uint32_t result;
              ^

Explicitly initialize the result to fix it.

Fixes: aa5e55e3b07e ("hw/block/nvme: open code for volatile write cache")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
 hw/block/nvme.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index d36e14fe13e2..31295e5eeb84 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -3228,6 +3228,7 @@ static uint16_t nvme_get_feature(NvmeCtrl *n, NvmeRequest *req)
         result = ns->features.err_rec;
         goto out;
     case NVME_VOLATILE_WRITE_CACHE:
+        result = 0;
         for (i = 1; i <= n->num_namespaces; i++) {
             ns = nvme_ns(n, i);
             if (!ns) {
-- 
2.30.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PULL 1/2] hw/block/nvme: fix legacy namespace registration
  2021-02-11 12:52 ` [PULL 1/2] hw/block/nvme: fix legacy namespace registration Klaus Jensen
@ 2021-02-11 12:54   ` Klaus Jensen
  0 siblings, 0 replies; 4+ messages in thread
From: Klaus Jensen @ 2021-02-11 12:54 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell
  Cc: Kevin Wolf, qemu-block, Klaus Jensen, Max Reitz, Alexander Graf,
	Minwoo Im, Keith Busch

[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]

On Feb 11 13:52, Klaus Jensen wrote:
> From: Klaus Jensen <k.jensen@samsung.com>
> 
> Moving namespace registration to the nvme-ns realization function had
> the unintended side-effect of breaking legacy namespace registration.
> Fix this.
> 
> Fixes: 15d024d4aa9b ("hw/block/nvme: split setup and register for namespace")
> Reported-by: Alexander Graf <agraf@csgraf.de>
> Cc: Minwoo Im <minwoo.im.dev@gmail.com>
> Tested-by: Alexander Graf <agraf@csgraf.de>
> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
> ---
>  hw/block/nvme.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> index 5ce21b7100b3..d36e14fe13e2 100644
> --- a/hw/block/nvme.c
> +++ b/hw/block/nvme.c
> @@ -4507,6 +4507,12 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp)
>          if (nvme_ns_setup(ns, errp)) {
>              return;
>          }
> +
> +        if (nvme_register_namespace(n, ns, errp)) {
> +            error_propagate_prepend(errp, local_err,
> +                                    "could not register namespace: ");
> +            return;
> +        }
>      }
>  }
>  

Argh, sorry Peter.

I just spotted a mistake here. Please ignore until v2...

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-11 13:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-11 12:52 [PULL 0/2] emulated nvme fixes Klaus Jensen
2021-02-11 12:52 ` [PULL 1/2] hw/block/nvme: fix legacy namespace registration Klaus Jensen
2021-02-11 12:54   ` Klaus Jensen
2021-02-11 12:52 ` [PULL 2/2] hw/block/nvme: Fix a build error in nvme_get_feature() Klaus Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).