Re: online blockdev-backup, a clarification (was: Summary on new backup interfaces in QEMU)

2023-02-20 Thread Vladimir Sementsov-Ogievskiy
On 20.02.23 18:18, John Maline wrote: As a qemu newcomer I had a related question and confusion from reading existing docs. Searching qemu-block, this seemed related to my question so I’ll ask… On Mar 15, 2022, at 12:57 PM, Vladimir Sementsov-Ogievskiy wrote: Hi all! Here I want

Re: [PATCH v4 14/16] qapi: deprecate "device" field of DEVICE_* events

2023-02-15 Thread Vladimir Sementsov-Ogievskiy
:01:01PM +0300, Vladimir Sementsov-Ogievskiy wrote: The device field is redundant, because QOM path always include device ID when this ID exist. The flipside to that view is that applications configuring QEMU are specifying the device ID for -device (CLI) / device_add (QMP) and not the QOM path

Re: [PATCH v4 14/16] qapi: deprecate "device" field of DEVICE_* events

2023-02-14 Thread Vladimir Sementsov-Ogievskiy
On 14.02.23 14:57, Markus Armbruster wrote: Daniel P. Berrangé writes: On Tue, Feb 14, 2023 at 09:54:22AM +0100, Markus Armbruster wrote: Daniel P. Berrangé writes: On Mon, Feb 13, 2023 at 05:01:01PM +0300, Vladimir Sementsov-Ogievskiy wrote: The device field is redundant, because QOM

[PATCH v4 14/16] qapi: deprecate "device" field of DEVICE_* events

2023-02-13 Thread Vladimir Sementsov-Ogievskiy
The device field is redundant, because QOM path always include device ID when this ID exist. Signed-off-by: Vladimir Sementsov-Ogievskiy --- docs/about/deprecated.rst | 9 + qapi/qdev.json| 12 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git

Summary on new backup interfaces in QEMU

2022-03-15 Thread Vladimir Sementsov-Ogievskiy
Hi all! Here I want to summarize new interfaces and use cases for backup in QEMU. TODO for me: convert this into good rst documentation in docs/. OK, let's begin. First, note that drive-backup qmp command is deprecated. Next, some terminology: push backup: the whole process is inside QEMU

Re: [PATCH 0/5] trace: inroduce qmp: trace namespace

2021-10-14 Thread Vladimir Sementsov-Ogievskiy
12.10.2021 14:49, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Hi all! We have handle_qmp_command and qmp_command_repond trace points to trace qmp commands. They are very useful to debug problems involving management tools like libvirt. But tracing all qmp commands is too

Re: [PATCH 05/11] qdev: Make DeviceState.id independent of QemuOpts

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 18:10, Kevin Wolf wrote: Am 24.09.2021 um 16:02 hat Vladimir Sementsov-Ogievskiy geschrieben: 24.09.2021 12:04, Kevin Wolf wrote: DeviceState.id is a pointer to a string that is stored in the QemuOpts object DeviceState.opts and freed together with it. We want to create devices

Re: [PATCH 07/11] qemu-option: Allow deleting opts during qemu_opts_foreach()

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 12:04, Kevin Wolf wrote: Use QTAILQ_FOREACH_SAFE() so that the current QemuOpts can be deleted while iterating through the whole list. Signed-off-by: Kevin Wolf Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH 06/11] qdev: Add Error parameter to qdev_set_id()

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 12:04, Kevin Wolf wrote: object_property_add_child() fails (with _abort) if an object with the same name already exists. As long as QemuOpts is in use for -device and device_add, it catches duplicate IDs before qdev_set_id() is even called. However, for enabling non-QemuOpts code

Re: [PATCH 05/11] qdev: Make DeviceState.id independent of QemuOpts

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 12:04, Kevin Wolf wrote: DeviceState.id is a pointer to a string that is stored in the QemuOpts object DeviceState.opts and freed together with it. We want to create devices without going through QemuOpts in the future, so make this a separately allocated string. Signed-off-by: Kevin

Re: [PATCH 03/11] iotests/051: Fix typo

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH 02/11] iotests/245: Fix type for iothread property

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 12:04, Kevin Wolf wrote: iothread is a string property, so None (= JSON null) is not a valid value for it. Pass the empty string instead to get the default iothread. Signed-off-by: Kevin Wolf Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH 01/11] qom: Reduce use of error_propagate()

2021-09-24 Thread Vladimir Sementsov-Ogievskiy
24.09.2021 12:04, Kevin Wolf wrote: ERRP_GUARD() makes debugging easier by making sure that _abort still fails at the real origin of the error instead of error_propagate(). Signed-off-by: Kevin Wolf --- qom/object.c| 7 +++ qom/object_interfaces.c | 17 ++--- 2

Re: [PATCH 8/8] qapi: add blockdev-replace command

