qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 0/5] block: fix blk_aio_*() segfault when blk


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v3 0/5] block: fix blk_aio_*() segfault when blk->root == NULL
Date: Wed, 28 Feb 2018 16:53:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 28/02/2018 16:48, Stefan Hajnoczi wrote:
> On Fri, Feb 16, 2018 at 04:50:10PM +0000, Stefan Hajnoczi wrote:
>> v3:
>>  * Add Patch 1 to rename aio_context_in_iothread() to
>>    in_aio_context_home_thread() [Eric]
>> v2:
>>  * Introduce AIO_WAIT_WHILE() since aio_poll(ctx, true) is not allowed 
>> [Paolo]
>>
>> Using bdrv_inc_in_flight(blk_bs(blk)) doesn't work since BlockBackend->root 
>> may
>> be NULL.
>>
>> This patch series solves the issue by adding an BlockBackend->in_flight 
>> counter
>> so requests can be tracked even when there is no BlockDriverState.
>>
>> This should fix the IDE and virtio-blk segfaults that have been encountered
>> when there is no BlockDriverState.
>>
>> The patch is based on work by Kevin Wolf.
>>
>> Kevin Wolf (1):
>>   block: test blk_aio_flush() with blk->root == NULL
>>
>> Stefan Hajnoczi (4):
>>   aio: rename aio_context_in_iothread() to in_aio_context_home_thread()
>>   block: extract AIO_WAIT_WHILE() from BlockDriverState
>>   block: add BlockBackend->in_flight counter
>>   Revert "IDE: Do not flush empty CDROM drives"
>>
>>  tests/Makefile.include     |   2 +
>>  util/Makefile.objs         |   2 +-
>>  include/block/aio-wait.h   | 116 
>> +++++++++++++++++++++++++++++++++++++++++++++
>>  include/block/aio.h        |   7 ++-
>>  include/block/block.h      |  40 +++-------------
>>  include/block/block_int.h  |   7 ++-
>>  block.c                    |   7 ++-
>>  block/block-backend.c      |  60 ++++++++++++++++++++---
>>  block/io.c                 |  10 +---
>>  hw/ide/core.c              |  10 +---
>>  tests/test-block-backend.c |  82 ++++++++++++++++++++++++++++++++
>>  util/aio-wait.c            |  40 ++++++++++++++++
>>  12 files changed, 318 insertions(+), 65 deletions(-)
>>  create mode 100644 include/block/aio-wait.h
>>  create mode 100644 tests/test-block-backend.c
>>  create mode 100644 util/aio-wait.c
> 
> Any more comments?
> 

Not from me. :)

Paolo

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]