Re: [Qemu-devel] [PATCH 1/1] mirror: restore offset after zeroing out the image

2017-01-31 Thread Anton Nefedov
On 01/30/2017 08:33 PM, Denis V. Lunev wrote: On 01/30/2017 08:16 PM, Eric Blake wrote: On 01/30/2017 04:22 AM, Denis V. Lunev wrote: If explicit zeroing out before mirroring is required for the target image, it moves the block job offset counter to EOF, then offset and len counters count the

Re: [Qemu-devel] [PATCH 3/3] vl: pass CPUState to qemu_system_guest_panicked

2017-02-22 Thread Anton Nefedov
hi, On 02/21/2017 01:42 PM, Paolo Bonzini wrote: qemu_system_guest_panicked was already using current_cpu implicitly, so it makes sense for it to receive a CPUState. This lets the function call cpu_get_crash_info and free the result. my motivation against this was that as

[Qemu-devel] [PATCH] qmp-events: fix GUEST_PANICKED description formatting

2017-02-16 Thread Anton Nefedov
also remove a useless NULL check in the event reporting code Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- qapi/event.json | 4 ++-- vl.c| 22 ++ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/qapi/event.json b/qapi/even

[Qemu-devel] [PATCH] qmp-events: fix GUEST_PANICKED description formatting

2017-02-16 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- qapi/event.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qapi/event.json b/qapi/event.json index 970ff02..e02852c 100644 --- a/qapi/event.json +++ b/qapi/event.json @@ -488,9 +488,9 @@ # # @

[Qemu-devel] [PATCH 0/1] qmp-events: fix GUEST_PANICKED description formatting

2017-02-17 Thread Anton Nefedov
This patch is a follow-up for: http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg03647.html

Re: [Qemu-devel] [PATCH] io: fully parse & validate HTTP headers for websocket protocol handshake

2017-02-28 Thread Anton Nefedov
On 02/28/2017 03:07 PM, Daniel P. Berrange wrote: The current websockets protocol handshake code is very relaxed, just doing crude string searching across the HTTP header data. This causes it to both reject valid connections and fail to reject invalid connections. For example, according to the

Re: [Qemu-devel] [PATCH 1/1] qemu-img: wait for convert coroutines to complete

2017-04-21 Thread Anton Nefedov
On 04/21/2017 12:18 PM, Peter Lieven wrote: Am 18.04.2017 um 12:27 schrieb Denis V. Lunev: From: Anton Nefedov <anton.nefe...@virtuozzo.com> We should wait for other coroutines on error path, i.e. one of coroutines terminates with i/o error, before cleaning the common structures. In the

Re: [Qemu-devel] [PATCH v2 1/1] qemu-img: wait for convert coroutines to complete

2017-04-21 Thread Anton Nefedov
On 04/21/2017 01:44 PM, Peter Lieven wrote: Am 21.04.2017 um 12:04 schrieb Anton Nefedov: On error path (like i/o error in one of the coroutines), it's required to - wait for coroutines completion before cleaning the common structures - reenter dependent coroutines so they ever finish

[Qemu-devel] [PATCH v2 1/1] qemu-img: wait for convert coroutines to complete

2017-04-21 Thread Anton Nefedov
On error path (like i/o error in one of the coroutines), it's required to - wait for coroutines completion before cleaning the common structures - reenter dependent coroutines so they ever finish Introduced in 2d9187bc65. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> ---

Re: [Qemu-devel] [PATCH v2 1/1] qemu-img: wait for convert coroutines to complete

2017-04-24 Thread Anton Nefedov
On 04/21/2017 03:37 PM, Peter Lieven wrote: Am 21.04.2017 um 14:19 schrieb Anton Nefedov: On 04/21/2017 01:44 PM, Peter Lieven wrote: Am 21.04.2017 um 12:04 schrieb Anton Nefedov: On error path (like i/o error in one of the coroutines), it's required to - wait for coroutines completion

