* [PATCH v2 1/5] hw/block/nvme: remove unnecessary endian conversion
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
@ 2021-02-22 18:47 ` Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 2/5] hw/block/nvme: add identify trace event Klaus Jensen
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 18:47 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, Max Reitz, Klaus Jensen, Minwoo Im,
Stefan Hajnoczi, Keith Busch
From: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Remove an unnecessary le_to_cpu conversion in Identify.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.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 1cd82fa3c9fe..c0b349dfab0d 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -3415,7 +3415,7 @@ static uint16_t nvme_identify(NvmeCtrl *n, NvmeRequest *req)
{
NvmeIdentify *c = (NvmeIdentify *)&req->cmd;
- switch (le32_to_cpu(c->cns)) {
+ switch (c->cns) {
case NVME_ID_CNS_NS:
/* fall through */
case NVME_ID_CNS_NS_PRESENT:
--
2.30.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/5] hw/block/nvme: add identify trace event
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 1/5] hw/block/nvme: remove unnecessary endian conversion Klaus Jensen
@ 2021-02-22 18:47 ` Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 3/5] hw/block/nvme: fix potential compilation error Klaus Jensen
` (3 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 18:47 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, Max Reitz, Klaus Jensen, Minwoo Im,
Stefan Hajnoczi, Keith Busch
From: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Add a trace event for the Identify command.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
---
hw/block/nvme.c | 3 +++
hw/block/trace-events | 1 +
2 files changed, 4 insertions(+)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index c0b349dfab0d..ddc83f7f7a19 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -3415,6 +3415,9 @@ static uint16_t nvme_identify(NvmeCtrl *n, NvmeRequest *req)
{
NvmeIdentify *c = (NvmeIdentify *)&req->cmd;
+ trace_pci_nvme_identify(nvme_cid(req), c->cns, le16_to_cpu(c->ctrlid),
+ c->csi);
+
switch (c->cns) {
case NVME_ID_CNS_NS:
/* fall through */
diff --git a/hw/block/trace-events b/hw/block/trace-events
index b04f7a3e1890..1f958d09d2a9 100644
--- a/hw/block/trace-events
+++ b/hw/block/trace-events
@@ -61,6 +61,7 @@ pci_nvme_create_sq(uint64_t addr, uint16_t sqid, uint16_t cqid, uint16_t qsize,
pci_nvme_create_cq(uint64_t addr, uint16_t cqid, uint16_t vector, uint16_t size, uint16_t qflags, int ien) "create completion queue, addr=0x%"PRIx64", cqid=%"PRIu16", vector=%"PRIu16", qsize=%"PRIu16", qflags=%"PRIu16", ien=%d"
pci_nvme_del_sq(uint16_t qid) "deleting submission queue sqid=%"PRIu16""
pci_nvme_del_cq(uint16_t cqid) "deleted completion queue, cqid=%"PRIu16""
+pci_nvme_identify(uint16_t cid, uint8_t cns, uint16_t ctrlid, uint8_t csi) "cid %"PRIu16" cns 0x%"PRIx8" ctrlid %"PRIu16" csi 0x%"PRIx8""
pci_nvme_identify_ctrl(void) "identify controller"
pci_nvme_identify_ctrl_csi(uint8_t csi) "identify controller, csi=0x%"PRIx8""
pci_nvme_identify_ns(uint32_t ns) "nsid %"PRIu32""
--
2.30.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/5] hw/block/nvme: fix potential compilation error
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 1/5] hw/block/nvme: remove unnecessary endian conversion Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 2/5] hw/block/nvme: add identify trace event Klaus Jensen
@ 2021-02-22 18:47 ` Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 4/5] hw/block/nvme: add trace event for zone read check Klaus Jensen
` (2 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 18:47 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, Max Reitz, Klaus Jensen, Stefan Hajnoczi,
Keith Busch
From: Gollu Appalanaidu <anaidu.gollu@samsung.com>
assert may be compiled to a noop and we could end up returning an
uninitialized status.
Fix this by always returning Internal Device Error as a fallback.
Note that, as pointed out by Philippe, per commit 262a69f4282 ("osdep.h:
Prohibit disabling assert() in supported builds") this shouldn't be
possible. But clean it up so we don't worry about it again.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
[k.jensen: split commit]
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/block/nvme.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index ddc83f7f7a19..dcd51a52951c 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1232,8 +1232,6 @@ static uint16_t nvme_check_zone_write(NvmeNamespace *ns, NvmeZone *zone,
static uint16_t nvme_check_zone_state_for_read(NvmeZone *zone)
{
- uint16_t status;
-
switch (nvme_get_zone_state(zone)) {
case NVME_ZONE_STATE_EMPTY:
case NVME_ZONE_STATE_IMPLICITLY_OPEN:
@@ -1241,16 +1239,14 @@ static uint16_t nvme_check_zone_state_for_read(NvmeZone *zone)
case NVME_ZONE_STATE_FULL:
case NVME_ZONE_STATE_CLOSED:
case NVME_ZONE_STATE_READ_ONLY:
- status = NVME_SUCCESS;
- break;
+ return NVME_SUCCESS;
case NVME_ZONE_STATE_OFFLINE:
- status = NVME_ZONE_OFFLINE;
- break;
+ return NVME_ZONE_OFFLINE;
default:
assert(false);
}
- return status;
+ return NVME_INTERNAL_DEV_ERROR;
}
static uint16_t nvme_check_zone_read(NvmeNamespace *ns, uint64_t slba,
--
2.30.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 4/5] hw/block/nvme: add trace event for zone read check
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
` (2 preceding siblings ...)
2021-02-22 18:47 ` [PATCH v2 3/5] hw/block/nvme: fix potential compilation error Klaus Jensen
@ 2021-02-22 18:47 ` Klaus Jensen
2021-02-22 18:47 ` [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm Klaus Jensen
2021-03-02 6:23 ` [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
5 siblings, 0 replies; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 18:47 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, Max Reitz, Klaus Jensen, Stefan Hajnoczi,
Keith Busch
From: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Add a trace event for the offline zone condition when checking zone
read.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
[k.jensen: split commit]
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 dcd51a52951c..b641c7a45a2f 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1241,6 +1241,7 @@ static uint16_t nvme_check_zone_state_for_read(NvmeZone *zone)
case NVME_ZONE_STATE_READ_ONLY:
return NVME_SUCCESS;
case NVME_ZONE_STATE_OFFLINE:
+ trace_pci_nvme_err_zone_is_offline(zone->d.zslba);
return NVME_ZONE_OFFLINE;
default:
assert(false);
--
2.30.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
` (3 preceding siblings ...)
2021-02-22 18:47 ` [PATCH v2 4/5] hw/block/nvme: add trace event for zone read check Klaus Jensen
@ 2021-02-22 18:47 ` Klaus Jensen
2021-02-22 20:55 ` Keith Busch
2021-03-02 6:23 ` [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
5 siblings, 1 reply; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 18:47 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, Max Reitz, Klaus Jensen, Stefan Hajnoczi,
Keith Busch
From: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Dataset Management is not subject to MDTS, but exceeded a certain size
per range causes internal looping. Report this limit (DMRSL) in the NVM
command set specific identify controller data structure.
Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/block/nvme.h | 1 +
include/block/nvme.h | 11 +++++++++++
hw/block/nvme.c | 29 +++++++++++++++++++++--------
hw/block/trace-events | 1 +
4 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index cb2b5175f1a1..3046b82b3da1 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -172,6 +172,7 @@ typedef struct NvmeCtrl {
int aer_queued;
uint8_t zasl;
+ uint32_t dmrsl;
NvmeSubsystem *subsys;
diff --git a/include/block/nvme.h b/include/block/nvme.h
index b23f3ae2279f..16d8c4c90f7e 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -1041,6 +1041,16 @@ typedef struct NvmeIdCtrlZoned {
uint8_t rsvd1[4095];
} NvmeIdCtrlZoned;
+typedef struct NvmeIdCtrlNvm {
+ uint8_t vsl;
+ uint8_t wzsl;
+ uint8_t wusl;
+ uint8_t dmrl;
+ uint32_t dmrsl;
+ uint64_t dmsl;
+ uint8_t rsvd16[4080];
+} NvmeIdCtrlNvm;
+
enum NvmeIdCtrlOacs {
NVME_OACS_SECURITY = 1 << 0,
NVME_OACS_FORMAT = 1 << 1,
@@ -1396,6 +1406,7 @@ static inline void _nvme_check_size(void)
QEMU_BUILD_BUG_ON(sizeof(NvmeEffectsLog) != 4096);
QEMU_BUILD_BUG_ON(sizeof(NvmeIdCtrl) != 4096);
QEMU_BUILD_BUG_ON(sizeof(NvmeIdCtrlZoned) != 4096);
+ QEMU_BUILD_BUG_ON(sizeof(NvmeIdCtrlNvm) != 4096);
QEMU_BUILD_BUG_ON(sizeof(NvmeLBAF) != 4);
QEMU_BUILD_BUG_ON(sizeof(NvmeLBAFE) != 16);
QEMU_BUILD_BUG_ON(sizeof(NvmeIdNs) != 4096);
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index b641c7a45a2f..4013bf53d4ff 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1775,6 +1775,10 @@ static uint16_t nvme_dsm(NvmeCtrl *n, NvmeRequest *req)
trace_pci_nvme_dsm_deallocate(nvme_cid(req), nvme_nsid(ns), slba,
nlb);
+ if (nlb > n->dmrsl) {
+ trace_pci_nvme_dsm_single_range_limit_exceeded(nlb, n->dmrsl);
+ }
+
offset = nvme_l2b(ns, slba);
len = nvme_l2b(ns, nlb);
@@ -3200,21 +3204,27 @@ static uint16_t nvme_identify_ctrl(NvmeCtrl *n, NvmeRequest *req)
static uint16_t nvme_identify_ctrl_csi(NvmeCtrl *n, NvmeRequest *req)
{
NvmeIdentify *c = (NvmeIdentify *)&req->cmd;
- NvmeIdCtrlZoned id = {};
+ uint8_t id[NVME_IDENTIFY_DATA_SIZE] = {};
trace_pci_nvme_identify_ctrl_csi(c->csi);
- if (c->csi == NVME_CSI_NVM) {
- return nvme_rpt_empty_id_struct(n, req);
- } else if (c->csi == NVME_CSI_ZONED) {
+ switch (c->csi) {
+ case NVME_CSI_NVM:
+ ((NvmeIdCtrlNvm *)&id)->dmrsl = cpu_to_le32(n->dmrsl);
+ break;
+
+ case NVME_CSI_ZONED:
if (n->params.zasl_bs) {
- id.zasl = n->zasl;
+ ((NvmeIdCtrlZoned *)&id)->zasl = n->zasl;
}
- return nvme_dma(n, (uint8_t *)&id, sizeof(id),
- DMA_DIRECTION_FROM_DEVICE, req);
+
+ break;
+
+ default:
+ return NVME_INVALID_FIELD | NVME_DNR;
}
- return NVME_INVALID_FIELD | NVME_DNR;
+ return nvme_dma(n, id, sizeof(id), DMA_DIRECTION_FROM_DEVICE, req);
}
static uint16_t nvme_identify_ns(NvmeCtrl *n, NvmeRequest *req)
@@ -4668,6 +4678,9 @@ int nvme_register_namespace(NvmeCtrl *n, NvmeNamespace *ns, Error **errp)
n->namespaces[nsid - 1] = ns;
+ n->dmrsl = MIN_NON_ZERO(n->dmrsl,
+ BDRV_REQUEST_MAX_BYTES / nvme_l2b(ns, 1));
+
return 0;
}
diff --git a/hw/block/trace-events b/hw/block/trace-events
index 1f958d09d2a9..27940fe2e98a 100644
--- a/hw/block/trace-events
+++ b/hw/block/trace-events
@@ -51,6 +51,7 @@ pci_nvme_copy_cb(uint16_t cid) "cid %"PRIu16""
pci_nvme_block_status(int64_t offset, int64_t bytes, int64_t pnum, int ret, bool zeroed) "offset %"PRId64" bytes %"PRId64" pnum %"PRId64" ret 0x%x zeroed %d"
pci_nvme_dsm(uint16_t cid, uint32_t nsid, uint32_t nr, uint32_t attr) "cid %"PRIu16" nsid %"PRIu32" nr %"PRIu32" attr 0x%"PRIx32""
pci_nvme_dsm_deallocate(uint16_t cid, uint32_t nsid, uint64_t slba, uint32_t nlb) "cid %"PRIu16" nsid %"PRIu32" slba %"PRIu64" nlb %"PRIu32""
+pci_nvme_dsm_single_range_limit_exceeded(uint32_t nlb, uint32_t dmrsl) "nlb %"PRIu32" dmrsl %"PRIu32""
pci_nvme_compare(uint16_t cid, uint32_t nsid, uint64_t slba, uint32_t nlb) "cid %"PRIu16" nsid %"PRIu32" slba 0x%"PRIx64" nlb %"PRIu32""
pci_nvme_compare_cb(uint16_t cid) "cid %"PRIu16""
pci_nvme_aio_discard_cb(uint16_t cid) "cid %"PRIu16""
--
2.30.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm
2021-02-22 18:47 ` [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm Klaus Jensen
@ 2021-02-22 20:55 ` Keith Busch
2021-02-22 21:12 ` Klaus Jensen
0 siblings, 1 reply; 11+ messages in thread
From: Keith Busch @ 2021-02-22 20:55 UTC (permalink / raw)
To: Klaus Jensen
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, qemu-devel, Max Reitz, Stefan Hajnoczi
On Mon, Feb 22, 2021 at 07:47:59PM +0100, Klaus Jensen wrote:
> +typedef struct NvmeIdCtrlNvm {
> + uint8_t vsl;
> + uint8_t wzsl;
> + uint8_t wusl;
> + uint8_t dmrl;
> + uint32_t dmrsl;
> + uint64_t dmsl;
> + uint8_t rsvd16[4080];
> +} NvmeIdCtrlNvm;
TP 4040a still displays these fields with preceding '...' indicating
something comes before this. Is that just left-over from the integration
for TBD offsets, or is there something that still hasn't been accounted
for?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm
2021-02-22 20:55 ` Keith Busch
@ 2021-02-22 21:12 ` Klaus Jensen
2021-03-01 11:15 ` Klaus Jensen
0 siblings, 1 reply; 11+ messages in thread
From: Klaus Jensen @ 2021-02-22 21:12 UTC (permalink / raw)
To: Keith Busch
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, qemu-devel, Max Reitz, Stefan Hajnoczi
[-- Attachment #1: Type: text/plain, Size: 880 bytes --]
On Feb 23 05:55, Keith Busch wrote:
> On Mon, Feb 22, 2021 at 07:47:59PM +0100, Klaus Jensen wrote:
> > +typedef struct NvmeIdCtrlNvm {
> > + uint8_t vsl;
> > + uint8_t wzsl;
> > + uint8_t wusl;
> > + uint8_t dmrl;
> > + uint32_t dmrsl;
> > + uint64_t dmsl;
> > + uint8_t rsvd16[4080];
> > +} NvmeIdCtrlNvm;
>
> TP 4040a still displays these fields with preceding '...' indicating
> something comes before this. Is that just left-over from the integration
> for TBD offsets, or is there something that still hasn't been accounted
> for?
Good question.
But since the TBDs have been assigned I believe it is just a left-over.
I must admit that I have not cross checked this with all other TPs, but
AFAIK this is the only ratified TP that adds something to the
NVM-specific identify controller data structure.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm
2021-02-22 21:12 ` Klaus Jensen
@ 2021-03-01 11:15 ` Klaus Jensen
2021-03-01 15:37 ` Keith Busch
0 siblings, 1 reply; 11+ messages in thread
From: Klaus Jensen @ 2021-03-01 11:15 UTC (permalink / raw)
To: Keith Busch
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, qemu-devel, Max Reitz, Stefan Hajnoczi
[-- Attachment #1: Type: text/plain, Size: 999 bytes --]
On Feb 22 22:12, Klaus Jensen wrote:
> On Feb 23 05:55, Keith Busch wrote:
> > On Mon, Feb 22, 2021 at 07:47:59PM +0100, Klaus Jensen wrote:
> > > +typedef struct NvmeIdCtrlNvm {
> > > + uint8_t vsl;
> > > + uint8_t wzsl;
> > > + uint8_t wusl;
> > > + uint8_t dmrl;
> > > + uint32_t dmrsl;
> > > + uint64_t dmsl;
> > > + uint8_t rsvd16[4080];
> > > +} NvmeIdCtrlNvm;
> >
> > TP 4040a still displays these fields with preceding '...' indicating
> > something comes before this. Is that just left-over from the integration
> > for TBD offsets, or is there something that still hasn't been accounted
> > for?
>
> Good question.
>
> But since the TBDs have been assigned I believe it is just a left-over.
> I must admit that I have not cross checked this with all other TPs, but
> AFAIK this is the only ratified TP that adds something to the
> NVM-specific identify controller data structure.
Are you otherwise OK with this?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm
2021-03-01 11:15 ` Klaus Jensen
@ 2021-03-01 15:37 ` Keith Busch
0 siblings, 0 replies; 11+ messages in thread
From: Keith Busch @ 2021-03-01 15:37 UTC (permalink / raw)
To: Klaus Jensen
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen,
Gollu Appalanaidu, qemu-devel, Max Reitz, Stefan Hajnoczi
On Mon, Mar 01, 2021 at 12:15:26PM +0100, Klaus Jensen wrote:
> On Feb 22 22:12, Klaus Jensen wrote:
> > On Feb 23 05:55, Keith Busch wrote:
> > > On Mon, Feb 22, 2021 at 07:47:59PM +0100, Klaus Jensen wrote:
> > > > +typedef struct NvmeIdCtrlNvm {
> > > > + uint8_t vsl;
> > > > + uint8_t wzsl;
> > > > + uint8_t wusl;
> > > > + uint8_t dmrl;
> > > > + uint32_t dmrsl;
> > > > + uint64_t dmsl;
> > > > + uint8_t rsvd16[4080];
> > > > +} NvmeIdCtrlNvm;
> > >
> > > TP 4040a still displays these fields with preceding '...' indicating
> > > something comes before this. Is that just left-over from the integration
> > > for TBD offsets, or is there something that still hasn't been accounted
> > > for?
> >
> > Good question.
> >
> > But since the TBDs have been assigned I believe it is just a left-over.
> > I must admit that I have not cross checked this with all other TPs, but
> > AFAIK this is the only ratified TP that adds something to the
> > NVM-specific identify controller data structure.
>
> Are you otherwise OK with this?
Yes, I compared other TP's and it appears to be set for good once an
actual numeric value is assigned, so okay to go here.
Reviewed-by: Keith Busch <kbusch@kernel.org>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 0/5] hw/block/nvme: misc fixes
2021-02-22 18:47 [PATCH v2 0/5] hw/block/nvme: misc fixes Klaus Jensen
` (4 preceding siblings ...)
2021-02-22 18:47 ` [PATCH v2 5/5] hw/block/nvme: report non-mdts command size limit for dsm Klaus Jensen
@ 2021-03-02 6:23 ` Klaus Jensen
5 siblings, 0 replies; 11+ messages in thread
From: Klaus Jensen @ 2021-03-02 6:23 UTC (permalink / raw)
To: qemu-devel
Cc: Fam Zheng, Kevin Wolf, qemu-block, Klaus Jensen, Max Reitz,
Stefan Hajnoczi, Keith Busch
[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]
On Feb 22 19:47, Klaus Jensen wrote:
> From: Klaus Jensen <k.jensen@samsung.com>
>
> Small set of misc fixes from Gollu.
>
> v2 changes
>
> * Split off the trace event additions from "[PATCH 1/3] hw/block/nvme:
> nvme_identify fixes" and "[PATCH 2/3] hw/block/nvme: fix potential
> compilation error" into their own commits (Minwoo, Philippe)
> * Fix a missing check on the zasl_bs param in the
> nvme_identify_ctrl_csi refactor (Minwoo)
>
> Gollu Appalanaidu (5):
> hw/block/nvme: remove unnecessary endian conversion
> hw/block/nvme: add identify trace event
> hw/block/nvme: fix potential compilation error
> hw/block/nvme: add trace event for zone read check
> hw/block/nvme: report non-mdts command size limit for dsm
>
> hw/block/nvme.h | 1 +
> include/block/nvme.h | 11 +++++++++++
> hw/block/nvme.c | 45 ++++++++++++++++++++++++++++---------------
> hw/block/trace-events | 2 ++
> 4 files changed, 43 insertions(+), 16 deletions(-)
>
Applied to nvme-next!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread