aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-02-25 12:16:05 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2013-03-05 17:51:51 +0100
commit0c92e0e6b64c9061f7365a2712b9055ea35b52f9 (patch)
treedda38ad4bf2a31e53f294e832bdbbcebc0a06e7d /util
parentd0242eadc5bba4f3abe34bc5d536bbfb81aa9891 (diff)
scsi-disk: handle io_canceled uniformly and correctly
Always check it immediately after calling bdrv_acct_done, and always do a "goto done" in case the "done" label has to free some memory---as is the case for scsi_unmap_complete in the previous patch. This patch could fix problems that happen when a request is split into multiple parts, and one of them is canceled. Then the next part is fired, but the HBA's cancellation callbacks have fired already. Whether this happens or not, depends on how the block/ driver implements AIO cancellation. It it does a simple bdrv_drain_all() or similar, then it will not have a problem. If it only cancels the given AIOCB, this scenario could happen. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'util')
0 files changed, 0 insertions, 0 deletions