Re: [Qemu-devel] [Qemu-stable] [PATCH v2 1/1] qemu-img: wait for convert coroutines to complete

2017-04-24 Thread Anton Nefedov
On 24/04/2017 21:16, Peter Lieven wrote: Am 24.04.2017 um 18:27 schrieb Anton Nefedov <anton.nefe...@virtuozzo.com>: On 04/21/2017 03:37 PM, Peter Lieven wrote: Am 21.04.2017 um 14:19 schrieb Anton Nefedov: On 04/21/2017 01:44 PM, Peter Lieven wrote: Am 21.04.2017 um 12:04 schrieb

[Qemu-devel] [PATCH v3 00/13] qcow2: space preallocation and COW improvements

2017-07-31 Thread Anton Nefedov
operations which are not cluster-aligned Performance test results are added to commit messages (see patch 3, 12) Anton Nefedov (10): block: introduce BDRV_REQ_ALLOCATE flag block: treat BDRV_REQ_ALLOCATE as serialising file-posix: support BDRV_REQ_ALLOCATE block: support BDRV_REQ_ALLOCATE

[Qemu-devel] [PATCH v3 05/13] qcow2: preallocation at image expand

2017-07-31 Thread Anton Nefedov
sters. Possible conflicts are resolved by the common block layer code since ALLOCATE requests are serialising. Signed-off-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.h |

[Qemu-devel] [PATCH v3 03/13] file-posix: support BDRV_REQ_ALLOCATE

2017-07-31 Thread Anton Nefedov
Current write_zeroes implementation is good enough to satisfy this flag too Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/file-posix.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/block/file-posix.c b/block/file-posix.c index cfbb236..b

[Qemu-devel] [PATCH v3 02/13] block: treat BDRV_REQ_ALLOCATE as serialising

2017-07-31 Thread Anton Nefedov
request is in flight already. Return EAGAIN, let the caller reconsider. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/io.c | 27 +++ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/block/io.c b/block/io.c index b3f9d61..1b935d8

[Qemu-devel] [PATCH v3 13/13] iotest 134: test cluster-misaligned encrypted write

2017-07-31 Thread Anton Nefedov
COW (even empty/zero) areas require encryption too Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- tests/qemu-iotests/134 | 9 + tests/qemu-iotests/134.out | 10 ++ 2 files changed, 19 insertions(+) diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotes

[Qemu-devel] [PATCH v3 06/13] qcow2: set inactive flag

2017-07-31 Thread Anton Nefedov
Qcow2State and BlockDriverState flags have to be in sync Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/qcow2.c b/block/qcow2.c index 1939d9b..b11dc48 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -

[Qemu-devel] [PATCH v3 12/13] iotest 190: test BDRV_REQ_ALLOCATE

2017-07-31 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- tests/qemu-iotests/190 | 146 + tests/qemu-iotests/190.out | 50 tests/qemu-iotests/group | 1 + 3 files changed, 197 insertions(+) create mode 100755 test

[Qemu-devel] [PATCH v3 11/13] qcow2: allocate image space by-cluster

2017-07-31 Thread Anton Nefedov
-alignment areas that were not really COWed are now detected as zeroes, hence the initial write has to be exactly the same size for the maps to match Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 22 +- tests/qemu-iotests/060

[Qemu-devel] [PATCH v3 09/13] qcow2: move is_zero_sectors() up

2017-07-31 Thread Anton Nefedov
To be used in the following commit without a forward declaration. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 39 +++ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 0

[Qemu-devel] [PATCH v3 07/13] qcow2: truncate preallocated space

2017-07-31 Thread Anton Nefedov
From: "Denis V. Lunev" <d...@openvz.org> This could be done after calculation of the end of data and metadata in the qcow2 image. Signed-off-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.h |

[Qemu-devel] [PATCH v3 01/13] block: introduce BDRV_REQ_ALLOCATE flag

2017-07-31 Thread Anton Nefedov
The flag is supposed to indicate that the region of the disk image has to be sufficiently allocated so it reads as zeroes. The call with the flag set has to return -ENOTSUP if allocation cannot be done efficiently (i.e. without falling back to writing actual buffers) Signed-off-by: Anton Nefedov

