On 14/11/2017 7:50 PM, Eric Blake wrote:
On 11/14/2017 04:16 AM, Anton Nefedov wrote:
Misaligned compressed write is not supported.
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.c | 4
1 file changed, 4 insertions(+)
Should this one be applied i
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
qapi/block-core.json | 4
include/block/block_int.h | 4 +++-
block/stream.c| 16
blockdev.c| 13 -
hmp.c | 2 ++
hmp-commands.hx
large requests into separate clusters and write
using existing functionality. For unaligned requests we use a workaround
and do write data without compression.
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.c | 77 +++---
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
tests/qemu-iotests/030 | 69 +-
tests/qemu-iotests/030.out | 4 +--
2 files changed, 70 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
It might be useful to compress images during block-stream;
this way the user can merge compressed images of a backing chain and
the result will remain compressed.
Anton Nefedov (4):
qcow2: reject unaligned offsets in write compressed
block: support compressed write for copy-on-read
block
Misaligned compressed write is not supported.
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.c | 4
1 file changed, 4 insertions(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 92cb9f9..45c5651 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/io.c | 30 --
block/trace-events | 2 +-
2 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/block/io.c b/block/io.c
index 3d5ef2c..93c6b24 100644
--- a/block/io.c
+++ b
On 8/11/2017 5:45 PM, Alberto Garcia wrote:
On Tue 07 Nov 2017 05:19:41 PM CET, Anton Nefedov wrote:
BlockBackend gets deleted by another job's stream_complete(), deferred
to the main loop, so the fact that the job is put to sleep by
bdrv_drain_all_begin() doesn't really stop it from
Hi,
One more drainage-related thing.
We have recently encountered an issue with parallel block jobs and it's
not quite clear how to fix it properly, so would appreciate your ideas.
The small attached tweak makes iotest 30 (-qcow2 -nocache) fail 10/10
times on my machine.
And while most of the
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
-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 | 94 +-
tests/qemu-iote
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 3899524..f41aaac 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
Reviewed-by: Alberto Garcia <be...@igalia.com>
---
block/blkdebug.c | 3 ++-
block/blkverify.c | 2 +-
block/mirror.c | 2 +-
block/raw-format.c | 3 ++-
4 file
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.c | 35 +--
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index 9
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 7506207..1e07a0b
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
tests/qemu-iotests/198 | 146 +
tests/qemu-iotests/198.out | 50
tests/qemu-iotests/group | 1 +
3 files changed, 197 insertions(+)
create mode 100755 test
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
Reviewed-by: Alberto Garcia <be...@igalia.com>
---
block/file-posix.c | 8
1 file changed, 8 insertions(+)
diff --git a/block/file-posix.c
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
---
block/mirror.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/block/mirror.c b/block/mirror.c
index 307b639..19c8987 100644
--- a/block/mirror.c
+++ b/block/mirror.
if space preallocation feature is used, it can be detected that the space
is already zeroes, so COW can be skipped without additional zeroing of
the clusters.
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.h | 6 ++
block/qcow2-cluster.c | 2 ++
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 |
- and the common block layer (so it will not fall back to any slowpath
(like writing zero buffers) in case the driver does not support
the flag).
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: Alberto Garcia <b
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 | 3 +++
block/qcow2.c | 43 +
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
Signed-off-by: Anton Nefedov <anton.nefe...@virtuozzo.com>
---
block/qcow2.h | 6 +
block/qcow2-cluster.c | 3 ++-
block/qcow2.c | 67 --
block/trace-events | 1 +
tests/qemu-iotests/060 | 2 +-
test
void that but return ENOTSUP.
Such allocate requests are also implemented to possibly overlap with the
other requests. No wait is performed but an error returned in such case as well.
So the operation should be considered advisory and a fallback scenario still
handled by the caller (in this case, qcow2 driver).
A
On 1/8/2017 5:18 PM, Anton Nefedov wrote:
This pull request is to address a few performance problems of qcow2 format:
1. non cluster-aligned write requests (to unallocated clusters) explicitly
pad data with zeroes if there is no backing data. This can be avoided
and the whole
On 31/8/2017 9:55 AM, Liu Qing wrote:
On Wed, Aug 30, 2017 at 01:15:33PM +0300, Anton Nefedov wrote:
On 29/08/2017 05:56, Liu Qing wrote:
On Mon, Aug 28, 2017 at 10:46:34AM -0500, Eric Blake wrote:
[adding qemu-block]
On 08/28/2017 12:56 AM, Liu Qing wrote:
Dear list,
Recently I used
On 29/08/2017 05:56, Liu Qing wrote:
On Mon, Aug 28, 2017 at 10:46:34AM -0500, Eric Blake wrote:
[adding qemu-block]
On 08/28/2017 12:56 AM, Liu Qing wrote:
Dear list,
Recently I used fio to test qcow2 driver in the guest os, and found out
that when a new cluster is allocated the 4K IO
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
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
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
-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
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
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
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
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
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 |
-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
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>
---
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
@@ -
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
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
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
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
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 |
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
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
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
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
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
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
-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
-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
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
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>
---
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
@@ -
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 |
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
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 |
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
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
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_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/
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.
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
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
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
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
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-
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 +++--
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
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,
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
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_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-
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
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
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
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
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
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
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,
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_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-
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
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
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
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
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
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-
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
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 +++--
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
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
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
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
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(-
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-
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
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,
301 - 400 of 495 matches
Mail list logo