Re: [Qemu-devel] [PATCH 0/4] virtio: handle zoned backing devices

2019-07-10 Thread Dmitry Fomichev
On Wed, 2019-07-10 at 23:09 +0200, Kevin Wolf wrote: > Am 10.07.2019 um 13:33 hat Paolo Bonzini geschrieben: > > On 10/07/19 13:02, Kevin Wolf wrote: > > > Hm... Actually, file-posix implements .bdrv_check_perm and could just > > > refuse attaching a parent there if it doesn't request a specific >

[Qemu-devel] [PATCH v4 2/4] raw: Recognize zoned backing devices

2019-08-23 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 74 ++ block/raw-format.c | 8 + 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index fb

[Qemu-devel] [PATCH v5 1/4] block: Add zoned device model property

2019-08-23 Thread Dmitry Fomichev
block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 19 +++ include/block/block.h | 21 - include

[Qemu-devel] [PATCH v5 0/4] virtio/block: handle zoned backing devices

2019-08-23 Thread Dmitry Fomichev
CAP output snoop v2 -> v3: - drop the patch for RCAP output snoop - merged separately v3 -> v4: - rebase to the current code v4 -> v5: - avoid checkpatch warning Dmitry Fomichev (4): block: Add zoned device model property raw: Recognize zoned backing devices block/i