[Qemu-devel] [PATCH v3 10/13] qcow2: skip writing zero buffers to empty COW areas

2017-07-31 Thread Anton Nefedov
It can be detected that 1. COW alignment of a write request is zeroes 2. Respective areas on the underlying BDS already read as zeroes after being preallocated previously If both of these true, COW may be skipped Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> ---

[Qemu-devel] [PATCH v3 04/13] block: support BDRV_REQ_ALLOCATE in passthrough drivers

2017-07-31 Thread Anton Nefedov
Support the flag if the underlying BDS supports it Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/blkdebug.c | 3 ++- block/raw-format.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/block/blkdebug.c b/block/blkdebug.c index c19ab28..e

[Qemu-devel] [PATCH v3 08/13] qcow2: check space leak at the end of the image

2017-07-31 Thread Anton Nefedov
-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 32 tests/qemu-iotests/026.out | 104 - tests/qemu-iotes

[Qemu-devel] [PATCH] char: don't exit on hmp 'chardev-add help'

2017-07-17 Thread Anton Nefedov
qemu_chr_new_from_opts() is used from both vl.c and hmp, and it is quite confusing to see qemu suddenly exit after receiving a help option in hmp. Create a separate function for printing help and let different callers react accordingly. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.

[Qemu-devel] [PATCH v2] char: don't exit on hmp 'chardev-add help'

2017-07-25 Thread Anton Nefedov
qemu_chr_new_from_opts() is used from both vl.c and hmp, and it is quite confusing to see qemu suddenly exit after receiving a help option in hmp. Do exit(0) from vl.c instead. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- include/chardev/char.h | 4 +++- chardev/

Re: [Qemu-devel] [PATCH v4 11/13] virtio-console: chardev hotswap support

2017-07-03 Thread Anton Nefedov
In case of a backend change, the handler functions and the watch have to be reset. Also, avoid unsafe qemu_chr_fe_get_driver() usage even though the pointer is not really stored. Amit, have you had a chance to kindly look at this? /Anton - Original Message - Signed-off-by: Anton

Re: [Qemu-devel] [PATCH v4 13/13] serial: chardev hotswap support

2017-07-03 Thread Anton Nefedov
Hi Paolo, Michael, Any feedback on this change? (and a cosmetic patch 12 of this series) Thanks a lot in advance, /Anton On 06/26/2017 07:45 PM, Anton Nefedov wrote: for a backend change, a number of ioctls has to be replayed to sync the current setup of a frontend to a backend tty

[Qemu-devel] [PATCH v6 03/13] char: chardevice hotswap

2017-07-06 Thread Anton Nefedov
ointer (qemu_chr_fe_get_driver()), and it will become invalid after backend change. So, a frontend which would like to support chardev hotswap has to register a "backend change" handler, and redo its backend setup there. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladim

[Qemu-devel] [PATCH v6 10/13] hmp: add hmp analogue for qmp-chardev-change

2017-07-06 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Acked-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- include/chardev/char.h | 10 ++ hmp.h | 1 + chardev/char.c

[Qemu-devel] [PATCH v6 05/13] char: avoid chardevice direct access

2017-07-06 Thread Anton Nefedov
frontends should avoid accessing CharDriver struct where possible Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- include/chard

[Qemu-devel] [PATCH v6 00/13] chardevice hotswap

2017-07-06 Thread Anton Nefedov
removal. Yet isa-serial and virtio-serial frontends are supported. The feature can be helpful for e.g. Windows debug allowing to establish connection to a live VM from VM with WinDbg. Anton Nefedov (13): char: move QemuOpts->ChardevBackend translation to a separate func char: add backend hots

[Qemu-devel] [PATCH v6 02/13] char: add backend hotswap handler

2017-07-06 Thread Anton Nefedov
Frontends should have an interface to setup the handler of a backend change. The interface will be used in the next commits Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau &l

[Qemu-devel] [PATCH v6 01/13] char: move QemuOpts->ChardevBackend translation to a separate func

2017-07-06 Thread Anton Nefedov
parse function will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- chardev/char.c | 81 -- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/chardev/char.c b/chardev/char.c

[Qemu-devel] [PATCH v6 04/13] char: forbid direct chardevice access for hotswap devices

2017-07-06 Thread Anton Nefedov
qemu_chr_fe_get_driver() is unsafe, frontends with hotswap support should not access CharDriver ptr directly as CharDriver might change. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-

[Qemu-devel] [PATCH v6 06/13] test-char: destroy chardev-udp after test

2017-07-06 Thread Anton Nefedov
this is only not a problem if the test is last in a suite, otherwise it makes the following main_loop() calls to fail Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 1 + 1 file changed,

[Qemu-devel] [PATCH v6 09/13] test-char: add hotswap test

2017-07-06 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 71 +++ 1 file changed, 71 insertions(+) diff --git a/tests/test-char.c b/tests/test-

[Qemu-devel] [PATCH v6 12/13] serial: move TIOCM update to a separate function

2017-07-06 Thread Anton Nefedov
will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- hw/char/serial.c | 31 +++--

[Qemu-devel] [PATCH v6 07/13] test-char: split char_udp_test

2017-07-06 Thread Anton Nefedov
makes it possible to test the existing chardev-udp Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 56 +++ 1 file changed, 40 inser

[Qemu-devel] [PATCH v6 08/13] test-char: split char_file_test

2017-07-06 Thread Anton Nefedov
makes it possible to test the existing chardev-file Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 137 +- 1 file changed, 84 inser

[Qemu-devel] [PATCH v6 13/13] serial: chardev hotswap support

2017-07-06 Thread Anton Nefedov
ore and replay the whole original control byte sequence. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- hw/char/serial.c | 30 +- 1 file changed, 29 insertions(+), 1 deletion

[Qemu-devel] [PATCH v6 11/13] virtio-console: chardev hotswap support

2017-07-06 Thread Anton Nefedov
In case of a backend change, the handler functions and the watch have to be reset. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- hw/char/virtio-console.c | 30 -- 1 file

[Qemu-devel] [PATCH v5 04/13] char: forbid direct chardevice access for hotswap devices

2017-07-05 Thread Anton Nefedov
qemu_chr_fe_get_driver() is unsafe, frontends with hotswap support should not access CharDriver ptr directly as CharDriver might change. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-

[Qemu-devel] [PATCH v5 11/13] virtio-console: chardev hotswap support

2017-07-05 Thread Anton Nefedov
In case of a backend change, the handler functions and the watch have to be reset. Also, avoid unsafe qemu_chr_fe_get_driver() usage even though the pointer is not really stored. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy &l

[Qemu-devel] [PATCH v5 06/13] test-char: destroy chardev-udp after test

2017-07-05 Thread Anton Nefedov
this is only not a problem if the test is last in a suite, otherwise it makes the following main_loop() calls to fail Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 1 + 1 file changed,

[Qemu-devel] [PATCH v5 03/13] char: chardevice hotswap

2017-07-05 Thread Anton Nefedov
So hotswap also has to be protected so write functions won't access a backend being replaced. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- include/chardev/char-fe.h | 17 ++ include/chardev/c

[Qemu-devel] [PATCH v5 12/13] serial: move TIOCM update to a separate function

2017-07-05 Thread Anton Nefedov
will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- hw/char/serial.c | 31 +++--

[Qemu-devel] [PATCH v5 08/13] test-char: split char_file_test

2017-07-05 Thread Anton Nefedov
makes it possible to test the existing chardev-file Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 137 +- 1 file changed, 84 inser

[Qemu-devel] [PATCH v5 10/13] hmp: add hmp analogue for qmp-chardev-change

2017-07-05 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> CC: Dr. David Alan Gilbert <dgilb...@redhat.com> --- include/chardev/char.h | 10 ++ hmp.h | 1 + chardev/char.c

[Qemu-devel] [PATCH v5 05/13] char: avoid chardevice direct access

2017-07-05 Thread Anton Nefedov
frontends should avoid accessing CharDriver struct where possible Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- include/chard

[Qemu-devel] [PATCH v5 09/13] test-char: add hotswap test

2017-07-05 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 71 +++ 1 file changed, 71 insertions(+) diff --git a/tests/test-char.c b/tests/test-

[Qemu-devel] [PATCH v5 00/13] chardevice hotswap

2017-07-05 Thread Anton Nefedov
device removal. Yet isa-serial and virtio-serial frontends are supported. The feature can be helpful for e.g. Windows debug allowing to establish connection to a live VM from VM with WinDbg. Anton Nefedov (13): char: move QemuOpts->ChardevBackend translation to a separate func char: add back

[Qemu-devel] [PATCH v5 07/13] test-char: split char_udp_test

2017-07-05 Thread Anton Nefedov
makes it possible to test the existing chardev-udp Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 56 +++ 1 file changed, 40 inser

Re: [Qemu-devel] [PATCH v5 03/13] char: chardevice hotswap

2017-07-05 Thread Anton Nefedov
On 07/05/2017 06:09 PM, Paolo Bonzini wrote: On 05/07/2017 16:01, Anton Nefedov wrote: This patch adds a possibility to change a char device without a frontend removal. 1. Ideally, it would have to happen transparently to a frontend, i.e. frontend would continue its regular operation

[Qemu-devel] [PATCH v5 13/13] serial: chardev hotswap support

2017-07-05 Thread Anton Nefedov
for a backend change, a number of ioctls has to be replayed to sync the current setup of a frontend to a backend tty. This is hopefully enough so we don't have to track, store and replay the whole original control byte sequence. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Re

[Qemu-devel] [PATCH v5 01/13] char: move QemuOpts->ChardevBackend translation to a separate func

2017-07-05 Thread Anton Nefedov
parse function will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- chardev/char.c | 81 -- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/chardev/char.c b/chardev/char.c

[Qemu-devel] [PATCH v5 02/13] char: add backend hotswap handler

2017-07-05 Thread Anton Nefedov
Frontends should have an interface to setup the handler of a backend change. The interface will be used in the next commits Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau &l

[Qemu-devel] [PATCH v3 1/1] qemu-img: wait for convert coroutines to complete

2017-04-26 Thread Anton Nefedov
On error path (like i/o error in one of the coroutines), it's required to - wait for coroutines completion before cleaning the common structures - reenter dependent coroutines so they ever finish Introduced in 2d9187bc65. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> ---

Re: [Qemu-devel] [Qemu-stable] [PATCH v2 1/1] qemu-img: wait for convert coroutines to complete

2017-04-25 Thread Anton Nefedov
On 04/25/2017 12:55 PM, Peter Lieven wrote: Am 24.04.2017 um 22:13 schrieb Anton Nefedov: On 24/04/2017 21:16, Peter Lieven wrote: Am 24.04.2017 um 18:27 schrieb Anton Nefedov <anton.nefe...@virtuozzo.com>: On 04/21/2017 03:37 PM, Peter Lieven wrote: Am 21.04.2017 um 14:19 s

[Qemu-devel] [PATCH v4 04/15] block: treat BDRV_REQ_ALLOCATE as serialising

2017-08-01 Thread Anton Nefedov
request is in flight already. Return EAGAIN, let the caller reconsider. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/io.c | 27 +++ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/block/io.c b/block/io.c index 04d495e..0a7a372

[Qemu-devel] [PATCH v4 03/15] block: introduce BDRV_REQ_ALLOCATE flag

2017-08-01 Thread Anton Nefedov
The flag is supposed to indicate that the region of the disk image has to be sufficiently allocated so it reads as zeroes. The call with the flag set has to return -ENOTSUP if allocation cannot be done efficiently (i.e. without falling back to writing actual buffers) Signed-off-by: Anton Nefedov

[Qemu-devel] [PATCH v4 11/15] qcow2: move is_zero() up

2017-08-01 Thread Anton Nefedov
To be used in the following commit without a forward declaration. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 45 ++--- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c

[Qemu-devel] [PATCH v4 15/15] iotest 134: test cluster-misaligned encrypted write

2017-08-01 Thread Anton Nefedov
COW (even empty/zero) areas require encryption too Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- tests/qemu-iotests/134 | 9 + tests/qemu-iotests/134.out | 10 ++ 2 files changed, 19 insertions(+) diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotes

[Qemu-devel] [PATCH v4 12/15] qcow2: skip writing zero buffers to empty COW areas

2017-08-01 Thread Anton Nefedov
It can be detected that 1. COW alignment of a write request is zeroes 2. Respective areas on the underlying BDS already read as zeroes after being preallocated previously If both of these true, COW may be skipped Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> ---

[Qemu-devel] [PATCH v4 09/15] qcow2: truncate preallocated space

2017-08-01 Thread Anton Nefedov
From: "Denis V. Lunev" <d...@openvz.org> This could be done after calculation of the end of data and metadata in the qcow2 image. Signed-off-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.h |

[Qemu-devel] [PATCH v4 00/15] qcow2: space preallocation and COW improvements

2017-08-01 Thread Anton Nefedov
writes to the same unallocated cluster, which is beneficial for parallel sequential write operations which are not cluster-aligned Performance test results are added to commit messages (see patch 3, 12) Anton Nefedov (12): mirror: inherit supported write/zero flags blkverify: set supported

[Qemu-devel] [PATCH v4 01/15] mirror: inherit supported write/zero flags

2017-08-01 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/mirror.c | 5 + 1 file changed, 5 insertions(+) diff --git a/block/mirror.c b/block/mirror.c index d46dace..7e539f1 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1056,6 +1056,11 @@ stati

[Qemu-devel] [PATCH v4 08/15] qcow2: set inactive flag

2017-08-01 Thread Anton Nefedov
Qcow2State and BlockDriverState flags have to be in sync Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/qcow2.c b/block/qcow2.c index 66aa8c2..2a1d2f2 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -

[Qemu-devel] [PATCH v4 05/15] file-posix: support BDRV_REQ_ALLOCATE

2017-08-01 Thread Anton Nefedov
Current write_zeroes implementation is good enough to satisfy this flag too Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/file-posix.c | 8 1 file changed, 8 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c index 765a440..4ef1b1d

[Qemu-devel] [PATCH v4 06/15] block: support BDRV_REQ_ALLOCATE in passthrough drivers

2017-08-01 Thread Anton Nefedov
Support the flag if the underlying BDS supports it Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/blkdebug.c | 3 ++- block/blkverify.c | 2 +- block/mirror.c | 2 +- block/raw-format.c | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a

[Qemu-devel] [PATCH v4 07/15] qcow2: preallocation at image expand

2017-08-01 Thread Anton Nefedov
sters. Possible conflicts are resolved by the common block layer code since ALLOCATE requests are serialising. Signed-off-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.h |

[Qemu-devel] [PATCH v4 13/15] qcow2: allocate image space by-cluster

2017-08-01 Thread Anton Nefedov
-alignment areas that were not really COWed are now detected as zeroes, hence the initial write has to be exactly the same size for the maps to match Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 22 +- tests/qemu-iotests/060

[Qemu-devel] [PATCH v4 02/15] blkverify: set supported write/zero flags

2017-08-01 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/blkverify.c | 9 + 1 file changed, 9 insertions(+) diff --git a/block/blkverify.c b/block/blkverify.c index 06369f9..9ba65d0 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -140,6 +140,15 @@ stat

[Qemu-devel] [PATCH v4 10/15] qcow2: check space leak at the end of the image

2017-08-01 Thread Anton Nefedov
-by: Denis V. Lunev <d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 32 tests/qemu-iotests/026.out | 104 - tests/qemu-iotes

