[PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces

Klaus Jensen posted 48 patches 4 years ago
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test checkpatch failed
Test FreeBSD passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200415055140.466900-1-its@irrelevant.dk
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Max Reitz <mreitz@redhat.com>, Keith Busch <keith.busch@intel.com>, Eduardo Habkost <ehabkost@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Fam Zheng <fam@euphon.net>
MAINTAINERS            |    1 +
block/nvme.c           |   22 +-
docs/specs/nvme.txt    |   25 +
docs/specs/pci-ids.txt |    1 +
hw/block/Makefile.objs |    2 +-
hw/block/nvme-ns.c     |  162 +++
hw/block/nvme-ns.h     |   62 ++
hw/block/nvme.c        | 2139 ++++++++++++++++++++++++++++++++--------
hw/block/nvme.h        |  177 +++-
hw/block/trace-events  |  206 ++--
hw/core/machine.c      |    1 +
include/block/nvme.h   |  190 +++-
include/hw/pci/pci.h   |    4 +-
13 files changed, 2413 insertions(+), 579 deletions(-)
create mode 100644 docs/specs/nvme.txt
create mode 100644 hw/block/nvme-ns.c
create mode 100644 hw/block/nvme-ns.h
[PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces
Posted by Klaus Jensen 4 years ago
From: Klaus Jensen <k.jensen@samsung.com>

Hi,

v7 is mostly just changes proposed by Maxim. Also, Gollu's patch for the
bit bucket sgl descriptor has been added (patch #43), but it is of a
pretty manageable size.



Changes since v6
~~~~~~~~~~~~~~~~

* 01/48 ("nvme: rename trace events to nvme_dev")
  - indentation nitpicks (Maxim)

* 04/48 ("nvme: bump spec data structures to v1.3")
  - added defines for temperature threshold and sensor selection (Maxim)
  - added defines for the EUI64 and NGUID NIDT types (Maxim)

* 09/48 ("nvme: add max_ioqpairs device parameter")
  - hoisted a bugfix out (Maxim)

* 11/48 ("nvme: refactor device realization")
  - pulled the removal of the duplicated cmbsz/cmbloc struct members to
    separate patch (Maxim)
  - fixed an incomplete error message (Maxim)

* 12/48 ("nvme: add temperature threshold feature")
  - use the defines added in 04/48 (Maxim)
  - remove the addition of the unused 'temperature' NvmeCtrl member

* 13/48 ("nvme: add support for the get log page command")
  - use the already defined NvmeErrorLog type (Maxim)
  - add the 'temperature' NvmeCtrl member here instead (Maxim)

* 15/48 ("nvme: add missing mandatory features")
  - fix off-by-one when validating dw11 for the interrupt vector config
    feature (Maxim)
  - some nitpicks (Maxim)

* 16/48 ("nvme: additional tracing")
  - moved some traces (that was added in later patches) to here

* 19/48 ("nvme: support identify namespace descriptor list")
  - refactored for the nth time; I think I'm finally kind of happy with
    it

* 20/48 ("nvme: enforce valid queue creation sequence")
  - added a comment (Maxim)

* 24/48 ("nvme: add mapping helpers")
  - fixed an off-by-one error that would cause valid read/writes to the
    CMB to be rejected (Maxim)
  - add a check on len so we don't add 0 sized elements to the iovec
    (Maxim)

* 26/48 ("nvme: remove redundant has_sg member")
  - pulled the s/dma_acct/block_acct change to a separate patch (Maxim)

* 36/48 ("nvme: allow multiple aios per command")
  - renamed nvme_req_register_aio to nvme_req_add_aio and added some
    comments (Maxim)
  - killed the prinfo patch
  - pulled a bunch of refactoring stuff into other patches to make this
    one easier to read (Maxim)

* 42/48 ("nvme: add support for scatter gather lists")
  - pulled the nvme_addr_read hardening into its own patch (Maxim)
  - refactored the logic around allowed sgl descriptor types (Maxim)
  - additional comments (Maxim)

* 45/48 ("nvme: support multiple namespaces")
  - fix an inconsistent return value
  - fix an edge error case where all namespaces are allocated (Maxim)



git-backport-diff against rebased v6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/48:[0006] [FC] 'nvme: rename trace events to nvme_dev'
002/48:[----] [--] 'nvme: remove superfluous breaks'
003/48:[----] [--] 'nvme: move device parameters to separate struct'
004/48:[0017] [FC] 'nvme: bump spec data structures to v1.3'
005/48:[down]      'nvme: use constants in identify'
006/48:[----] [--] 'nvme: refactor nvme_addr_read'
007/48:[----] [--] 'nvme: add support for the abort command'
008/48:[down]      'nvme: fix pci doorbell size calculation'
009/48:[0002] [FC] 'nvme: add max_ioqpairs device parameter'
010/48:[down]      'nvme: remove redundant cmbloc/cmbsz members'
011/48:[0022] [FC] 'nvme: refactor device realization'
012/48:[0013] [FC] 'nvme: add temperature threshold feature'
013/48:[0007] [FC] 'nvme: add support for the get log page command'
014/48:[----] [-C] 'nvme: add support for the asynchronous event request command'
015/48:[0002] [FC] 'nvme: add missing mandatory features'
016/48:[0014] [FC] 'nvme: additional tracing'
017/48:[----] [--] 'nvme: make sure ncqr and nsqr is valid'
018/48:[----] [--] 'nvme: add log specific field to trace events'
019/48:[0029] [FC] 'nvme: support identify namespace descriptor list'
020/48:[0005] [FC] 'nvme: enforce valid queue creation sequence'
021/48:[----] [--] 'nvme: provide the mandatory subnqn field'
022/48:[----] [--] 'nvme: bump supported version to v1.3'
023/48:[----] [--] 'nvme: memset preallocated requests structures'
024/48:[0010] [FC] 'nvme: add mapping helpers'
025/48:[down]      'nvme: replace dma_acct with blk_acct equivalent'
026/48:[0007] [FC] 'nvme: remove redundant has_sg member'
027/48:[0011] [FC] 'nvme: refactor dma read/write'
028/48:[0004] [FC] 'nvme: pass request along for tracing'
029/48:[----] [--] 'nvme: add request mapping helper'
030/48:[----] [--] 'nvme: verify validity of prp lists in the cmb'
031/48:[----] [-C] 'nvme: refactor request bounds checking'
032/48:[----] [--] 'nvme: add check for mdts'
033/48:[down]      'nvme: be consistent about zeros vs zeroes'
034/48:[down]      'nvme: refactor NvmeRequest'
035/48:[down]      'nvme: remove NvmeCmd parameter'
036/48:[0218] [FC] 'nvme: allow multiple aios per command'
037/48:[down]      'nvme: add nvme_check_rw helper'
038/48:[----] [--] 'nvme: use preallocated qsg/iov in nvme_dma_prp'
039/48:[----] [--] 'pci: pass along the return value of dma_memory_rw'
040/48:[----] [-C] 'nvme: handle dma errors'
041/48:[down]      'nvme: harden cmb access'
042/48:[0102] [FC] 'nvme: add support for scatter gather lists'
043/48:[down]      'nvme: add support for sgl bit bucket descriptor'
044/48:[----] [-C] 'nvme: refactor identify active namespace id list'
045/48:[0036] [FC] 'nvme: support multiple namespaces'
046/48:[----] [--] 'pci: allocate pci id for nvme'
047/48:[----] [--] 'nvme: change controller pci id'
048/48:[----] [-C] 'nvme: make lba data size configurable'



Gollu Appalanaidu (1):
  nvme: add support for sgl bit bucket descriptor

Klaus Jensen (47):
  nvme: rename trace events to nvme_dev
  nvme: remove superfluous breaks
  nvme: move device parameters to separate struct
  nvme: bump spec data structures to v1.3
  nvme: use constants in identify
  nvme: refactor nvme_addr_read
  nvme: add support for the abort command
  nvme: fix pci doorbell size calculation
  nvme: add max_ioqpairs device parameter
  nvme: remove redundant cmbloc/cmbsz members
  nvme: refactor device realization
  nvme: add temperature threshold feature
  nvme: add support for the get log page command
  nvme: add support for the asynchronous event request command
  nvme: add missing mandatory features
  nvme: additional tracing
  nvme: make sure ncqr and nsqr is valid
  nvme: add log specific field to trace events
  nvme: support identify namespace descriptor list
  nvme: enforce valid queue creation sequence
  nvme: provide the mandatory subnqn field
  nvme: bump supported version to v1.3
  nvme: memset preallocated requests structures
  nvme: add mapping helpers
  nvme: replace dma_acct with blk_acct equivalent
  nvme: remove redundant has_sg member
  nvme: refactor dma read/write
  nvme: pass request along for tracing
  nvme: add request mapping helper
  nvme: verify validity of prp lists in the cmb
  nvme: refactor request bounds checking
  nvme: add check for mdts
  nvme: be consistent about zeros vs zeroes
  nvme: refactor NvmeRequest
  nvme: remove NvmeCmd parameter
  nvme: allow multiple aios per command
  nvme: add nvme_check_rw helper
  nvme: use preallocated qsg/iov in nvme_dma_prp
  pci: pass along the return value of dma_memory_rw
  nvme: handle dma errors
  nvme: harden cmb access
  nvme: add support for scatter gather lists
  nvme: refactor identify active namespace id list
  nvme: support multiple namespaces
  pci: allocate pci id for nvme
  nvme: change controller pci id
  nvme: make lba data size configurable

 MAINTAINERS            |    1 +
 block/nvme.c           |   22 +-
 docs/specs/nvme.txt    |   25 +
 docs/specs/pci-ids.txt |    1 +
 hw/block/Makefile.objs |    2 +-
 hw/block/nvme-ns.c     |  162 +++
 hw/block/nvme-ns.h     |   62 ++
 hw/block/nvme.c        | 2139 ++++++++++++++++++++++++++++++++--------
 hw/block/nvme.h        |  177 +++-
 hw/block/trace-events  |  206 ++--
 hw/core/machine.c      |    1 +
 include/block/nvme.h   |  190 +++-
 include/hw/pci/pci.h   |    4 +-
 13 files changed, 2413 insertions(+), 579 deletions(-)
 create mode 100644 docs/specs/nvme.txt
 create mode 100644 hw/block/nvme-ns.c
 create mode 100644 hw/block/nvme-ns.h

-- 
2.26.0


Re: [PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces
Posted by no-reply@patchew.org 4 years ago
Patchew URL: https://patchew.org/QEMU/20200415055140.466900-1-its@irrelevant.dk/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces
Message-id: 20200415055140.466900-1-its@irrelevant.dk
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20200415055140.466900-1-its@irrelevant.dk -> patchew/20200415055140.466900-1-its@irrelevant.dk
Switched to a new branch 'test'
075a008 nvme: make lba data size configurable
47f0589 nvme: change controller pci id
d5526c6 pci: allocate pci id for nvme
c945ecc nvme: support multiple namespaces
88ff4af nvme: refactor identify active namespace id list
05eb730 nvme: add support for sgl bit bucket descriptor
ccd3495 nvme: add support for scatter gather lists
525413d nvme: harden cmb access
c893248 nvme: handle dma errors
a1dcb81 pci: pass along the return value of dma_memory_rw
68e505d nvme: use preallocated qsg/iov in nvme_dma_prp
5778b7c nvme: add nvme_check_rw helper
bddb627 nvme: allow multiple aios per command
450162a nvme: remove NvmeCmd parameter
5b8060c nvme: refactor NvmeRequest
a4c50e4 nvme: be consistent about zeros vs zeroes
d60e3c2 nvme: add check for mdts
465e28d nvme: refactor request bounds checking
34b728f nvme: verify validity of prp lists in the cmb
c944bc7 nvme: add request mapping helper
29cf5ab nvme: pass request along for tracing
dfeb326 nvme: refactor dma read/write
be63c8d nvme: remove redundant has_sg member
31c0f74 nvme: replace dma_acct with blk_acct equivalent
c237462 nvme: add mapping helpers
5edac1b nvme: memset preallocated requests structures
a715b8e nvme: bump supported version to v1.3
1c57d98 nvme: provide the mandatory subnqn field
67a5dd5 nvme: enforce valid queue creation sequence
2e97095 nvme: support identify namespace descriptor list
057a489 nvme: add log specific field to trace events
65f95e3 nvme: make sure ncqr and nsqr is valid
3311059 nvme: additional tracing
3b35916 nvme: add missing mandatory features
9afe18e nvme: add support for the asynchronous event request command
642509b nvme: add support for the get log page command
d97b33d nvme: add temperature threshold feature
c6ca9fc nvme: refactor device realization
2786713 nvme: remove redundant cmbloc/cmbsz members
d9de9d6 nvme: add max_ioqpairs device parameter
5407887 nvme: fix pci doorbell size calculation
fc4bdcc nvme: add support for the abort command
a80e981 nvme: refactor nvme_addr_read
141dde9 nvme: use constants in identify
0d293d8 nvme: bump spec data structures to v1.3
d102a99 nvme: move device parameters to separate struct
21a7d88 nvme: remove superfluous breaks
e3e06ce nvme: rename trace events to nvme_dev

=== OUTPUT BEGIN ===
1/48 Checking commit e3e06ce2a1c6 (nvme: rename trace events to nvme_dev)
2/48 Checking commit 21a7d885cf07 (nvme: remove superfluous breaks)
3/48 Checking commit d102a99b902c (nvme: move device parameters to separate struct)
ERROR: Macros with complex values should be enclosed in parenthesis
#180: FILE: hw/block/nvme.h:6:
+#define DEFINE_NVME_PROPERTIES(_state, _props) \
+    DEFINE_PROP_STRING("serial", _state, _props.serial), \
+    DEFINE_PROP_UINT32("cmb_size_mb", _state, _props.cmb_size_mb, 0), \
+    DEFINE_PROP_UINT32("num_queues", _state, _props.num_queues, 64)

total: 1 errors, 0 warnings, 181 lines checked

Patch 3/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/48 Checking commit 0d293d85aad5 (nvme: bump spec data structures to v1.3)
5/48 Checking commit 141dde95470b (nvme: use constants in identify)
6/48 Checking commit a80e981b44f5 (nvme: refactor nvme_addr_read)
7/48 Checking commit fc4bdcc8d99b (nvme: add support for the abort command)
8/48 Checking commit 5407887ccd40 (nvme: fix pci doorbell size calculation)
9/48 Checking commit d9de9d6bea9b (nvme: add max_ioqpairs device parameter)
10/48 Checking commit 27867136760a (nvme: remove redundant cmbloc/cmbsz members)
11/48 Checking commit c6ca9fc771c8 (nvme: refactor device realization)
12/48 Checking commit d97b33d714fd (nvme: add temperature threshold feature)
13/48 Checking commit 642509b88fa2 (nvme: add support for the get log page command)
14/48 Checking commit 9afe18e6c92e (nvme: add support for the asynchronous event request command)
15/48 Checking commit 3b359168c402 (nvme: add missing mandatory features)
16/48 Checking commit 3311059a2d10 (nvme: additional tracing)
17/48 Checking commit 65f95e32eac2 (nvme: make sure ncqr and nsqr is valid)
18/48 Checking commit 057a489e82f5 (nvme: add log specific field to trace events)
19/48 Checking commit 2e970952379b (nvme: support identify namespace descriptor list)
20/48 Checking commit 67a5dd510a3c (nvme: enforce valid queue creation sequence)
21/48 Checking commit 1c57d98f9cd3 (nvme: provide the mandatory subnqn field)
22/48 Checking commit a715b8ebca1b (nvme: bump supported version to v1.3)
23/48 Checking commit 5edac1bbd208 (nvme: memset preallocated requests structures)
24/48 Checking commit c237462ada4c (nvme: add mapping helpers)
25/48 Checking commit 31c0f741a2d9 (nvme: replace dma_acct with blk_acct equivalent)
26/48 Checking commit be63c8de71b9 (nvme: remove redundant has_sg member)
27/48 Checking commit dfeb3263df77 (nvme: refactor dma read/write)
28/48 Checking commit 29cf5ab19b8e (nvme: pass request along for tracing)
29/48 Checking commit c944bc709579 (nvme: add request mapping helper)
30/48 Checking commit 34b728fd35d6 (nvme: verify validity of prp lists in the cmb)
31/48 Checking commit 465e28dd32a2 (nvme: refactor request bounds checking)
32/48 Checking commit d60e3c234634 (nvme: add check for mdts)
33/48 Checking commit a4c50e475f1d (nvme: be consistent about zeros vs zeroes)
34/48 Checking commit 5b8060cc19a7 (nvme: refactor NvmeRequest)
35/48 Checking commit 450162a9af9e (nvme: remove NvmeCmd parameter)
36/48 Checking commit bddb6275ddec (nvme: allow multiple aios per command)
37/48 Checking commit 5778b7c92f9a (nvme: add nvme_check_rw helper)
38/48 Checking commit 68e505d6710c (nvme: use preallocated qsg/iov in nvme_dma_prp)
39/48 Checking commit a1dcb81b1fc4 (pci: pass along the return value of dma_memory_rw)
40/48 Checking commit c8932482ab54 (nvme: handle dma errors)
41/48 Checking commit 525413d1e0af (nvme: harden cmb access)
42/48 Checking commit ccd349591856 (nvme: add support for scatter gather lists)
43/48 Checking commit 05eb73006c5c (nvme: add support for sgl bit bucket descriptor)
44/48 Checking commit 88ff4af65551 (nvme: refactor identify active namespace id list)
45/48 Checking commit c945ecc719bd (nvme: support multiple namespaces)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#43: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parenthesis
#218: FILE: hw/block/nvme-ns.h:8:
+#define DEFINE_NVME_NS_PROPERTIES(_state, _props) \
+    DEFINE_PROP_DRIVE("drive", _state, blk), \
+    DEFINE_PROP_UINT32("nsid", _state, _props.nsid, 0)

total: 1 errors, 1 warnings, 841 lines checked

Patch 45/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

46/48 Checking commit d5526c6f3499 (pci: allocate pci id for nvme)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

total: 0 errors, 1 warnings, 46 lines checked

Patch 46/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
47/48 Checking commit 47f0589e3647 (nvme: change controller pci id)
48/48 Checking commit 075a008ea8e4 (nvme: make lba data size configurable)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200415055140.466900-1-its@irrelevant.dk/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces
Posted by no-reply@patchew.org 4 years ago
Patchew URL: https://patchew.org/QEMU/20200415055140.466900-1-its@irrelevant.dk/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH v7 00/48] nvme: support NVMe v1.3d, SGLs and multiple namespaces
Message-id: 20200415055140.466900-1-its@irrelevant.dk
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20200412210954.32313-1-f4bug@amsat.org -> patchew/20200412210954.32313-1-f4bug@amsat.org
 - [tag update]      patchew/20200412223619.11284-1-f4bug@amsat.org -> patchew/20200412223619.11284-1-f4bug@amsat.org
 - [tag update]      patchew/20200415055140.466900-1-its@irrelevant.dk -> patchew/20200415055140.466900-1-its@irrelevant.dk
Switched to a new branch 'test'
4ab23cf nvme: make lba data size configurable
4c8a056 nvme: change controller pci id
506f543 pci: allocate pci id for nvme
95623e7 nvme: support multiple namespaces
d2da14b nvme: refactor identify active namespace id list
bbac04c nvme: add support for sgl bit bucket descriptor
f6c40e0 nvme: add support for scatter gather lists
591ccdf nvme: harden cmb access
c3ccf89 nvme: handle dma errors
75febcd pci: pass along the return value of dma_memory_rw
05048e8 nvme: use preallocated qsg/iov in nvme_dma_prp
9a939bd nvme: add nvme_check_rw helper
d1ff466 nvme: allow multiple aios per command
5dc3864 nvme: remove NvmeCmd parameter
0d6fc35 nvme: refactor NvmeRequest
a77654d nvme: be consistent about zeros vs zeroes
9f7ec64 nvme: add check for mdts
0f0481c nvme: refactor request bounds checking
a9208e4 nvme: verify validity of prp lists in the cmb
19b6a4b nvme: add request mapping helper
bad14d6 nvme: pass request along for tracing
3a9fc50 nvme: refactor dma read/write
e3e7e57 nvme: remove redundant has_sg member
98e643a nvme: replace dma_acct with blk_acct equivalent
8e2a196 nvme: add mapping helpers
6c8bfdf nvme: memset preallocated requests structures
2ded511 nvme: bump supported version to v1.3
f4ea0f2 nvme: provide the mandatory subnqn field
8bf580e nvme: enforce valid queue creation sequence
452a2ff nvme: support identify namespace descriptor list
9e8fd3d nvme: add log specific field to trace events
c9a9106 nvme: make sure ncqr and nsqr is valid
2b53bfa nvme: additional tracing
a212237 nvme: add missing mandatory features
a9a43cf nvme: add support for the asynchronous event request command
f5dcf98 nvme: add support for the get log page command
ce62c52 nvme: add temperature threshold feature
656c989 nvme: refactor device realization
509c349 nvme: remove redundant cmbloc/cmbsz members
42e29cd nvme: add max_ioqpairs device parameter
20e6f29 nvme: fix pci doorbell size calculation
acd84e3 nvme: add support for the abort command
eb96029 nvme: refactor nvme_addr_read
075de60 nvme: use constants in identify
16e4f0d nvme: bump spec data structures to v1.3
5ca5eeb nvme: move device parameters to separate struct
bc6fa5c nvme: remove superfluous breaks
ecbfef5 nvme: rename trace events to nvme_dev

=== OUTPUT BEGIN ===
1/48 Checking commit ecbfef51f105 (nvme: rename trace events to nvme_dev)
2/48 Checking commit bc6fa5cc4955 (nvme: remove superfluous breaks)
3/48 Checking commit 5ca5eeb5d92c (nvme: move device parameters to separate struct)
ERROR: Macros with complex values should be enclosed in parenthesis
#180: FILE: hw/block/nvme.h:6:
+#define DEFINE_NVME_PROPERTIES(_state, _props) \
+    DEFINE_PROP_STRING("serial", _state, _props.serial), \
+    DEFINE_PROP_UINT32("cmb_size_mb", _state, _props.cmb_size_mb, 0), \
+    DEFINE_PROP_UINT32("num_queues", _state, _props.num_queues, 64)

total: 1 errors, 0 warnings, 181 lines checked

Patch 3/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/48 Checking commit 16e4f0dd48eb (nvme: bump spec data structures to v1.3)
5/48 Checking commit 075de60b9c58 (nvme: use constants in identify)
6/48 Checking commit eb9602977cf4 (nvme: refactor nvme_addr_read)
7/48 Checking commit acd84e3bbf0d (nvme: add support for the abort command)
8/48 Checking commit 20e6f29fe81d (nvme: fix pci doorbell size calculation)
9/48 Checking commit 42e29cd4ba89 (nvme: add max_ioqpairs device parameter)
10/48 Checking commit 509c349c8755 (nvme: remove redundant cmbloc/cmbsz members)
11/48 Checking commit 656c98958103 (nvme: refactor device realization)
12/48 Checking commit ce62c5295b18 (nvme: add temperature threshold feature)
13/48 Checking commit f5dcf988ef1a (nvme: add support for the get log page command)
14/48 Checking commit a9a43cf3d965 (nvme: add support for the asynchronous event request command)
15/48 Checking commit a21223712932 (nvme: add missing mandatory features)
16/48 Checking commit 2b53bfa79af6 (nvme: additional tracing)
17/48 Checking commit c9a91061dbeb (nvme: make sure ncqr and nsqr is valid)
18/48 Checking commit 9e8fd3ddf0bc (nvme: add log specific field to trace events)
19/48 Checking commit 452a2ffe63ee (nvme: support identify namespace descriptor list)
20/48 Checking commit 8bf580e70657 (nvme: enforce valid queue creation sequence)
21/48 Checking commit f4ea0f21000e (nvme: provide the mandatory subnqn field)
22/48 Checking commit 2ded5117428e (nvme: bump supported version to v1.3)
23/48 Checking commit 6c8bfdfdedac (nvme: memset preallocated requests structures)
24/48 Checking commit 8e2a196c482a (nvme: add mapping helpers)
25/48 Checking commit 98e643a6ff9c (nvme: replace dma_acct with blk_acct equivalent)
26/48 Checking commit e3e7e5712935 (nvme: remove redundant has_sg member)
27/48 Checking commit 3a9fc50dd3d8 (nvme: refactor dma read/write)
28/48 Checking commit bad14d6db88c (nvme: pass request along for tracing)
29/48 Checking commit 19b6a4bc26d6 (nvme: add request mapping helper)
30/48 Checking commit a9208e457a15 (nvme: verify validity of prp lists in the cmb)
31/48 Checking commit 0f0481c13a90 (nvme: refactor request bounds checking)
32/48 Checking commit 9f7ec646dfb3 (nvme: add check for mdts)
33/48 Checking commit a77654d0651b (nvme: be consistent about zeros vs zeroes)
34/48 Checking commit 0d6fc3519806 (nvme: refactor NvmeRequest)
35/48 Checking commit 5dc386494d66 (nvme: remove NvmeCmd parameter)
36/48 Checking commit d1ff466e6519 (nvme: allow multiple aios per command)
37/48 Checking commit 9a939bdbbe7a (nvme: add nvme_check_rw helper)
38/48 Checking commit 05048e848b16 (nvme: use preallocated qsg/iov in nvme_dma_prp)
39/48 Checking commit 75febcd68a46 (pci: pass along the return value of dma_memory_rw)
40/48 Checking commit c3ccf898265d (nvme: handle dma errors)
41/48 Checking commit 591ccdf3c944 (nvme: harden cmb access)
42/48 Checking commit f6c40e0d1671 (nvme: add support for scatter gather lists)
43/48 Checking commit bbac04c4a9c3 (nvme: add support for sgl bit bucket descriptor)
44/48 Checking commit d2da14b49e99 (nvme: refactor identify active namespace id list)
45/48 Checking commit 95623e7d16d1 (nvme: support multiple namespaces)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#43: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parenthesis
#218: FILE: hw/block/nvme-ns.h:8:
+#define DEFINE_NVME_NS_PROPERTIES(_state, _props) \
+    DEFINE_PROP_DRIVE("drive", _state, blk), \
+    DEFINE_PROP_UINT32("nsid", _state, _props.nsid, 0)

total: 1 errors, 1 warnings, 841 lines checked

Patch 45/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

46/48 Checking commit 506f54399c6a (pci: allocate pci id for nvme)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

total: 0 errors, 1 warnings, 46 lines checked

Patch 46/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
47/48 Checking commit 4c8a056f5893 (nvme: change controller pci id)
48/48 Checking commit 4ab23cf5a34f (nvme: make lba data size configurable)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200415055140.466900-1-its@irrelevant.dk/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com