2021-09-23 Thread Vladimir Sementsov-Ogievskiy
23.09.2021 13:09, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Thanks a lot for reviewing! 20.09.2021 09:44, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Add command that can add and remove filters. Key points of functionality: What the command does

Re: [PATCH 8/8] qapi: add blockdev-replace command

2021-09-20 Thread Vladimir Sementsov-Ogievskiy
02.08.2021 21:54, Vladimir Sementsov-Ogievskiy wrote: Add command that can add and remove filters. Key points of functionality: What the command does is simply replace some BdrvChild.bs by some other nodes. The tricky thing is selecting there BdrvChild objects. To be able to select any kind

Re: [PATCH 8/8] qapi: add blockdev-replace command

2021-09-20 Thread Vladimir Sementsov-Ogievskiy
Thanks a lot for reviewing! 20.09.2021 09:44, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Add command that can add and remove filters. Key points of functionality: What the command does is simply replace some BdrvChild.bs by some other nodes. The tricky thing is selecting

Re: [PATCH RFC 0/5] Subject: [PATCH RFC 0/5] qapi: Add feature flags to enum members

2021-09-16 Thread Vladimir Sementsov-Ogievskiy
16.09.2021 15:57, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Great! Thanks for working on this! 15.09.2021 22:24, Markus Armbruster wrote: PATCH 1+2 add feature flags to enum members. Awkward due to an introspection design mistake; see PATCH 1 for details. Feedback

Re: [PATCH 5/8] qdev: improve find_device_state() to distinguish simple not found case

2021-09-16 Thread Vladimir Sementsov-Ogievskiy
16.09.2021 13:48, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: We'll need this for realizing qdev_find_child() in the next commit. Signed-off-by: Vladimir Sementsov-Ogievskiy --- softmmu/qdev-monitor.c | 48 +- 1 file changed, 33

Re: [PATCH 2/8] block: add BlockParentClass class

2021-09-16 Thread Vladimir Sementsov-Ogievskiy
16.09.2021 11:34, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: Add a class that will unify block parents for blockdev-replace functionality we are going to add. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/block-parent.h | 32 + block

Re: [PATCH RFC 0/5] Subject: [PATCH RFC 0/5] qapi: Add feature flags to enum members

2021-09-16 Thread Vladimir Sementsov-Ogievskiy
Great! Thanks for working on this! 15.09.2021 22:24, Markus Armbruster wrote: PATCH 1+2 add feature flags to enum members. Awkward due to an introspection design mistake; see PATCH 1 for details. Feedback welcome, in particular from management application guys. PATCH 3+4 implement policy

Re: [PATCH RFC 0/8] blockdev-replace

2021-09-02 Thread Vladimir Sementsov-Ogievskiy
ping 02.08.2021 21:54, Vladimir Sementsov-Ogievskiy wrote: Hi all! As a continuation of "Qemu block filter insertion/removal API" discussion, here is my proposal of blockdev-replace. The realization allows: - replace children of different parents: BDS, block devices, block

Re: [PATCH v2 3/3] qapi: deprecate drive-backup

2021-09-01 Thread Vladimir Sementsov-Ogievskiy
24.05.2021 21:37, John Snow wrote: On 5/24/21 10:06 AM, Vladimir Sementsov-Ogievskiy wrote: 15.05.2021 01:38, John Snow wrote: On 5/6/21 5:57 AM, Kashyap Chamarthy wrote: TODO: We also need to deprecate drive-backup transaction action.. But union members in QAPI doesn't support 'deprecated

[PATCH 4/8] block/export: realize BlockParentClass functionality

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
Signed-off-by: Vladimir Sementsov-Ogievskiy --- block/export/export.c | 44 +++ 1 file changed, 44 insertions(+) diff --git a/block/export/export.c b/block/export/export.c index 6d3b9964c8..39b45feafe 100644 --- a/block/export/export.c +++ b/block/export

[PATCH 3/8] block: realize BlockParentClass for BlockDriverState

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 49 + 1 file changed, 49 insertions(+) diff --git a/block.c b/block.c index e97ce0b1c8..449f933661 100644 --- a/block.c +++ b/block.c @@ -26,6 +26,7 @@ #include "qemu/osdep.h"

[PATCH 7/8] block: improve bdrv_replace_node_noperm()

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
Add optional block edge name filter and new mode: "exactly one", which we are going to use soon. Signed-off-by: Vladimir Sementsov-Ogievskiy --- block.c | 27 --- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/block.c b/block.c index

[PATCH 8/8] qapi: add blockdev-replace command

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
@parents-mode argument implemented. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qapi/block-core.json | 78 + block.c | 82 2 files changed, 160 insertions(+) diff --git a/qapi/block-core.json b/qapi

[PATCH 6/8] qdev: realize BlockParentClass

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
Signed-off-by: Vladimir Sementsov-Ogievskiy --- softmmu/qdev-monitor.c | 42 ++ 1 file changed, 42 insertions(+) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev-monitor.c index 0117989009..2e149aa9b8 100644 --- a/softmmu/qdev-monitor.c +++ b/softmmu