[Qemu-devel] [PATCH v4 14/15] iotest 190: test BDRV_REQ_ALLOCATE

2017-08-01 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- tests/qemu-iotests/190 | 146 + tests/qemu-iotests/190.out | 50 tests/qemu-iotests/group | 1 + 3 files changed, 197 insertions(+) create mode 100755 test

Re: [Qemu-devel] [PATCH v3 04/13] block: support BDRV_REQ_ALLOCATE in passthrough drivers

2017-08-01 Thread Anton Nefedov
On 07/31/2017 10:11 PM, Eric Blake wrote: On 07/31/2017 11:21 AM, Anton Nefedov wrote: Support the flag if the underlying BDS supports it Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/blkdebug.c | 3 ++- block/raw-format.c | 3 ++- 2 files changed, 4 inse

Re: [Qemu-devel] [PATCH v3 09/13] qcow2: move is_zero_sectors() up

2017-08-01 Thread Anton Nefedov
On 07/31/2017 10:13 PM, Eric Blake wrote: On 07/31/2017 11:22 AM, Anton Nefedov wrote: To be used in the following commit without a forward declaration. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 39 +++ 1 file c

Re: [Qemu-devel] [PATCH v4 08/15] qcow2: set inactive flag

2017-08-07 Thread Anton Nefedov
On 08/04/2017 11:00 PM, Eric Blake wrote: On 08/01/2017 09:19 AM, Anton Nefedov wrote: Qcow2State and BlockDriverState flags have to be in sync Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+) Is this a bug fix

Re: [Qemu-devel] [PATCH v4 02/15] blkverify: set supported write/zero flags

2017-08-07 Thread Anton Nefedov
On 08/04/2017 06:23 PM, Eric Blake wrote: On 08/01/2017 09:18 AM, Anton Nefedov wrote: Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/blkverify.c | 9 + 1 file changed, 9 insertions(+) Basically, blkverify supports a flag if BOTH of its underlying file

[Qemu-devel] [PATCH v4 01/13] char: move QemuOpts->ChardevBackend translation to a separate func

2017-06-26 Thread Anton Nefedov
parse function will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- chardev/char.c | 81 -- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/chardev/char.c b/chardev/char.c

[Qemu-devel] [PATCH v4 03/13] char: chardevice hotswap

2017-06-26 Thread Anton Nefedov
So hotswap also has to be protected so write functions won't access a backend being replaced. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- include/chardev/char-fe.h | 17 ++ include/chardev/c

[Qemu-devel] [PATCH v4 10/13] hmp: add hmp analogue for qmp-chardev-change

2017-06-26 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> CC: Dr. David Alan Gilbert <dgilb...@redhat.com> --- include/chardev/char.h | 10 ++ hmp.h | 1 + chardev/char.c

[Qemu-devel] [PATCH v4 08/13] test-char: split char_file_test

2017-06-26 Thread Anton Nefedov
makes it possible to test the existing chardev-file Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 125 ++ 1 file changed, 78 inser

[Qemu-devel] [PATCH v4 05/13] char: avoid chardevice direct access

2017-06-26 Thread Anton Nefedov
frontends should avoid accessing CharDriver struct where possible Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- include/chard

[Qemu-devel] [PATCH v4 02/13] char: add backend hotswap handler

2017-06-26 Thread Anton Nefedov
Frontends should have an interface to setup the handler of a backend change. The interface will be used in the next commits Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-André Lureau &l

[Qemu-devel] [PATCH v4 00/13] chardevice hotswap

2017-06-26 Thread Anton Nefedov
connection to a live VM from VM with WinDbg. Anton Nefedov (13): char: move QemuOpts->ChardevBackend translation to a separate func char: add backend hotswap handler char: chardevice hotswap char: forbid direct chardevice access for hotswap devices char: avoid chardevice direct access t

[Qemu-devel] [PATCH v4 07/13] test-char: split char_udp_test

2017-06-26 Thread Anton Nefedov
makes it possible to test the existing chardev-udp Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 57 ++- 1 file changed, 40 inser

