|
From: | Eric Blake |
Subject: | Re: [Qemu-devel] [PATCH 0/3] block: fix blk_aio_*() segfault when blk->root == NULL |
Date: | Fri, 9 Feb 2018 09:34:09 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 02/08/2018 11:18 AM, Stefan Hajnoczi wrote:
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 (2): block: add BlockBackend->in_flight counter Revert "IDE: Do not flush empty CDROM drives"
Tested by applying the series out of order (2, 3, 1) - the new test fails after 2 (so even our workaround was not robust), fails after 3 (expected there, because we revert the workaround), then finally passes after 1 (the correct fix with no workaround needed). So for the series, you can add:
Tested-by: Eric Blake <address@hidden> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |