Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-20 Thread Denis Plotnikov
I'm not quite sure I understand the point. Let's see all the picture of async snapshot: our goal is to minimize a VM downtime during the snapshot. When we do async snapshot we save vmstate except RAM when a VM is stopped using the current L1 table (further initial L1 table). Then, we want the

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Eric Blake
On 5/19/20 10:48 AM, Vladimir Sementsov-Ogievskiy wrote: The other options is doing what you suggested. There is nothing in the qcow2 on-disk format that would prevent this, but we would have to extend the qcow2 driver to allow I/O to inactive L1 tables. This sounds like a non-trivial amount of

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Vladimir Sementsov-Ogievskiy
19.05.2020 18:29, Kevin Wolf wrote: Am 19.05.2020 um 17:05 hat Denis Plotnikov geschrieben: On 19.05.2020 17:18, Kevin Wolf wrote: Am 19.05.2020 um 15:54 hat Denis Plotnikov geschrieben: On 19.05.2020 15:32, Vladimir Sementsov-Ogievskiy wrote: 14.05.2020 17:26, Kevin Wolf wrote: Am

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Kevin Wolf
Am 19.05.2020 um 17:05 hat Denis Plotnikov geschrieben: > On 19.05.2020 17:18, Kevin Wolf wrote: > > Am 19.05.2020 um 15:54 hat Denis Plotnikov geschrieben: > > > > > > On 19.05.2020 15:32, Vladimir Sementsov-Ogievskiy wrote: > > > > 14.05.2020 17:26, Kevin Wolf wrote: > > > > > Am 14.05.2020 um

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Denis Plotnikov
On 19.05.2020 17:18, Kevin Wolf wrote: Am 19.05.2020 um 15:54 hat Denis Plotnikov geschrieben: On 19.05.2020 15:32, Vladimir Sementsov-Ogievskiy wrote: 14.05.2020 17:26, Kevin Wolf wrote: Am 14.05.2020 um 15:21 hat Thomas Lamprecht geschrieben: On 5/12/20 4:43 PM, Kevin Wolf wrote:

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Kevin Wolf
Am 19.05.2020 um 15:54 hat Denis Plotnikov geschrieben: > > > On 19.05.2020 15:32, Vladimir Sementsov-Ogievskiy wrote: > > 14.05.2020 17:26, Kevin Wolf wrote: > > > Am 14.05.2020 um 15:21 hat Thomas Lamprecht geschrieben: > > > > On 5/12/20 4:43 PM, Kevin Wolf wrote: > > > > > Stefan (Reiter),

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Denis Plotnikov
On 19.05.2020 15:32, Vladimir Sementsov-Ogievskiy wrote: 14.05.2020 17:26, Kevin Wolf wrote: Am 14.05.2020 um 15:21 hat Thomas Lamprecht geschrieben: On 5/12/20 4:43 PM, Kevin Wolf wrote: Stefan (Reiter), after looking a bit closer at this, I think there is no bug in QEMU, but the bug is

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-19 Thread Vladimir Sementsov-Ogievskiy
14.05.2020 17:26, Kevin Wolf wrote: Am 14.05.2020 um 15:21 hat Thomas Lamprecht geschrieben: On 5/12/20 4:43 PM, Kevin Wolf wrote: Stefan (Reiter), after looking a bit closer at this, I think there is no bug in QEMU, but the bug is in your coroutine code that calls block layer functions

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-14 Thread Kevin Wolf
Am 14.05.2020 um 15:21 hat Thomas Lamprecht geschrieben: > On 5/12/20 4:43 PM, Kevin Wolf wrote: > > Stefan (Reiter), after looking a bit closer at this, I think there is no > > bug in QEMU, but the bug is in your coroutine code that calls block > > layer functions without moving into the right

Re: [RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-14 Thread Thomas Lamprecht
On 5/12/20 4:43 PM, Kevin Wolf wrote: > Stefan (Reiter), after looking a bit closer at this, I think there is no > bug in QEMU, but the bug is in your coroutine code that calls block > layer functions without moving into the right AioContext first. I've > written this series anyway as it

[RFC PATCH 0/3] block: Synchronous bdrv_*() from coroutine in different AioContext

2020-05-12 Thread Kevin Wolf
Stefan (Reiter), after looking a bit closer at this, I think there is no bug in QEMU, but the bug is in your coroutine code that calls block layer functions without moving into the right AioContext first. I've written this series anyway as it potentially makes the life of callers easier and would