[Qemu-devel] [PATCH v4 04/13] char: forbid direct chardevice access for hotswap devices

2017-06-26 Thread Anton Nefedov
qemu_chr_fe_get_driver() is unsafe, frontends with hotswap support should not access CharDriver ptr directly as CharDriver might change. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> Reviewed-by: Marc-

[Qemu-devel] [PATCH v4 09/13] test-char: add hotswap test

2017-06-26 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 71 +++ 1 file changed, 71 insertions(+) diff --git a/tests/test-char.c b/tests/test-

[Qemu-devel] [PATCH v4 06/13] test-char: unref chardev-udp after test

2017-06-26 Thread Anton Nefedov
this is only not a problem if the test is last in a suite, otherwise it makes the following main_loop() calls to fail Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- tests/test-char.c | 2 ++ 1 file changed,

[Qemu-devel] [PATCH v4 13/13] serial: chardev hotswap support

2017-06-26 Thread Anton Nefedov
for a backend change, a number of ioctls has to be replayed to sync the current setup of a frontend to a backend tty. This is hopefully enough so we don't have to track, store and replay the whole original control byte sequence. Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Re

[Qemu-devel] [PATCH v4 12/13] serial: move TIOCM update to a separate function

2017-06-26 Thread Anton Nefedov
will be used by the following patch Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> CC: Michael S. Tsirkin <m...@redhat.com> CC: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Marc-And

[Qemu-devel] [PATCH v4 11/13] virtio-console: chardev hotswap support

2017-06-26 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> CC: Amit Shah <a...@kernel.org> --- hw/char/virtio-console.c | 35 ++- 1 file changed, 30 insertions(+), 5 deletions(-

[Qemu-devel] [PATCH v1 03/13] qcow2: do not COW the empty areas

2017-05-19 Thread Anton Nefedov
quential write: seqwrite 4k, size=4g, iodepth=4 SSD : 7000 -> 18000 IOPS ( x2.6 ) - numbers are similar to qemu-io tests, slightly less improvement (damped by fs?) Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Signed-off-by: Denis V. Lunev <d

[Qemu-devel] [PATCH v1 00/13] qcow2: space preallocation and COW improvements

2017-05-19 Thread Anton Nefedov
to commit messages (see patch 3, 12) Anton Nefedov (9): qcow2: is_zero_sectors(): return true if area is outside of backing file qcow2: do not COW the empty areas qcow2: set inactive flag qcow2: handle_prealloc(): find out if area zeroed by earlier preallocation qcow2: fix misleading

[Qemu-devel] [PATCH v1 04/13] qcow2: preallocation at image expand

2017-05-19 Thread Anton Nefedov
<d...@openvz.org> Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- block/qcow2-cache.c| 3 + block/qcow2-cluster.c | 5 ++ block/qcow2-refcount.c | 14 + block/qcow2.c | 151 + block/qcow2.h |

[Qemu-devel] [PATCH v1 09/13] qcow2: fix misleading comment about L2 linking

2017-05-19 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Signed-off-by: Denis V. Lunev <d...@openvz.org> --- block/qcow2-cluster.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index 25210cd..42

[Qemu-devel] [PATCH v1 12/13] qcow2: allow concurrent unaligned writes to the same clusters

2017-05-19 Thread Anton Nefedov
to unallocated clusters with no backing data: HDD fio over xfs iodepth=4: seqwrite 4k: 18400 -> 22800 IOPS ( x1.24 ) seqwrite 68k: 1600 -> 2300 IOPS ( x1.44 ) Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> Signed-off-by: Denis V. Lunev <d...@openvz.org> --- block/qco

[Qemu-devel] [PATCH v1 13/13] iotest 046: test simultaneous cluster write error case

2017-05-19 Thread Anton Nefedov
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com> --- tests/qemu-iotests/046 | 38 +- tests/qemu-iotests/046.out | 23 +++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/046 b/test

  1   2   3   4   5   >