[PATCH 5/8] qdev: improve find_device_state() to distinguish simple not found case

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
We'll need this for realizing qdev_find_child() in the next commit. Signed-off-by: Vladimir Sementsov-Ogievskiy --- softmmu/qdev-monitor.c | 48 +- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/softmmu/qdev-monitor.c b/softmmu/qdev

[PATCH 1/8] block-backend: blk_root(): drop const specifier on return type

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
We'll need get non-const child pointer for graph modifications in further commits. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/sysemu/block-backend.h | 2 +- block/block-backend.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sysemu/block

[PATCH 2/8] block: add BlockParentClass class

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
Add a class that will unify block parents for blockdev-replace functionality we are going to add. Signed-off-by: Vladimir Sementsov-Ogievskiy --- include/block/block-parent.h | 32 + block/block-parent.c | 66 block/meson.build

[PATCH RFC 0/8] blockdev-replace

2021-08-02 Thread Vladimir Sementsov-Ogievskiy
excluding creating loops (like bdrv_replace_node()) - do several replacements in one transaction It's an untested draft, so you may go to patch 8, to look at QAPI addition. Vladimir Sementsov-Ogievskiy (8): block-backend: blk_root(): drop const specifier on return type block: add BlockParentC

Re: [PATCH v2 3/3] qapi: deprecate drive-backup

2021-07-05 Thread Vladimir Sementsov-Ogievskiy
09.06.2021 13:49, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: 08.06.2021 14:12, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: [...] TODO: We also need to deprecate drive-backup transaction action.. But union members in QAPI doesn't support 'deprecated

Re: [PATCH v2 3/3] qapi: deprecate drive-backup

2021-06-08 Thread Vladimir Sementsov-Ogievskiy
08.06.2021 14:12, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: [...] TODO: We also need to deprecate drive-backup transaction action.. But union members in QAPI doesn't support 'deprecated' feature. I tried to dig a bit, but failed :/ Markus, could you please help

Re: RFC: Qemu backup interface plans

2021-05-25 Thread Vladimir Sementsov-Ogievskiy
25.05.2021 11:50, Max Reitz wrote: On 19.05.21 08:11, Vladimir Sementsov-Ogievskiy wrote: 18.05.2021 19:39, Max Reitz wrote: [...] On 17.05.21 14:07, Vladimir Sementsov-Ogievskiy wrote: [...] Not also, that there is another benefit of such thing: we'll implement this callback in qcow2

Re: [PATCH v2 3/3] qapi: deprecate drive-backup

2021-05-24 Thread Vladimir Sementsov-Ogievskiy
15.05.2021 01:38, John Snow wrote: On 5/6/21 5:57 AM, Kashyap Chamarthy wrote: TODO: We also need to deprecate drive-backup transaction action.. But union members in QAPI doesn't support 'deprecated' feature. I tried to dig a bit, but failed :/ Markus, could you please help with it? At least by

Re: RFC: Qemu backup interface plans

2021-05-21 Thread Vladimir Sementsov-Ogievskiy
17.05.2021 15:07, Vladimir Sementsov-Ogievskiy wrote: 3.1 and make it possible to modify the bitmap externally, so that consumer of fleecing can say to backup-top filter: I've already copied these blocks, don't bother with copying them to temp image". This is to solve [2]. Still, how con

Re: Qemu block filter insertion/removal API

2021-05-21 Thread Vladimir Sementsov-Ogievskiy
21.05.2021 21:32, Vladimir Sementsov-Ogievskiy wrote: 19.05.2021 17:14, Vladimir Sementsov-Ogievskiy wrote: 19.05.2021 16:02, Kevin Wolf wrote: Am 19.05.2021 um 14:19 hat Vladimir Sementsov-Ogievskiy geschrieben: 19.05.2021 14:44, Kevin Wolf wrote: Am 17.05.2021 um 14:44 hat Vladimir

Re: Qemu block filter insertion/removal API

2021-05-21 Thread Vladimir Sementsov-Ogievskiy
19.05.2021 17:14, Vladimir Sementsov-Ogievskiy wrote: 19.05.2021 16:02, Kevin Wolf wrote: Am 19.05.2021 um 14:19 hat Vladimir Sementsov-Ogievskiy geschrieben: 19.05.2021 14:44, Kevin Wolf wrote: Am 17.05.2021 um 14:44 hat Vladimir Sementsov-Ogievskiy geschrieben: Hi all! I'd like to be sure

Re: Qemu block filter insertion/removal API

2021-05-19 Thread Vladimir Sementsov-Ogievskiy
19.05.2021 16:02, Kevin Wolf wrote: Am 19.05.2021 um 14:19 hat Vladimir Sementsov-Ogievskiy geschrieben: 19.05.2021 14:44, Kevin Wolf wrote: Am 17.05.2021 um 14:44 hat Vladimir Sementsov-Ogievskiy geschrieben: Hi all! I'd like to be sure that we know where we are going to. In blockdev-era

Re: Qemu block filter insertion/removal API

2021-05-19 Thread Vladimir Sementsov-Ogievskiy
19.05.2021 14:44, Kevin Wolf wrote: Am 17.05.2021 um 14:44 hat Vladimir Sementsov-Ogievskiy geschrieben: Hi all! I'd like to be sure that we know where we are going to. In blockdev-era where qemu user is aware about block nodes, all nodes have good names and controlled by user we can

Re: RFC: Qemu backup interface plans

2021-05-19 Thread Vladimir Sementsov-Ogievskiy
19.05.2021 14:20, Kevin Wolf wrote: Am 19.05.2021 um 08:11 hat Vladimir Sementsov-Ogievskiy geschrieben: 2. Test, that we can start backup job with source = (target of backup-top filter), so that we have "push backup with fleecing". Make an option for backup to start without a filte

Re: Qemu block filter insertion/removal API

2021-05-19 Thread Vladimir Sementsov-Ogievskiy
18.05.2021 19:49, Max Reitz wrote: On 17.05.21 14:44, Vladimir Sementsov-Ogievskiy wrote: Hi all! I'd like to be sure that we know where we are going to. In blockdev-era where qemu user is aware about block nodes, all nodes have good names and controlled by user we can efficiently use block

Re: RFC: Qemu backup interface plans

2021-05-19 Thread Vladimir Sementsov-Ogievskiy
18.05.2021 19:39, Max Reitz wrote: Hi, Your proposal sounds good to me in general.  Some small independent building blocks that seems to make sense to me. Thanks! I hope it's not too difficult to read and understand my English. On 17.05.21 14:07, Vladimir Sementsov-Ogievskiy wrote

Qemu block filter insertion/removal API

2021-05-17 Thread Vladimir Sementsov-Ogievskiy
Hi all! I'd like to be sure that we know where we are going to. In blockdev-era where qemu user is aware about block nodes, all nodes have good names and controlled by user we can efficiently use block filters. We already have some useful filters: copy-on-read, throttling, compress. In my

RFC: Qemu backup interface plans

2021-05-17 Thread Vladimir Sementsov-Ogievskiy
Hi all! I'd like to share and discuss some plans on Qemu backup interface I have. (actually, most of this I've presented on KVM Forum long ago.. But now I'm a lot closer to realization:) I'd start with a reminder about image fleecing: We have image fleecing scheme to export point-in-time

[PATCH v2 3/3] qapi: deprecate drive-backup

2021-05-05 Thread Vladimir Sementsov-Ogievskiy
that drive-backup is noted only as a deprecated command, and blockdev-backup used in most of places. Signed-off-by: Vladimir Sementsov-Ogievskiy --- TODO: We also need to deprecate drive-backup transaction action.. But union members in QAPI doesn't support 'deprecated' feature. I tried to dig

[PATCH v2 0/3] qapi & doc: deprecate drive-backup

2021-05-05 Thread Vladimir Sementsov-Ogievskiy
Hi all! See 03 commit message for details. 01-02 are preparation docs update. v2: add a lot of documentation changes v1 was "[PATCH] qapi: deprecate drive-backup" Supersedes: <20210423125900.3640-1-vsement...@virtuozzo.com> Vladimir Sementsov-Ogievskiy (3): docs/block-

[PATCH v2 2/3] docs/interop/bitmaps: use blockdev-backup

2021-05-05 Thread Vladimir Sementsov-Ogievskiy
We are going to deprecate drive-backup, so use modern interface here. In examples where target image creation is shown, show blockdev-add as well. If target creation omitted, omit blockdev-add as well. Signed-off-by: Vladimir Sementsov-Ogievskiy --- docs/interop/bitmaps.rst | 285

[PATCH v2 1/3] docs/block-replication: use blockdev-backup

2021-05-05 Thread Vladimir Sementsov-Ogievskiy
We are going to deprecate drive-backup, so don't mention it here. Moreover, blockdev-backup seems more correct in the context. Signed-off-by: Vladimir Sementsov-Ogievskiy --- docs/block-replication.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/block

Re: [PATCH] qapi: deprecate drive-backup

2021-04-26 Thread Vladimir Sementsov-Ogievskiy
26.04.2021 21:30, John Snow wrote: On 4/26/21 2:05 PM, Daniel P. Berrangé wrote: On Mon, Apr 26, 2021 at 09:00:36PM +0300, Vladimir Sementsov-Ogievskiy wrote: 26.04.2021 20:34, John Snow wrote: On 4/23/21 8:59 AM, Vladimir Sementsov-Ogievskiy wrote: Modern way is using blockdev-add

Re: [PATCH] qapi: deprecate drive-backup

2021-04-26 Thread Vladimir Sementsov-Ogievskiy
26.04.2021 20:34, John Snow wrote: On 4/23/21 8:59 AM, Vladimir Sementsov-Ogievskiy wrote: Modern way is using blockdev-add + blockdev-backup, which provides a lot more control on how target is opened. As example of drive-backup problems consider the following: User of drive-backup expects

Re: [PATCH] qapi: deprecate drive-backup

2021-04-23 Thread Vladimir Sementsov-Ogievskiy
23.04.2021 16:09, Daniel P. Berrangé wrote: On Fri, Apr 23, 2021 at 03:59:00PM +0300, Vladimir Sementsov-Ogievskiy wrote: Modern way is using blockdev-add + blockdev-backup, which provides a lot more control on how target is opened. As example of drive-backup problems consider the following

[PATCH] qapi: deprecate drive-backup

2021-04-23 Thread Vladimir Sementsov-Ogievskiy
bs->open_flags of qcow2 source node. But there no BDRV_O_NOCAHE neither BDRV_O_NATIVE_AIO: BDRV_O_NOCAHE is places in bs->file->bs->open_flags, and BDRV_O_NATIVE_AIO is nowhere, as file-posix parse options and simply set s->use_linux_aio. Signed-off-by: Vladimir Sementsov-Ogievskiy --- Hi

Re: [PATCH 13/14] block: remove 'dirty-bitmaps' field from 'BlockInfo' struct

2021-02-25 Thread Vladimir Sementsov-Ogievskiy
24.02.2021 16:11, Daniel P. Berrangé wrote: The same data is available in the 'BlockDeviceInfo' struct. Signed-off-by: Daniel P. Berrangé Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH 12/14] block: remove dirty bitmaps 'status' field

2021-02-25 Thread Vladimir Sementsov-Ogievskiy
24.02.2021 16:11, Daniel P. Berrangé wrote: The same information is available via the 'recording' and 'busy' fields. Signed-off-by: Daniel P. Berrangé Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH 2/3] utils: Deprecate hex-with-suffix sizes

2021-02-05 Thread Vladimir Sementsov-Ogievskiy
04.02.2021 22:07, Eric Blake wrote: Supporting '0x20M' looks odd, particularly since we have an 'E' suffix What about also deprecating 'E' suffix? (just my problem of reviewing previous patch) that is ambiguous between a hex digit and the extremely large exibyte suffix, as well as a 'B'

Re: RFC: don't store backing filename in qcow2 image

2020-12-11 Thread Vladimir Sementsov-Ogievskiy
11.12.2020 12:44, Peter Krempa wrote: On Thu, Dec 10, 2020 at 17:26:52 +0300, Vladimir Sementsov-Ogievskiy wrote: Hi all! Hi, I have an idea, that not storing backing filename in qcow2 image at all may be a good thing. I'll give some reasons and want to know what do you think about

RFC: don't store backing filename in qcow2 image

2020-12-10 Thread Vladimir Sementsov-Ogievskiy
Hi all! I have an idea, that not storing backing filename in qcow2 image at all may be a good thing. I'll give some reasons and want to know what do you think about it. 1. Libvirt has to manage and keep in mind backing chains anyway. This means, that storing this information in qcow2 header

Re: [PATCH v6 04/11] nbd: Update qapi to support exporting multiple bitmaps

2020-10-27 Thread Vladimir Sementsov-Ogievskiy
introspection. Signed-off-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-22 Thread Vladimir Sementsov-Ogievskiy
22.10.2020 10:50, Andrey Shinkevich wrote: On 21.10.2020 23:43, Andrey Shinkevich wrote: On 14.10.2020 18:22, Vladimir Sementsov-Ogievskiy wrote: 14.10.2020 15:51, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: If the flag BDRV_REQ_PREFETCH was set, pass it further to the COR

Re: [PATCH v11 13/13] block: apply COR-filter to block-stream jobs

2020-10-16 Thread Vladimir Sementsov-Ogievskiy
15.10.2020 20:16, Andrey Shinkevich wrote: On 14.10.2020 19:24, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: [...] ---   block/stream.c | 93 +-   tests/qemu-iotests/030 | 51 +++--  

Re: [PATCH v11 05/13] copy-on-read: limit COR operations to base in COR driver

2020-10-16 Thread Vladimir Sementsov-Ogievskiy
15.10.2020 20:37, Andrey Shinkevich wrote: On 15.10.2020 18:56, Max Reitz wrote: On 14.10.20 20:57, Andrey Shinkevich wrote: On 14.10.2020 15:01, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: Limit COR operations by the base node in the backing chain when the overlay base node

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 19:30, Max Reitz wrote: On 14.10.20 17:22, Vladimir Sementsov-Ogievskiy wrote: 14.10.2020 15:51, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: If the flag BDRV_REQ_PREFETCH was set, pass it further to the COR-driver to skip unneeded reading. It can be taken

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 19:08, Andrey Shinkevich wrote: On 14.10.2020 14:09, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: We are going to use the COR-filter for a block-stream job. To limit COR operations by the base node in the backing chain during stream job, pass the name of overlay base

