From: Vladimir Sementsov-Ogievskiy
qemu coroutine command results in following error output:
Python Exception 'arch_prctl' has unknown return
type; cast the call to its declared return type: Error occurred in
Python command: 'arch_prctl' has unknown return type; cast the call to
its declared
From: Stefano Garzarella
In several part we still using req->dev or VIRTIO_DEVICE(req->dev)
when we have already defined s and vdev pointers:
VirtIOBlock *s = req->dev;
VirtIODevice *vdev = VIRTIO_DEVICE(s);
Signed-off-by: Stefano Garzarella
Reviewed-by: Liam Merwick
Message-id:
The following changes since commit 22c5f446514a2a4bb0dbe1fea26713da92fc85fa:
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20190211' into
staging (2019-02-11 17:04:57 +)
are available in the Git repository at:
git://github.com/stefanha/qemu.git tags/block-pull-request
From: Peter Xu
Lukas reported an hard to reproduce QMP iothread hang on s390 that
QEMU might hang at pthread_join() of the QMP monitor iothread before
quitting:
Thread 1
#0 0x03ffad10932c in pthread_join
#1 0x000109e95750 in qemu_thread_join
at
On Mon, Feb 11, 2019 at 11:42:14AM +, Peter Maydell wrote:
> On Mon, 11 Feb 2019 at 05:50, Stefan Hajnoczi wrote:
> >
> > The following changes since commit e47f81b617684c4546af286d307b69014a83538a:
> >
> > Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into
> >
On Mon, Feb 11, 2019 at 09:38:37AM +, Vladimir Sementsov-Ogievskiy wrote:
> 11.02.2019 6:42, Stefan Hajnoczi wrote:
> > On Fri, Feb 08, 2019 at 05:11:22PM +0300, Vladimir Sementsov-Ogievskiy
> > wrote:
> >> Hi all!
> >>
> >> We have a very frequent pattern of wrapping a coroutine_fn function
On Thu, Feb 07, 2019 at 01:24:28PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> v3:
Will you send a v4 based on Eric's comments or do you want to keep the
series as it is?
Stefan
signature.asc
Description: PGP signature
On Thu, Feb 07, 2019 at 01:24:28PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Hi all!
>
> Here is a new simple helper for a very often patter
> around qemu_iovec_init_external, when we need simple qiov with only
> one iov, initialized from external buffer.
>
> v3:
> 01-02: tiny improvements,
Instead of implying a locked status, make it explicit.
Now, bitmaps in use by migration, NBD or backup operations
are all treated the same way with the same code paths.
---
block/dirty-bitmap.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/block/dirty-bitmap.c
"Frozen" was a good description a long time ago, but it isn't adequate now.
Rename the frozen predicate to has_successor to make the semantics of the
predicate more clear to outside callers.
In the process, remove some calls to frozen() that no longer semantically
make sense. For enabled and
Currently, enabled means something like "the status of the bitmap
is ACTIVE." After this patch, it should mean exclusively: "This
bitmap is recording guest writes, and is allowed to do so."
In many places, this is how this predicate was already used.
We'll allow users to call user_locked if
These mean the same thing now. Unify them and rename the merged call
bdrv_dirty_bitmap_busy to indicate semantically what we are describing,
as well as help disambiguate from the various _locked and _unlocked
versions of bitmap helpers that refer to mutex locks.
---
block/dirty-bitmap.c
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, disabled.
Active: Not frozen, locked, or disabled.
The current internal meanings of "locked", "user_locked",
"qmp_locked", "frozen", "enabled", and "disabled" are all
a little muddled.
Deprecate the @status field in favor of two new booleans
that carry very specific meanings. Then, rename and rework
some of the internal semantics to help make the
On 2/11/19 6:56 AM, Vladimir Sementsov-Ogievskiy wrote:
> Now negotiation is done in coroutine, so to take benefit of it let's
> use non-blocking model.
>
> Note that QIOChannel handle synchronous io calls correctly anyway, so
s/handle/handles/
> it's not a problem to send final NBD_CMD_DISC to
On 2/11/19 6:56 AM, Vladimir Sementsov-Ogievskiy wrote:
> We always call qio_channel_tls_handshake in nbd from couroutine. Take
> benefit of it and just yield instead of creating personal main loop.
>
> Mark and rename the function and it's callers correspondingly and
> trace-points too.
>
>
On 2/11/19 6:55 AM, Vladimir Sementsov-Ogievskiy wrote:
> As a first step to non-blocking negotiation, move it to coroutine.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> nbd/client.c | 123 +--
> 1 file changed, 109 insertions(+), 14
On 2/11/19 6:55 AM, Vladimir Sementsov-Ogievskiy wrote:
> Expose attached aio context. It will be used in nbd code, to
> understand, in which aio context negotiation should be done.
s/, in/ in/
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> include/io/channel.h | 9 +
>
From: Andrey Shinkevich
A new test file 242 added to the qemu-iotests set. It checks
the format of qcow2 specific information for the new added
section that lists details of bitmaps.
Signed-off-by: Andrey Shinkevich
Message-Id:
From: Andrey Shinkevich
Inform a user in case qcow2_get_specific_info fails to obtain
QCOW2 image specific information. This patch is preliminary to
the one "qcow2: Add list of bitmaps to ImageInfoSpecificQCow2".
Signed-off-by: Andrey Shinkevich
Reviewed-by: Eric Blake
Reviewed-by: Vladimir
From: Andrey Shinkevich
In the 'Format specific information' section of the 'qemu-img info'
command output, the supplemental information about existing QCOW2
bitmaps will be shown, such as a bitmap name, flags and granularity:
image: /vz/vmprivate/VM1/harddisk.hdd
file format: qcow2
virtual
lgtm.com pointed out that commit 678ba275 introduced a shadowed
declaration of local variable 'bs'; thankfully, the inner 'bs'
obtained by 'blk_bs(blk)' matches the outer one given that we had
'blk_insert_bs(blk, bs, errp)' a few lines earlier, and there are
no later uses of 'bs' beyond the scope
On 2/11/19 1:25 PM, Vladimir Sementsov-Ogievskiy wrote:
> 04.02.2019 22:26, John Snow wrote:
>>
>>
>> On 2/4/19 10:00 AM, Eric Blake wrote:
>>> On 2/1/19 7:10 PM, John Snow wrote:
The meaning of the states has changed subtly over time,
this should bring the understanding more in-line
On 2/6/19 12:02 PM, John Snow wrote:
> When bitmaps are persistent, they may incur a disk read or write when bitmaps
> are added or removed. For configurations like virtio-dataplane, failing to
> acquire this lock will abort QEMU when disk IO occurs.
>
> We used to acquire aio_context as part
11.02.2019 20:52, Kevin Wolf wrote:
> Am 11.02.2019 um 18:39 hat Vladimir Sementsov-Ogievskiy geschrieben:
>> 08.01.2019 16:20, Markus Armbruster wrote:
>>> Vladimir Sementsov-Ogievskiy writes:
>>>
Move to way of device selecting, however fall back to device name if
path is not found.
11.02.2019 20:54, Kevin Wolf wrote:
> Am 21.12.2018 um 17:53 hat Vladimir Sementsov-Ogievskiy geschrieben:
>> Move to way of device selecting, however fall back to device name if
>> path is not found.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy
>> ---
>> qapi/block-core.json | 4 ++--
>>
04.02.2019 22:26, John Snow wrote:
>
>
> On 2/4/19 10:00 AM, Eric Blake wrote:
>> On 2/1/19 7:10 PM, John Snow wrote:
>>> The meaning of the states has changed subtly over time,
>>> this should bring the understanding more in-line with the
>>> current, actual usages.
>>>
>>> Reported-by: Eric
02.02.2019 4:01, John Snow wrote:
>
>
> On 1/31/19 3:29 AM, Vladimir Sementsov-Ogievskiy wrote:
>>
>> About @frozen and @locked, we can also note that they can't be exported
>> through NBD.
>> We can summarize, that @frozen and @locked means that user can't use them in
>> any
>> command, and
Am 21.12.2018 um 17:53 hat Vladimir Sementsov-Ogievskiy geschrieben:
> Move to way of device selecting, however fall back to device name if
> path is not found.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> qapi/block-core.json | 4 ++--
> blockdev.c | 22
Am 11.02.2019 um 18:39 hat Vladimir Sementsov-Ogievskiy geschrieben:
> 08.01.2019 16:20, Markus Armbruster wrote:
> > Vladimir Sementsov-Ogievskiy writes:
> >
> >> Move to way of device selecting, however fall back to device name if
> >> path is not found.
> >>
> >> Signed-off-by: Vladimir
08.01.2019 16:20, Markus Armbruster wrote:
> Vladimir Sementsov-Ogievskiy writes:
>
>> Move to way of device selecting, however fall back to device name if
>> path is not found.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy
>> ---
>> qapi/block-core.json | 4 ++--
>> blockdev.c
11.02.2019 18:52, Alberto Garcia wrote:
> On Mon 11 Feb 2019 03:51:33 PM CET, Vladimir Sementsov-Ogievskiy wrote:
> I think this was already discussed in the previous version of this
> patch: if you insert a copy-on-read filter here then all guest
> reads will copy the data from the
Am 11.02.2019 um 16:03 hat Vladimir Sementsov-Ogievskiy geschrieben:
> Hi, is there a reason why it's not merged?
>
> Address jc...@redhat.com is not present anymore, at least it should be dropped
> from MAINTAINERS.
I don't think there is a reason, so I applied it to the block branch
now.
On Mon 11 Feb 2019 03:51:33 PM CET, Vladimir Sementsov-Ogievskiy wrote:
I think this was already discussed in the previous version of this
patch: if you insert a copy-on-read filter here then all guest
reads will copy the data from the backing chain, but you don't want
to copy
On Mon 11 Feb 2019 03:44:20 PM CET, Vladimir Sementsov-Ogievskiy wrote:
> Encryption will be done in threads, to take benefit of it, we should
> move it out of the lock first.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
Berto
Hi, is there a reason why it's not merged?
Address jc...@redhat.com is not present anymore, at least it should be dropped
from MAINTAINERS.
26.09.2018 21:05, Jeff Cody wrote:
> Changes from v1:
>
> - cc'ed Peter (meant to for v1, forgot)
> - added John's 'jobs' branch to his git url
>
Use thread_pool_submit_co, instead of reinventing it here. Note, that
thread_pool_submit_aio() never returns NULL, so checking it was an
extra thing.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2-threads.c | 17 ++---
1 file changed, 2
Background: decryption will be done in threads, to take benefit of it,
we should move it out of the lock first.
But let's go further: it turns out, that for locking around switch
cases we have only two variants: when we just do memset(0) not
releasing the lock (it is useless) and when we actually
qemu_iovec_memset has @offset parameter, so using hd_qiov for it is not
needed.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index
On 11/02/2019 17:07, Alberto Garcia wrote:
> On Fri 08 Feb 2019 04:29:48 PM CET, Andrey Shinkevich wrote:
>> On 08/02/2019 16:13, Alberto Garcia wrote:
>>> On Wed 23 Jan 2019 12:54:24 PM CET, Andrey Shinkevich wrote:
+static BlockDriverState *insert_filter(BlockDriverState *bs, Error
11.02.2019 17:07, Alberto Garcia wrote:
> On Fri 08 Feb 2019 04:29:48 PM CET, Andrey Shinkevich wrote:
>> On 08/02/2019 16:13, Alberto Garcia wrote:
>>> On Wed 23 Jan 2019 12:54:24 PM CET, Andrey Shinkevich wrote:
+static BlockDriverState *insert_filter(BlockDriverState *bs, Error **errp)
Drop dependence on AioContext lock.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
Reviewed-by: Paolo Bonzini
---
Notes:
v4: add r-b by Alberto and Paolo.
Paolo asked to add some information to the commit message.
I don't have good understanding of
Move generic part out of qcow2_co_do_compress, to reuse it for
encryption and rename things that would be shared with encryption path.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2.h | 4 ++--
block/qcow2-threads.c | 47
Move compression-on-threads to separate file. Encryption will be in it
too.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2.h | 7 ++
block/qcow2-threads.c | 201 ++
block/qcow2.c | 169
Hi all!
The series brings threads to qcow2 encryption/decryption path,
like it is already done for compression.
v4:
add r-b's to most of patches
04: add r-b by Alberto and Paolo.
Paolo asked to add some information to the commit message.
I don't have good understanding of moving from
Do encryption/decryption in threads, like it is already done for
compression. This improves asynchronous encrypted io.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2.h | 8 ++
block/qcow2-cluster.c | 7 ++---
block/qcow2-threads.c | 65
Encryption will be done in threads, to take benefit of it, we should
move it out of the lock first.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2.c | 35 +--
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/block/qcow2.c
qcow2.h depends on block_int.h. Compilation isn't broken currently only
due to block_int.h always included before qcow2.h. Though, it seems
better to directly include block_int.h in qcow2.h.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Alberto Garcia
---
block/qcow2.h | 1
We always call qio_channel_tls_handshake in nbd from couroutine. Take
benefit of it and just yield instead of creating personal main loop.
Mark and rename the function and it's callers correspondingly and
trace-points too.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
nbd/client.c | 26
As a first step to non-blocking negotiation, move it to coroutine.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
nbd/client.c | 123 +--
1 file changed, 109 insertions(+), 14 deletions(-)
diff --git a/nbd/client.c b/nbd/client.c
index
Now negotiation is done in coroutine, so to take benefit of it let's
use non-blocking model.
Note that QIOChannel handle synchronous io calls correctly anyway, so
it's not a problem to send final NBD_CMD_DISC to non-blocking channel
but using sync qio interface, even not in coroutine.
Expose attached aio context. It will be used in nbd code, to
understand, in which aio context negotiation should be done.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
include/io/channel.h | 9 +
io/channel.c | 5 +
2 files changed, 14 insertions(+)
diff --git
Hi all!
Here is a try of moving to non-blocking negotiation in nbd
code, proposed by Deniel in
https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg03817.html
in thread "[PATCH v4 00/10] NBD reconnect"
https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg05973.html
Vladimir
On Mon, 11 Feb 2019 at 05:50, Stefan Hajnoczi wrote:
>
> The following changes since commit e47f81b617684c4546af286d307b69014a83538a:
>
> Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into
> staging (2019-02-07 18:53:25 +)
>
> are available in the Git repository at:
Thanks for looking into this Stefan.
I rebuilt Qemu with the new patch and got a couple of guests running with the
new build. Two of them using virtio-scsi and another one using virtio-blk. Now
I'm waiting for any of them to crash.
I also set libvirt to include the guest memory in the qemu
11.02.2019 6:42, Stefan Hajnoczi wrote:
> On Fri, Feb 08, 2019 at 05:11:22PM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> Hi all!
>>
>> We have a very frequent pattern of wrapping a coroutine_fn function
>> to be called from non-coroutine context:
>>
>>- create structure to pack parameters
>>
56 matches
Mail list logo