[Qemu-devel] [PATCH v4 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED

2019-08-23 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev Acked-by: Paul Durrant --- hw/block/block.c | 8 ++-- hw/block/fdc.c | 5 +++-- hw/block/nvme.c | 2 +- hw/block/virtio-blk.c| 2 +- hw/block/xen-block.c

[Qemu-devel] [PATCH v4 1/4] block: Add zoned device model property

2019-08-23 Thread Dmitry Fomichev
block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 19 +++ include/block/block.h | 21 - include

[Qemu-devel] [PATCH v5 4/4] raw: Don't open ZBDs if backend can't handle them

2019-08-23 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ hw/block/fdc.c | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git

[Qemu-devel] [PATCH v4 1/4] block: Add zoned device model property

2019-08-23 Thread Dmitry Fomichev
block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 19 +++ include/block/block.h | 21 - include

[Qemu-devel] [PATCH v4 4/4] raw: Don't open ZBDs if backend can't handle them

2019-08-23 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c

[Qemu-devel] [PATCH v4 2/4] raw: Recognize zoned backing devices

2019-08-23 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 74 ++ block/raw-format.c | 8 + 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index fb

[Qemu-devel] [PATCH v4 0/4] virtio/block: handle zoned backing devices

2019-08-23 Thread Dmitry Fomichev
CAP output snoop v2 -> v3: - drop the patch for RCAP output snoop - merged separately v3 -> v4: - rebase to the current code Dmitry Fomichev (4): block: Add zoned device model property raw: Recognize zoned backing devices block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED raw: Don't

[Qemu-devel] [PATCH v5 2/4] raw: Recognize zoned backing devices

2019-08-23 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 74 ++ block/raw-format.c | 8 + 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index fb

[Qemu-devel] [PATCH v5 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED

2019-08-23 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev Acked-by: Paul Durrant --- hw/block/block.c | 8 ++-- hw/block/fdc.c | 5 +++-- hw/block/nvme.c | 2 +- hw/block/virtio-blk.c| 2 +- hw/block/xen-block.c

[Qemu-devel] [PATCH v6 1/4] block: Add zoned device model property

2019-09-04 Thread Dmitry Fomichev
host managed zoned block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 15 +++ include/block/block.h | 19

[Qemu-devel] [PATCH v6 0/4] virtio/block: handle zoned backing devices

2019-09-04 Thread Dmitry Fomichev
v4 -> v5: - avoid checkpatch warning v5 -> v6: - address review comments from Stefan Hajnoczi Dmitry Fomichev (4): block: Add zoned device model property raw: Recognize zoned backing devices block/ide/scsi: Set BLK_PERM_SUPPORT_HM_ZONED raw: Don't open ZBDs if backend can't handle

Re: [Qemu-devel] [Qemu-block] [PATCH v5 0/4] virtio/block: handle zoned backing devices

2019-09-04 Thread Dmitry Fomichev
On Wed, 2019-08-28 at 10:41 +0100, Stefan Hajnoczi wrote: > On Fri, Aug 23, 2019 at 03:49:23PM -0400, Dmitry Fomichev wrote: > > Dmitry Fomichev (4): > > block: Add zoned device model property > > raw: Recognize zoned backing devices > > block/ide/scsi: Set BLK_P

[Qemu-devel] [PATCH v6 2/4] raw: Recognize zoned backing devices

2019-09-04 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 75 ++ block/io.c | 5 2 files changed, 67 insertions(+), 13 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index fb

[Qemu-devel] [PATCH v6 4/4] raw: Don't open ZBDs if backend can't handle them

2019-09-04 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c

[Qemu-devel] [PATCH v6 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_HM_ZONED

2019-09-04 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev Acked-by: Paul Durrant Reviewed-by: Stefan Hajnoczi --- hw/block/block.c | 8 ++-- hw/block/fdc.c | 5 +++-- hw/block/nvme.c | 2 +- hw/block/virtio

Re: [Qemu-devel] [PATCH v6 1/4] block: Add zoned device model property

2019-09-06 Thread Dmitry Fomichev
On Fri, 2019-09-06 at 23:10 +0200, Stefano Garzarella wrote: > On Fri, Sep 06, 2019 at 04:17:12PM +0000, Dmitry Fomichev wrote: > > On Fri, 2019-09-06 at 10:11 +0200, Stefano Garzarella wrote: > > > On Wed, Sep 04, 2019 at 05:00:57PM -0400, Dmitry Fomichev wrote: > > &g

[Qemu-devel] [PATCH v7 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_HM_ZONED

2019-09-07 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev Acked-by: Paul Durrant Reviewed-by: Stefan Hajnoczi --- hw/block/block.c | 6 +- hw/block/fdc.c | 5 +++-- hw/block/nvme.c | 2 +- hw/block/virtio

[Qemu-devel] [PATCH v7 4/4] raw: Don't open ZBDs if backend can't handle them

2019-09-07 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev Reviewed-by: Stefan Hajnoczi --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file

[Qemu-devel] [PATCH v7 0/4] virtio/block: handle zoned backing devices

2019-09-07 Thread Dmitry Fomichev
v4 -> v5: - avoid checkpatch warning v5 -> v6: - address review comments from Stefan Hajnoczi v6 -> v7: - address review comment from Stefano Garzarella * fix BLK_PERM_ALL mask * add BLK_PERM_SUPPORT_HM_ZONED permission to QAPI schema * add a text name for BLK_PERM_SUPPORT_HM_ZONED

[Qemu-devel] [PATCH v7 1/4] block: Add zoned device model property

2019-09-07 Thread Dmitry Fomichev
host managed zoned block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev Reviewed-by: Stefan Hajnoczi --- block.c | 37

[Qemu-devel] [PATCH v7 2/4] raw: Recognize zoned backing devices

2019-09-07 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev Reviewed-by: Stefan Hajnoczi --- block/file-posix.c | 75 ++ block/io.c | 5 2 files changed, 67 insertions(+), 13 deletions(-) diff --git a/block/file-posix.c

Re: [Qemu-devel] [PATCH v6 1/4] block: Add zoned device model property

2019-09-06 Thread Dmitry Fomichev
On Fri, 2019-09-06 at 10:11 +0200, Stefano Garzarella wrote: > On Wed, Sep 04, 2019 at 05:00:57PM -0400, Dmitry Fomichev wrote: > > This commit adds Zoned Device Model (as defined in T10 ZBC and > > T13 ZAC standards) as a block driver property, along with some > > us

Re: [Qemu-devel] [Qemu-block] [PATCH v3 0/4] virtio/block: handle zoned backing devices

2019-07-26 Thread Dmitry Fomichev
John, please see inline... Regards, Dmitry On Thu, 2019-07-25 at 13:58 -0400, John Snow wrote: > > On 7/23/19 6:19 PM, Dmitry Fomichev wrote: > > Currently, attaching zoned block devices (i.e., storage devices > > compliant to ZAC/ZBC standards) using several virtio method

[Qemu-devel] [PATCH v2 2/5] raw: Recognize zoned backing devices

2019-07-17 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 74 ++ block/raw-format.c | 8 + 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 44

[Qemu-devel] [PATCH v2 1/5] block: Add zoned device model property

2019-07-17 Thread Dmitry Fomichev
block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 19 +++ include/block/block.h | 21 - include

[Qemu-devel] [PATCH v2 5/5] hw/scsi: Check sense key before READ CAPACITY output snoop

2019-07-17 Thread Dmitry Fomichev
From: Shin'ichiro Kawasaki When READ CAPACITY command completes, scsi_read_complete() function snoops the command result and updates SCSIDevice members blocksize and max_lba . However, this update is executed even when READ CAPACITY command indicates an error in sense data. This causes

[Qemu-devel] [PATCH v2 4/5] raw: Don't open ZBDs if backend can't handle them

2019-07-17 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c

[Qemu-devel] [PATCH v2 0/5] virtio/block: handle zoned backing devices

2019-07-17 Thread Dmitry Fomichev
Zoned Block Device model value from Linux sysfs. Dmitry Fomichev (4): block: Add zoned device model property raw: Recognize zoned backing devices block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED raw: Don't open ZBDs if backend can't handle them Shin'ichiro Kawasaki (1): hw/scsi: Check sense

[Qemu-devel] [PATCH v2 3/5] block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED

2019-07-17 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev --- hw/block/block.c | 8 ++-- hw/block/fdc.c | 4 ++-- hw/block/nvme.c | 2 +- hw/block/virtio-blk.c| 2 +- hw/block/xen-block.c | 2 +- hw/ide

Re: [Qemu-devel] [PATCH] scsi-generic: Check sense key before request snooping and patching

2019-07-19 Thread Dmitry Fomichev
Paolo, I've tested this version of the patch and it works fine. Indeed, with this cleanup, the code is more straightforward and robust. Dmitry -Original Message- From: Qemu-devel On Behalf Of Paolo Bonzini Sent: Friday, July 19, 2019 4:17 AM To: qemu-devel@nongnu.org Cc: Shinichiro

[Qemu-devel] [PATCH v3 3/4] block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED

2019-07-23 Thread Dmitry Fomichev
this permission to allow or deny opening a zone device by a particular block driver. Signed-off-by: Dmitry Fomichev Acked-by: Paul Durrant --- hw/block/block.c | 8 ++-- hw/block/fdc.c | 4 ++-- hw/block/nvme.c | 2 +- hw/block/virtio-blk.c| 2 +- hw/block/xen-block.c

[Qemu-devel] [PATCH v3 2/4] raw: Recognize zoned backing devices

2019-07-23 Thread Dmitry Fomichev
ned" value both share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 74 ++ block/raw-format.c | 8 + 2 files changed, 70 insertions(+), 12 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 44

[Qemu-devel] [PATCH v3 0/4] virtio/block: handle zoned backing devices

2019-07-23 Thread Dmitry Fomichev
oop v2 -> v3: - drop the patch for RCAP output snoop - merged separately Dmitry Fomichev (4): block: Add zoned device model property raw: Recognize zoned backing devices block/ide/scsi: Set BLK_PERM_SUPPORT_ZONED raw: Don't open ZBDs if backend can't handle them b

[Qemu-devel] [PATCH v3 1/4] block: Add zoned device model property

2019-07-23 Thread Dmitry Fomichev
block devices. No code is added yet to initialize or check the value of this new property, therefore this commit doesn't change any functionality. Signed-off-by: Dmitry Fomichev --- block.c | 19 +++ include/block/block.h | 21 - include

[Qemu-devel] [PATCH v3 4/4] raw: Don't open ZBDs if backend can't handle them

2019-07-23 Thread Dmitry Fomichev
Abort opening a zoned device as a raw file in case the chosen block backend driver lacks proper support for this type of storage. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c

[Qemu-devel] [PATCH 4/4] hw/scsi: Don't realize zoned block devices for virtio-scsi legacy drivers

2019-07-09 Thread Dmitry Fomichev
From: Shin'ichiro Kawasaki Prevent scsi-hd and scsi-disk drivers from attaching a zoned block device because it will appear as a regular block device at the guest and will most certainly cause problems. The functionality to support ZBDs is not planned for scsi-hd and scsi-disk legacy drivers.

[Qemu-devel] [PATCH 1/4] block: Add zoned device model property

2019-07-09 Thread Dmitry Fomichev
-by: Dmitry Fomichev --- block.c| 14 ++ block/block-backend.c | 20 include/block/block.h | 9 + include/block/block_int.h | 4 include/sysemu/block-backend.h | 2 ++ 5 files changed, 49 insertions

[Qemu-devel] [PATCH 0/4] virtio: handle zoned backing devices

2019-07-09 Thread Dmitry Fomichev
not seem as necessary. Users will be expected to attach zoned block devices via virtio-scsi-pci/scsi-block instead. This patchset contains some Linux-specific code. This code is necessary to obtain Zoned Block Device model value from Linux sysfs. Dmitry Fomichev (3): block: Add zoned device model

[Qemu-devel] [PATCH 3/4] virtio-blk: Don't realize zoned block devices

2019-07-09 Thread Dmitry Fomichev
it implemented, but such work will inevitably lead to some modifications in virtio protocol spec. Therefore, this activity is considered a more long-term effort. So for now, we just don't allow zoned block devices to work via virtio-blk. Signed-off-by: Dmitry Fomichev --- hw/block/virtio-blk.c | 5

[Qemu-devel] [PATCH 2/4] raw: Recognize zoned backing devices

2019-07-09 Thread Dmitry Fomichev
ed" value share the same helper code. Signed-off-by: Dmitry Fomichev --- block/file-posix.c | 69 ++ block/raw-format.c | 8 ++ 2 files changed, 66 insertions(+), 11 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index ab05b51a6

RE: [PATCH v4 2/2] file-posix: add sg_get_max_segments that actually works with sg

2020-09-06 Thread Dmitry Fomichev
> -Original Message- > From: Qemu-block bounces+dmitry.fomichev=wdc@nongnu.org> On Behalf Of Maxim > Levitsky > Sent: Sunday, September 6, 2020 1:06 PM > To: Tom Yan ; ebl...@redhat.com; > pbonz...@redhat.com; f...@euphon.net; anie...@linux.vnet.ibm.com; > kw...@redhat.com;

RE: [PATCH v3 01/15] hw/block/nvme: Define 64 bit cqe.result

2020-09-15 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Tuesday, September 15, 2020 3:37 AM > To: Dmitry Fomichev > Cc: Keith Busch ; Klaus Jensen > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Maxim Levitsky > ; Fam Zheng ; Niklas Cassel > ; Damien Le Moal ; > qem

RE: [PATCH v2 00/15] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set

2020-09-15 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Tuesday, September 15, 2020 3:44 AM > To: Dmitry Fomichev > Cc: Keith Busch ; Klaus Jensen > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Maxim Levitsky > ; Fam Zheng ; Niklas Cassel > ; Damien Le Moal ; > qem

RE: [PATCH v3 02/15] hw/block/nvme: Report actual LBA data shift in LBAF

2020-09-15 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Tuesday, September 15, 2020 3:34 AM > To: Dmitry Fomichev > Cc: Keith Busch ; Klaus Jensen > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Maxim Levitsky > ; Fam Zheng ; Niklas Cassel > ; Damien Le Moal ; > qem

RE: [PATCH v3 01/15] hw/block/nvme: Define 64 bit cqe.result

2020-09-15 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Tuesday, September 15, 2020 3:56 PM > To: Dmitry Fomichev > Cc: Fam Zheng ; Kevin Wolf ; > Damien Le Moal ; qemu-bl...@nongnu.org; > Niklas Cassel ; Klaus Jensen > ; qemu-devel@nongnu.org; Alistair Francis &g

RE: [PATCH v3 14/15] hw/block/nvme: Use zone metadata file for persistence

2020-09-15 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Tuesday, September 15, 2020 3:10 PM > To: Dmitry Fomichev > Cc: Keith Busch ; Klaus Jensen > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Maxim Levitsky > ; Fam Zheng ; Niklas Cassel > ; Damien Le Moal ; > qem

[PATCH v2 01/15] hw/block/nvme: Define 64 bit cqe.result

2020-09-12 Thread Dmitry Fomichev
to be changed from 32 to 64 bit, consuming the reserved 32 bit field that follows the result in CQE struct. Since the existing commands are expected to return a 32 bit LE value, two separate variables, result32 and result64, are now kept in a union. Signed-off-by: Ajay Joshi Signed-off-by: Dmitry Fomichev

[PATCH v2 07/15] hw/block/nvme: Add support for active/inactive namespaces

2020-09-12 Thread Dmitry Fomichev
. The added functionality will also simplify the implementation of namespace management in the future, since namespace management can also attach and detach namespaces. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 54

[PATCH v2 04/15] hw/block/nvme: Introduce the Namespace Types definitions

2020-09-12 Thread Dmitry Fomichev
From: Niklas Cassel Define the structures and constants required to implement Namespace Types support. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 2 +- hw/block/nvme.h | 3 ++ include/block/nvme.h | 74

[PATCH v2 05/15] hw/block/nvme: Define trace events related to NS Types

2020-09-12 Thread Dmitry Fomichev
A few trace events are defined that are relevant to implementing Namespace Types (NVMe TP 4056). Signed-off-by: Dmitry Fomichev Reviewed-by: Klaus Jensen --- hw/block/trace-events | 10 ++ 1 file changed, 10 insertions(+) diff --git a/hw/block/trace-events b/hw/block/trace-events

[PATCH v2 15/15] hw/block/nvme: Document zoned parameters in usage text

2020-09-12 Thread Dmitry Fomichev
Added brief descriptions of the new device properties that are now available to users to configure features of Zoned Namespace Command Set in the emulator. This patch is for documentation only, no functionality change. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 43

[PATCH v2 03/15] hw/block/nvme: Add Commands Supported and Effects log

2020-09-12 Thread Dmitry Fomichev
-by: Dmitry Fomichev --- hw/block/nvme.c | 44 ++- hw/block/trace-events | 2 ++ include/block/nvme.h | 19 +++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 1cfc136042

[PATCH v2 02/15] hw/block/nvme: Report actual LBA data shift in LBAF

2020-09-12 Thread Dmitry Fomichev
LBA formats in the future. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 4 +++- hw/block/nvme.h | 11 +++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 3a90d80694..1cfc136042 100644 --- a/hw/block/nvme.c +++ b/hw/block

[PATCH v2 11/15] hw/block/nvme: Introduce max active and open zone limits

2020-09-12 Thread Dmitry Fomichev
if they are exceeded. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 179 +++- hw/block/nvme.h | 4 ++ 2 files changed, 181 insertions(+), 2 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 1b0e06002

[PATCH v2 08/15] hw/block/nvme: Make Zoned NS Command Set definitions

2020-09-12 Thread Dmitry Fomichev
fields that are internal to this implementation. Signed-off-by: Niklas Cassel Signed-off-by: Hans Holmberg Signed-off-by: Ajay Joshi Signed-off-by: Matias Bjorling Signed-off-by: Shin'ichiro Kawasaki Signed-off-by: Alexey Bogoslavsky Signed-off-by: Dmitry Fomichev --- hw/block/nvme.h

[PATCH v2 06/15] hw/block/nvme: Add support for Namespace Types

2020-09-12 Thread Dmitry Fomichev
las Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 208 +++- 1 file changed, 188 insertions(+), 20 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 4bd88f4046..004f1c9578 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c

[PATCH v2 12/15] hw/block/nvme: Support Zone Descriptor Extensions

2020-09-12 Thread Dmitry Fomichev
s non-zero, it becomes possible to assign extensions of that size to any Empty zones. The default value for this property is 0, therefore setting extensions is disabled by default. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev Reviewed-by: Klaus Jensen --- hw/block/n

[PATCH v2 14/15] hw/block/nvme: Use zone metadata file for persistence

2020-09-12 Thread Dmitry Fomichev
ptor extensions also persist across controller shutdowns. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 370 +--- hw/block/nvme.h | 37 + 2 files changed, 386 insertions(+), 21 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvm

[PATCH v2 00/15] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set

2020-09-12 Thread Dmitry Fomichev
l *** BLURB HERE *** Ajay Joshi (1): hw/block/nvme: Define 64 bit cqe.result Dmitry Fomichev (11): hw/block/nvme: Report actual LBA data shift in LBAF hw/block/nvme: Add Commands Supported and Effects log hw/block/nvme: Define trace events related to NS Types hw/block/nvme: Make Zon

[PATCH v2 13/15] hw/block/nvme: Add injection of Offline/Read-Only zones

2020-09-12 Thread Dmitry Fomichev
re expected to be much smaller than the total number of zones on a drive. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 46 ++ hw/block/nvme.h | 2 ++ 2 files changed, 48 insertions(+) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index ec7fade6

[PATCH v2 10/15] hw/block/nvme: Support Zoned Namespace Command Set

2020-09-12 Thread Dmitry Fomichev
f-by: Hans Holmberg Signed-off-by: Ajay Joshi Signed-off-by: Chaitanya Kulkarni Signed-off-by: Matias Bjorling Signed-off-by: Aravind Ramesh Signed-off-by: Shin'ichiro Kawasaki Signed-off-by: Adam Manzanares Signed-off-by: Dmitry Fomichev --- hw/block/nv

[PATCH v2 09/15] hw/block/nvme: Define Zoned NS Command Set trace events

2020-09-12 Thread Dmitry Fomichev
The Zoned Namespace Command Set / Namespace Types implementation that is being introduced in this series adds a good number of trace events. Combine all tracepoint definitions into a separate patch to make reviewing more convenient. Signed-off-by: Dmitry Fomichev --- hw/block/trace-events | 26

[PATCH v3 00/15] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set

2020-09-13 Thread Dmitry Fomichev
inally, the last group of commits makes definitions and adds new code to support Zoned Namespace Command Set. Based-on: Message-ID: <20200729220638.344477-17-...@irrelevant.dk> Ajay Joshi (1): hw/block/nvme: Define 64 bit cqe.result Dmitry Fomichev (11): hw/block/nvme: Report actual LBA d

[PATCH v3 01/15] hw/block/nvme: Define 64 bit cqe.result

2020-09-13 Thread Dmitry Fomichev
to be changed from 32 to 64 bit, consuming the reserved 32 bit field that follows the result in CQE struct. Since the existing commands are expected to return a 32 bit LE value, two separate variables, result32 and result64, are now kept in a union. Signed-off-by: Ajay Joshi Signed-off-by: Dmitry Fomichev

[PATCH v3 08/15] hw/block/nvme: Make Zoned NS Command Set definitions

2020-09-13 Thread Dmitry Fomichev
fields that are internal to this implementation. Signed-off-by: Niklas Cassel Signed-off-by: Hans Holmberg Signed-off-by: Ajay Joshi Signed-off-by: Matias Bjorling Signed-off-by: Shin'ichiro Kawasaki Signed-off-by: Alexey Bogoslavsky Signed-off-by: Dmitry Fomichev --- hw/block/nvme.h

[PATCH v3 12/15] hw/block/nvme: Support Zone Descriptor Extensions

2020-09-13 Thread Dmitry Fomichev
s non-zero, it becomes possible to assign extensions of that size to any Empty zones. The default value for this property is 0, therefore setting extensions is disabled by default. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev Reviewed-by: Klaus Jensen --- hw/block/n

[PATCH v3 07/15] hw/block/nvme: Add support for active/inactive namespaces

2020-09-13 Thread Dmitry Fomichev
. The added functionality will also simplify the implementation of namespace management in the future, since namespace management can also attach and detach namespaces. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 54

[PATCH v3 11/15] hw/block/nvme: Introduce max active and open zone limits

2020-09-13 Thread Dmitry Fomichev
if they are exceeded. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 179 +++- hw/block/nvme.h | 4 ++ 2 files changed, 181 insertions(+), 2 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 0bf747181

[PATCH v3 13/15] hw/block/nvme: Add injection of Offline/Read-Only zones

2020-09-13 Thread Dmitry Fomichev
re expected to be much smaller than the total number of zones on a drive. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 46 ++ hw/block/nvme.h | 2 ++ 2 files changed, 48 insertions(+) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index f15f1d65

[PATCH v3 03/15] hw/block/nvme: Add Commands Supported and Effects log

2020-09-13 Thread Dmitry Fomichev
-by: Dmitry Fomichev --- hw/block/nvme.c | 44 ++- hw/block/trace-events | 2 ++ include/block/nvme.h | 19 +++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 1cfc136042

[PATCH v3 09/15] hw/block/nvme: Define Zoned NS Command Set trace events

2020-09-13 Thread Dmitry Fomichev
The Zoned Namespace Command Set / Namespace Types implementation that is being introduced in this series adds a good number of trace events. Combine all tracepoint definitions into a separate patch to make reviewing more convenient. Signed-off-by: Dmitry Fomichev --- hw/block/trace-events | 26

[PATCH v3 02/15] hw/block/nvme: Report actual LBA data shift in LBAF

2020-09-13 Thread Dmitry Fomichev
LBA formats in the future. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 4 +++- hw/block/nvme.h | 11 +++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 3a90d80694..1cfc136042 100644 --- a/hw/block/nvme.c +++ b/hw/block

[PATCH v3 04/15] hw/block/nvme: Introduce the Namespace Types definitions

2020-09-13 Thread Dmitry Fomichev
From: Niklas Cassel Define the structures and constants required to implement Namespace Types support. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 2 +- hw/block/nvme.h | 3 ++ include/block/nvme.h | 74

[PATCH v3 10/15] hw/block/nvme: Support Zoned Namespace Command Set

2020-09-13 Thread Dmitry Fomichev
f-by: Hans Holmberg Signed-off-by: Ajay Joshi Signed-off-by: Chaitanya Kulkarni Signed-off-by: Matias Bjorling Signed-off-by: Aravind Ramesh Signed-off-by: Shin'ichiro Kawasaki Signed-off-by: Adam Manzanares Signed-off-by: Dmitry Fomichev --- hw/block/nv

[PATCH v3 14/15] hw/block/nvme: Use zone metadata file for persistence

2020-09-13 Thread Dmitry Fomichev
ptor extensions also persist across controller shutdowns. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 370 +--- hw/block/nvme.h | 37 + 2 files changed, 386 insertions(+), 21 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvm

[PATCH v3 06/15] hw/block/nvme: Add support for Namespace Types

2020-09-13 Thread Dmitry Fomichev
las Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 235 +++- 1 file changed, 215 insertions(+), 20 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 4bd88f4046..d01c1c1e06 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c

[PATCH v3 15/15] hw/block/nvme: Document zoned parameters in usage text

2020-09-13 Thread Dmitry Fomichev
Added brief descriptions of the new device properties that are now available to users to configure features of Zoned Namespace Command Set in the emulator. This patch is for documentation only, no functionality change. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 43

[PATCH v3 05/15] hw/block/nvme: Define trace events related to NS Types

2020-09-13 Thread Dmitry Fomichev
A few trace events are defined that are relevant to implementing Namespace Types (NVMe TP 4056). Signed-off-by: Dmitry Fomichev Reviewed-by: Klaus Jensen --- hw/block/trace-events | 10 ++ 1 file changed, 10 insertions(+) diff --git a/hw/block/trace-events b/hw/block/trace-events

[PATCH v6 00/11] hw/block/nvme: Support Namespace Types and Zoned Namespace Command Set

2020-10-13 Thread Dmitry Fomichev
pability to the existing NVMe PCI device. Based-on: <20201013174826.ga1049...@dhcp-10-100-145-180.wdl.wdc.com> Dmitry Fomichev (9): hw/block/nvme: Add Commands Supported and Effects log hw/block/nvme: Generate namespace UUIDs hw/block/nvme: Support Zoned Namespace Command Set

[PATCH v6 03/11] hw/block/nvme: Add support for Namespace Types

2020-10-13 Thread Dmitry Fomichev
avoid code duplication when reporting zero-filled identify structures. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.c| 2 + hw/block/nvme-ns.h| 1 + hw/block/nvme.c | 198 +++--- hw/block/trace-events | 7 ++ inc

[PATCH v6 01/11] hw/block/nvme: Add Commands Supported and Effects log

2020-10-13 Thread Dmitry Fomichev
incoming admin and i/o commands are now only processed if their corresponding support bits are set in this log. This provides an easy way to control what commands to support and what not to depending on set CC.CSS. Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.h| 1 + hw/block/nvme.c

[PATCH v6 08/11] hw/block/nvme: Add injection of Offline/Read-Only zones

2020-10-13 Thread Dmitry Fomichev
re expected to be much smaller than the total number of zones on a drive. Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.c | 64 ++ hw/block/nvme-ns.h | 2 ++ 2 files changed, 66 insertions(+) diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.

[PATCH v6 04/11] hw/block/nvme: Support allocated CNS command variants

2020-10-13 Thread Dmitry Fomichev
gement command to be supported if the namespace attachment command is supported. Signed-off-by: Niklas Cassel Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.c | 1 + hw/block/nvme-ns.h | 1 + hw/block/nvme.c | 68 include/block/nvme

[PATCH v6 05/11] hw/block/nvme: Support Zoned Namespace Command Set

2020-10-13 Thread Dmitry Fomichev
Ajay Joshi Signed-off-by: Chaitanya Kulkarni Signed-off-by: Matias Bjorling Signed-off-by: Aravind Ramesh Signed-off-by: Shin'ichiro Kawasaki Signed-off-by: Adam Manzanares Signed-off-by: Dmitry Fomichev --- block/nvme.c | 2 +- hw/block/nvme-ns.c| 193 + hw/block

[PATCH v6 11/11] hw/block/nvme: Merge nvme_write_zeroes() with nvme_write()

2020-10-13 Thread Dmitry Fomichev
nvme_write() now handles WRITE, WRITE ZEROES and ZONE_APPEND. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 95 +-- hw/block/trace-events | 1 - 2 files changed, 28 insertions(+), 68 deletions(-) diff --git a/hw/block/nvme.c b/hw/block

[PATCH v6 10/11] hw/block/nvme: Separate read and write handlers

2020-10-13 Thread Dmitry Fomichev
patch, no change in functionality. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 191 +- hw/block/trace-events | 3 +- 2 files changed, 114 insertions(+), 80 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 41caf35430

[PATCH v6 06/11] hw/block/nvme: Introduce max active and open zone limits

2020-10-13 Thread Dmitry Fomichev
if they are exceeded. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.c | 28 - hw/block/nvme-ns.h | 41 +++ hw/block/nvme.c| 99 ++ 3 files changed, 166 insertions(+), 2 deletions(-) diff -

[PATCH v6 02/11] hw/block/nvme: Generate namespace UUIDs

2020-10-13 Thread Dmitry Fomichev
nitialized. Suggested-by: Klaus Jansen Signed-off-by: Dmitry Fomichev --- hw/block/nvme-ns.c | 1 + hw/block/nvme-ns.h | 1 + hw/block/nvme.c| 9 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c index b69cdaf27e..de735eb9f3 100644 ---

[PATCH v6 09/11] hw/block/nvme: Document zoned parameters in usage text

2020-10-13 Thread Dmitry Fomichev
Added brief descriptions of the new device properties that are now available to users to configure features of Zoned Namespace Command Set in the emulator. This patch is for documentation only, no functionality change. Signed-off-by: Dmitry Fomichev --- hw/block/nvme.c | 41

[PATCH v6 07/11] hw/block/nvme: Support Zone Descriptor Extensions

2020-10-13 Thread Dmitry Fomichev
s non-zero, it becomes possible to assign extensions of that size to any Empty zones. The default value for this property is 0, therefore setting extensions is disabled by default. Signed-off-by: Hans Holmberg Signed-off-by: Dmitry Fomichev Reviewed-by: Klaus Jensen --- hw/block/nvme-ns.c| 14 ++

RE: [PATCH v5 09/14] hw/block/nvme: Support Zoned Namespace Command Set

2020-10-05 Thread Dmitry Fomichev
> -Original Message- > From: Niklas Cassel > Sent: Monday, October 5, 2020 7:41 AM > To: Dmitry Fomichev > Cc: Alistair Francis ; qemu-devel@nongnu.org; > Damien Le Moal ; f...@euphon.net; Matias > Bjorling ; qemu-bl...@nongnu.org; > kw...@redhat.com; ml

RE: [PATCH 1/9] hw/block/nvme: remove pointless rw indirection

2020-10-05 Thread Dmitry Fomichev
> -Original Message- > From: Keith Busch > Sent: Wednesday, September 30, 2020 6:04 PM > To: qemu-bl...@nongnu.org; qemu-devel@nongnu.org; Klaus Jensen > > Cc: Niklas Cassel ; Dmitry Fomichev > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Keith Busch > Subject

RE: [PATCH 3/9] hw/block/nvme: support per-namespace smart log

2020-10-05 Thread Dmitry Fomichev
> -Original Message- > From: Keith Busch > Sent: Wednesday, September 30, 2020 6:04 PM > To: qemu-bl...@nongnu.org; qemu-devel@nongnu.org; Klaus Jensen > > Cc: Niklas Cassel ; Dmitry Fomichev > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Keith Busch > Subject

Re: [PATCH v5 09/14] hw/block/nvme: Support Zoned Namespace Command Set

2020-10-04 Thread Dmitry Fomichev
On Wed, 2020-09-30 at 14:50 +, Niklas Cassel wrote: > On Mon, Sep 28, 2020 at 11:35:23AM +0900, Dmitry Fomichev wrote: > > The emulation code has been changed to advertise NVM Command Set when > > "zoned" device property is not set (default) and Zoned Namespace

Re: [PATCH v5 06/14] hw/block/nvme: Add support for active/inactive namespaces

2020-10-04 Thread Dmitry Fomichev
On Wed, 2020-09-30 at 13:50 +, Niklas Cassel wrote: > On Mon, Sep 28, 2020 at 11:35:20AM +0900, Dmitry Fomichev wrote: > > From: Niklas Cassel > > > > In NVMe, a namespace is active if it exists and is attached to the > > controller. > > > > CAP.CSS

RE: [PATCH v5 09/14] hw/block/nvme: Support Zoned Namespace Command Set

2020-10-04 Thread Dmitry Fomichev
> -Original Message- > From: Klaus Jensen > Sent: Monday, September 28, 2020 6:43 AM > To: Dmitry Fomichev > Cc: Keith Busch ; Klaus Jensen > ; Kevin Wolf ; Philippe > Mathieu-Daudé ; Maxim Levitsky > ; Fam Zheng ; Niklas Cassel > ; Damien Le Moal ; > qem

  1   2   3   4   >