qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] a3d9f3: docs: add nvme emulation documentatio


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] a3d9f3: docs: add nvme emulation documentation
Date: Mon, 12 Apr 2021 02:41:53 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: a3d9f3a9629bfb22864e83e73f047cd62e9ba283
      
https://github.com/qemu/qemu/commit/a3d9f3a9629bfb22864e83e73f047cd62e9ba283
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-04-12 (Mon, 12 Apr 2021)

  Changed paths:
    M MAINTAINERS
    R docs/specs/nvme.txt
    M docs/system/index.rst
    A docs/system/nvme.rst

  Log Message:
  -----------
  docs: add nvme emulation documentation

Remove the docs/specs/nvme.txt and replace it with proper documentation
in docs/system/nvme.rst.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


  Commit: d357230b20e5f238e5ff6084cdf6d3231d27f0c6
      
https://github.com/qemu/qemu/commit/d357230b20e5f238e5ff6084cdf6d3231d27f0c6
  Author: Padmakar Kalghatgi <p.kalghatgi@samsung.com>
  Date:   2021-04-12 (Mon, 12 Apr 2021)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: map prp fix if prp2 contains non-zero offset

nvme_map_prp needs to calculate the number of list entries based on the
offset value. For the subsequent PRP2 list, need to ensure the number of
entries is within the MAX number of PRP entries for a page.

Signed-off-by: Padmakar Kalghatgi <p.kalghatgi@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 5cefe2870874e6442eba62408bedbb4338b183a3
      
https://github.com/qemu/qemu/commit/5cefe2870874e6442eba62408bedbb4338b183a3
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-04-12 (Mon, 12 Apr 2021)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: store aiocb in compare

nvme_compare() fails to store the aiocb from the blk_aio_preadv() call.
Fix this.

Fixes: 0a384f923f51 ("hw/block/nvme: add compare command")
Cc: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>


  Commit: 98f84f5a4eca5c03e32fff20f246d9b4b96d6422
      
https://github.com/qemu/qemu/commit/98f84f5a4eca5c03e32fff20f246d9b4b96d6422
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-04-12 (Mon, 12 Apr 2021)

  Changed paths:
    M hw/block/nvme.c

  Log Message:
  -----------
  hw/block/nvme: drain namespaces on sq deletion

For most commands, when issuing an AIO, the BlockAIOCB is stored in the
NvmeRequest aiocb pointer when the AIO is issued. The main use of this
is cancelling AIOs when deleting submission queues (it is currently not
used for Abort).

However, some commands like Dataset Management Zone Management Send
(zone reset) may involve more than one AIO and here the AIOs are issued
without saving a reference to the BlockAIOCB. This is a problem since
nvme_del_sq() will attempt to cancel outstanding AIOs, potentially with
an invalid BlockAIOCB since the aiocb pointer is not NULL'ed when the
request structure is recycled.

Fix this by

  1. making sure the aiocb pointer is NULL'ed when requests are recycled
  2. only attempt to cancel the AIO if the aiocb is non-NULL
  3. if any AIOs could not be cancelled, drain all aio as a last resort.

Fixes: dc04d25e2f3f ("hw/block/nvme: add support for the format nvm command")
Fixes: c94973288cd9 ("hw/block/nvme: add broadcast nsid support flush command")
Fixes: e4e430b3d6ba ("hw/block/nvme: add simple copy command")
Fixes: 5f5dc4c6a942 ("hw/block/nvme: zero out zones on reset")
Fixes: 2605257a26b8 ("hw/block/nvme: add the dataset management command")
Cc: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Cc: Minwoo Im <minwoo.im@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>


  Commit: f2afdc2ad94b99cc98371791cabc308b547e4add
      
https://github.com/qemu/qemu/commit/f2afdc2ad94b99cc98371791cabc308b547e4add
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-12 (Mon, 12 Apr 2021)

  Changed paths:
    M MAINTAINERS
    R docs/specs/nvme.txt
    M docs/system/index.rst
    A docs/system/nvme.rst
    M hw/block/nvme.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/nvme/tags/nvme-fixes-20210412-pull-request' into staging

emulated nvme docs and fixes for -rc3

- documentation
- fixes

# gpg: Signature made Mon 12 Apr 2021 07:56:09 BST
# gpg:                using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9
# gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown]
# gpg:                 aka "Klaus Jensen <k.jensen@samsung.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: DDCA 4D9C 9EF9 31CC 3468  4272 63D5 6FC5 E55D A838
#      Subkey fingerprint: 5228 33AA 75E2 DCE6 A247  66C0 4DE1 AF31 6D4F 0DE9

* remotes/nvme/tags/nvme-fixes-20210412-pull-request:
  hw/block/nvme: drain namespaces on sq deletion
  hw/block/nvme: store aiocb in compare
  hw/block/nvme: map prp fix if prp2 contains non-zero offset
  docs: add nvme emulation documentation

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/555249a59e9c...f2afdc2ad94b



reply via email to

[Prev in Thread] Current Thread [Next in Thread]