[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 3/3] blockdev: acquire aio_context for bitmap add
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [PULL 3/3] blockdev: acquire aio_context for bitmap add/remove |
Date: |
Thu, 14 Feb 2019 18:12:36 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 2/14/19 10:46 AM, Eric Blake wrote:
> On 2/13/19 5:49 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 of the bitmap lookup, so re-introduce
>> the lock for just the cases that have an IO penalty. Commit 2119882c removed
>> these locks, and I failed to notice this when we committed fd5ae4cc, so this
>> has been broken since persistent bitmaps were introduced.
>>
>> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1672010
>> Reported-By: Aihua Liang <address@hidden>
>> Signed-off-by: John Snow <address@hidden>
>> Reviewed-by: Eric Blake <address@hidden>
>> Message-id: address@hidden
>> Signed-off-by: John Snow <address@hidden>
>> ---
>> blockdev.c | 26 ++++++++++++++++++++------
>> 1 file changed, 20 insertions(+), 6 deletions(-)
>
>> bitmap = bdrv_create_dirty_bitmap(bs, granularity, name, errp);
>> if (bitmap == NULL) {
>> - return;
>> + goto out
>
> Embarrassing enough that I missed this syntax error in spite of my R-b,
> but even more embarrassing that we have a pull request that has
> obviously not been compiled. At least patchew called it out.
Hm, yes, I swore I *did* compile and test this, but it clearly must have
been on the outdated patch.
>
> We're not in enough of a rush to need this PR to land this week, so I
> won't try to post a v2 on your behalf, but will instead wait for your
> return next week.
>
Was trying to stay ahead of my long weekend instead of carrying these
patches forever. Please forgive the error.
--js
- [Qemu-devel] [PULL 0/3] Bitmaps patches, John Snow, 2019/02/13
- [Qemu-devel] [PULL 3/3] blockdev: acquire aio_context for bitmap add/remove, John Snow, 2019/02/13
- [Qemu-devel] [PULL 2/3] block/dirty-bitmap: Documentation and Comment fixups, John Snow, 2019/02/13
- [Qemu-devel] [PULL 1/3] dirty-bitmap: Expose persistent flag to 'query-block', John Snow, 2019/02/13
- Re: [Qemu-devel] [PULL 0/3] Bitmaps patches, John Snow, 2019/02/13
- Re: [Qemu-devel] [PULL 0/3] Bitmaps patches, Peter Maydell, 2019/02/15
- Re: [Qemu-devel] [PULL 0/3] Bitmaps patches, no-reply, 2019/02/21