Re: [PATCH v11 11/13] stream: mark backing-file argument as deprecated

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 18:03, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: Whereas the block-stream job starts using a backing file name of the base node overlay after the block-stream job completes, mark the QMP 'backing-file' argument as deprecated. Signed-off-by: Andrey Shinkevich ---

Re: [PATCH v11 10/13] stream: skip filters when writing backing file name to QCOW2 header

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 18:02, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: Avoid writing a filter JSON-name to QCOW2 image when the backing file is changed after the block stream job. Signed-off-by: Andrey Shinkevich --- block/stream.c | 9 + 1 file changed, 5 insertions(+), 4

Re: [PATCH v11 09/13] copy-on-read: skip non-guest reads if no copy needed

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 15:51, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: If the flag BDRV_REQ_PREFETCH was set, pass it further to the COR-driver to skip unneeded reading. It can be taken into account for the COR-algorithms optimization. That check is being made during the block stream

Re: [PATCH v11 06/13] block: modify the comment for BDRV_REQ_PREFETCH flag

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 15:22, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: Modify the comment for the flag BDRV_REQ_PREFETCH as we are going to use it alone and pass it to the COR-filter driver for further processing. Signed-off-by: Andrey Shinkevich --- include/block/block.h | 7

Re: [PATCH v11 04/13] copy-on-read: pass overlay base node name to COR driver

2020-10-14 Thread Vladimir Sementsov-Ogievskiy
14.10.2020 14:57, Max Reitz wrote: On 14.10.20 13:09, Max Reitz wrote: On 12.10.20 19:43, Andrey Shinkevich wrote: We are going to use the COR-filter for a block-stream job. To limit COR operations by the base node in the backing chain during stream job, pass the name of overlay base node to

Re: [PATCH v2 0/2] block: deprecate the sheepdog driver

2020-09-23 Thread Vladimir Sementsov-Ogievskiy
22.09.2020 21:11, Neal Gompa wrote: On Tue, Sep 22, 2020 at 1:43 PM Daniel P. Berrangé wrote: On Tue, Sep 22, 2020 at 01:09:06PM -0400, Neal Gompa wrote: On Tue, Sep 22, 2020 at 12:16 PM Daniel P. Berrangé wrote: 2 years back I proposed dropping the sheepdog mailing list from the

Re: [PATCH v2 2/2] block: deprecate the sheepdog block driver

