[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH v2 0/3] block: pause block jobs for
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [Qemu-block] [PATCH v2 0/3] block: pause block jobs for bdrv_drain_begin/end |
Date: |
Thu, 23 Mar 2017 18:57:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
On 23/03/2017 18:44, Stefan Hajnoczi wrote:
>> It's possible to wedge QEMU if the guest tries to reset a virtio-pci
>> device as QEMU is also using the drive for a blockjob. This patchset
>> aims to allow us to safely pause/resume jobs attached to individual
>> nodes in a manner similar to how bdrv_drain_all_begin/end do.
>
> Weird, I thought the 0 nanosecond sleep that block jobs do in their
> main loop allows aio_poll() loops to finish.
The 0 nanosecond sleep is now done in the BDS AioContext rather than in
the "non-aio_poll-aware" main loop:
commit 0b9caf9b3166c8deb3c4f3a774c2384b069dc29c
Author: Fam Zheng <address@hidden>
Date: Tue Aug 26 15:15:43 2014 +0800
coroutine: Drop co_sleep_ns
block_job_sleep_ns is the only user. Since we are moving towards
AioContext aware code, it's better to use the explicit version and drop
the old one.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: BenoƮt Canet <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
> I've CCed Fam because I think he has also tackled this issue in the past.
Yes, he fixed the same issue for bdrv_drain_all.
Paolo
Re: [Qemu-devel] [Qemu-block] [PATCH v2 0/3] block: pause block jobs for bdrv_drain_begin/end, Stefan Hajnoczi, 2017/03/23
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 0/3] block: pause block jobs for bdrv_drain_begin/end,
Paolo Bonzini <=