2020-09-22 Thread Vladimir Sementsov-Ogievskiy
Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [PATCH v2 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file

2020-09-22 Thread Vladimir Sementsov-Ogievskiy
. Berrangé Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir

Re: [libvirt] [PATCH v2 20/25] qemu: Implement backup job APIs and qemu handling

2019-12-06 Thread Vladimir Sementsov-Ogievskiy
05.12.2019 21:13, Eric Blake wrote: > [adding some qemu visibility] > > On 12/5/19 7:34 AM, Peter Krempa wrote: > +    if (!(mergebitmapsstore = virJSONValueCopy(mergebitmaps))) +    return -1; + +    if (qemuMonitorTransactionBitmapAdd(actions, + 

Re: [libvirt] [PATCH for-4.2?] block/qcow2-bitmap: fix crash bug in qcow2_co_remove_persistent_dirty_bitmap

2019-12-06 Thread Vladimir Sementsov-Ogievskiy
05.12.2019 23:09, Eric Blake wrote: > On 12/5/19 1:30 PM, Vladimir Sementsov-Ogievskiy wrote: >> Here is double bug: >> >> First, return error but not set errp. This may lead to: >> qmp block-dirty-bitmap-remove may report success when actually failed >>

Re: [libvirt] Offline manipulation of Dirty Bitmaps by qemu-img

2019-12-06 Thread Vladimir Sementsov-Ogievskiy
06.12.2019 1:37, John Snow wrote: > This has come up in the past, and I believe we discussed this at KVM > Forum, too: > > There have been requests from oVirt (via Nir Soffer) to add some offline > bitmap manipulation functionality. In the past, our stance has generally > been "Use QEMU without

Re: [libvirt] [PATCH for-4.2?] block/qcow2-bitmap: fix crash bug in qcow2_co_remove_persistent_dirty_bitmap

2019-12-06 Thread Vladimir Sementsov-Ogievskiy
05.12.2019 23:16, John Snow wrote: > > > On 12/5/19 3:09 PM, Eric Blake wrote: >> On 12/5/19 1:30 PM, Vladimir Sementsov-Ogievskiy wrote: >>> Here is double bug: >>> >>> First, return error but not set errp. This may lead to: >>> qmp block-d

Re: [libvirt] [PATCH v2 2/2] qapi: deprecate implicit filters

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
08.11.2019 16:27, Peter Krempa wrote: > On Fri, Nov 08, 2019 at 13:16:55 +0300, Vladimir Sementsov-Ogievskiy wrote: >> To get rid of implicit filters related workarounds in future let's >> deprecate them now. >> >> Deprecation warning breaks some bash iotests output, so

Re: [libvirt] [PATCH v2 0/2] Deprecate implicit filters

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
Something strange, I don't think it related to patchset. 08.11.2019 15:00, no-re...@patchew.org wrote: > Patchew URL: > https://patchew.org/QEMU/20191108101655.10611-1-vsement...@virtuozzo.com/ > > > > Hi, > > This series failed the docker-mingw@fedora build test. Please find the >

Re: [libvirt] [Qemu-devel] Exposing feature deprecation to machine clients

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
07.11.2019 21:52, Philippe Mathieu-Daudé wrote: > Hi Markus, > > On 8/15/19 7:40 PM, John Snow wrote: >> On 8/15/19 10:16 AM, Markus Armbruster wrote: >>> John Snow writes: > [...] I asked Markus this not too long ago; do we want to amend the QAPI schema specification to allow commands

[libvirt] [PATCH v2 0/2] Deprecate implicit filters

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
v2: Don't deprecate drive-backup, it is unrelated thing and will be resent in separate. Don't deprecate drive-mirror. Instead add filter-node-name to drive-mirror to behave like blockdev-mirror Fix all broken iotests. Vladimir Sementsov-Ogievskiy (2): qapi: add filter-node-name option to drive

[libvirt] [PATCH v2 1/2] qapi: add filter-node-name option to drive-mirror

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
To correspond to blockdev-mirror command and make it possible to deprecate implicit filters in the next commit. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qapi/block-core.json | 7 +++ blockdev.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/qapi/block

[libvirt] [PATCH v2 2/2] qapi: deprecate implicit filters

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
is changed, as we don't need to test "default" filter node name anymore. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qemu-deprecated.texi | 6 ++ qapi/block-core.json | 9 ++--- include/block/block_int.h | 10 +- blockdev.c | 10 ++

Re: [libvirt] Deprecating stuff for 4.2

2019-11-08 Thread Vladimir Sementsov-Ogievskiy
08.11.2019 9:41, Markus Armbruster wrote: > Vladimir Sementsov-Ogievskiy writes: > >> 07.11.2019 21:52, Philippe Mathieu-Daudé wrote: > [...] >>> Pre-release period, time to deprecate some stuffs :) >>> >>> How should we proceed? Do you have somethin

Re: [libvirt] QEMU bitmap backup usability FAQ

2019-09-25 Thread Vladimir Sementsov-Ogievskiy
25.09.2019 16:52, John Snow wrote: > > > On 8/20/19 6:25 PM, John Snow wrote: >> Hi, downstream here at Red Hat I've been fielding some questions about >> the usability and feature readiness of Bitmaps (and related features) in >> QEMU. >> >> Here are some questions I answered internally that I

Re: [libvirt] [PATCH 1/1] dirty-bitmaps: remove deprecated autoload parameter

2019-09-25 Thread Vladimir Sementsov-Ogievskiy
25.09.2019 16:01, John Snow wrote: > > > On 9/25/19 3:20 AM, Vladimir Sementsov-Ogievskiy wrote: >> 25.09.2019 2:01, John Snow wrote: >>> This parameter has been deprecated since 2.12.0 and is eligible for >>> removal. Remove this parameter as it is actua

Re: [libvirt] [PATCH 1/1] dirty-bitmaps: remove deprecated autoload parameter

2019-09-25 Thread Vladimir Sementsov-Ogievskiy
tmap-add "autoload" parameter (since 2.12.0) Agree with Eric that it should be 4.2 - as this section is about removing > + > +"autoload" parameter is now ignored. All bitmaps are automatically loaded > +from qcow2 images. Maybe, rephrase it as s/is now ignored/i

Re: [libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-29 Thread Vladimir Sementsov-Ogievskiy
29.08.2019 17:44, Peter Krempa wrote: > On Wed, Aug 28, 2019 at 13:48:10 -0400, John Snow wrote: >> (Peter: search for "pkrempa" down below.) >> >> On 8/28/19 5:20 AM, Vladimir Sementsov-Ogievskiy wrote: > > [] > > >> So that's a bit of a

Re: [libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-29 Thread Vladimir Sementsov-Ogievskiy
29.08.2019 18:00, Vladimir Sementsov-Ogievskiy wrote: > 28.08.2019 20:48, John Snow wrote: >> (Peter: search for "pkrempa" down below.) >> >> On 8/28/19 5:20 AM, Vladimir Sementsov-Ogievskiy wrote: >>> 27.08.2019 23:12, John Snow wrote: >>>&

Re: [libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-29 Thread Vladimir Sementsov-Ogievskiy
28.08.2019 20:48, John Snow wrote: > (Peter: search for "pkrempa" down below.) > > On 8/28/19 5:20 AM, Vladimir Sementsov-Ogievskiy wrote: >> 27.08.2019 23:12, John Snow wrote: >>> >>> >>> On 8/23/19 5:22 AM, Vladimir Sementsov-Ogievskiy wrote:

Re: [libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-28 Thread Vladimir Sementsov-Ogievskiy
27.08.2019 23:12, John Snow wrote: > > > On 8/23/19 5:22 AM, Vladimir Sementsov-Ogievskiy wrote: >> 14.08.2019 13:07, Vladimir Sementsov-Ogievskiy wrote: >>> To get rid of implicit filters related workarounds in future let's >>> deprecate them now. >> >

Re: [libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-23 Thread Vladimir Sementsov-Ogievskiy
14.08.2019 13:07, Vladimir Sementsov-Ogievskiy wrote: > To get rid of implicit filters related workarounds in future let's > deprecate them now. Interesting, could we deprecate implicit filter without deprecation of unnecessity of parameter? As actually, it's good when this par

Re: [libvirt] QEMU bitmap backup usability FAQ

2019-08-22 Thread Vladimir Sementsov-Ogievskiy
22.08.2019 0:19, John Snow wrote: > > > On 8/21/19 10:21 AM, Vladimir Sementsov-Ogievskiy wrote: >> [CC Nikolay] >> >> 21.08.2019 1:25, John Snow wrote: >>> Hi, downstream here at Red Hat I've been fielding some questions about >>> the usability

Re: [libvirt] QEMU bitmap backup usability FAQ

2019-08-21 Thread Vladimir Sementsov-Ogievskiy
[CC Nikolay] 21.08.2019 1:25, John Snow wrote: > Hi, downstream here at Red Hat I've been fielding some questions about > the usability and feature readiness of Bitmaps (and related features) in > QEMU. > > Here are some questions I answered internally that I am copying to the > list for two

Re: [libvirt] [Qemu-devel] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-16 Thread Vladimir Sementsov-Ogievskiy
16.08.2019 15:33, Markus Armbruster wrote: > Kevin Wolf writes: > >> Am 15.08.2019 um 21:24 hat Markus Armbruster geschrieben: > [...] >>> Let's assume all libvirt ever does with deprecation notices is logging >>> them. Would that solve the problem of reliably alerting libvirt >>> developers to

[libvirt] [PATCH 1/2] qapi: deprecate drive-mirror and drive-backup

2019-08-14 Thread Vladimir Sementsov-Ogievskiy
It's hard and not necessary to maintain outdated versions of these commands. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qemu-deprecated.texi | 4 qapi/block-core.json | 4 qapi/transaction.json | 2 +- blockdev.c| 10 ++ 4 files changed, 19 insertions

[libvirt] [PATCH 0/2] Deprecate implicit filters

2019-08-14 Thread Vladimir Sementsov-Ogievskiy
sed interfaces (use node-names). Most simple thing is implicit filters, so let's start from them. drive-mirror don't support filter-node-name, so I propose to deprecate it at all, together with drive-backup, instead of adding support of filter-node-name, what do you think? Vladimir Sementsov-Ogievskiy

[libvirt] [PATCH 2/2] qapi: deprecate implicit filters

2019-08-14 Thread Vladimir Sementsov-Ogievskiy
To get rid of implicit filters related workarounds in future let's deprecate them now. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qemu-deprecated.texi | 7 +++ qapi/block-core.json | 6 -- include/block/block_int.h | 10 +- blockdev.c| 10

Re: [libvirt] [PATCH v3 01/10] block/dirty-bitmap: add recording and busy properties

2019-02-25 Thread Vladimir Sementsov-Ogievskiy
23.02.2019 3:06, John Snow wrote: > The current API allows us to report a single status, which we've defined as: > > Frozen: has a successor, treated as qmp_locked, may or may not be enabled. > Locked: no successor, qmp_locked. may or may not be enabled. > Disabled: Not frozen or locked,

Re: [libvirt] [PATCH v3 09/10] blockdev: remove unused paio parameter documentation

2019-02-25 Thread Vladimir Sementsov-Ogievskiy
_context acquisition, if desired. Can be > NULL. >* @errp: Output pointer for error information. Can be NULL. >* >* @return: A bitmap object on success, or NULL on failure. > Reviewed-by: Vladimir Sementsov-Ogievskiy -- Best regards, Vladimir -- libvir-list mailing list libvir

Re: [libvirt] [PATCH v3 07/10] block/dirty-bitmaps: unify qmp_locked and user_locked calls

2019-02-25 Thread Vladimir Sementsov-Ogievskiy
h now have "Requires that the bitmap is not user_locked and has no successor." So, it should be updated too. and with it: Reviewed-by: Vladimir Sementsov-Ogievskiy > bitmap->successor = child; > -bitmap->qmp_locked = true; > +bitmap->busy = true; >

  1   2   >