summaryrefslogtreecommitdiff
path: root/block.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-10-19 11:36:48 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2012-10-23 22:39:32 +0200
commit3cbc002c34aa85ea952ee9b169a3ff97d350516a (patch)
tree315dcce972e74ad3e8bab06550c1cfbddf376943 /block.c
parent101f9cbc2b73340197ec610c095fd69f0b1413ed (diff)
downloadqemu-3cbc002c34aa85ea952ee9b169a3ff97d350516a.tar.gz
block: prepare code for adding block notifiers
There is no reason in principle to skip job cancellation and draining of pending I/O when there is no medium in the disk. Do these unconditionally, which also prepares the code for the next patch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/block.c b/block.c
index e95f613aa4..2e4ddea222 100644
--- a/block.c
+++ b/block.c
@@ -1098,12 +1098,12 @@ void bdrv_reopen_abort(BDRVReopenState *reopen_state)
void bdrv_close(BlockDriverState *bs)
{
bdrv_flush(bs);
- if (bs->drv) {
- if (bs->job) {
- block_job_cancel_sync(bs->job);
- }
- bdrv_drain_all();
+ if (bs->job) {
+ block_job_cancel_sync(bs->job);
+ }
+ bdrv_drain_all();
+ if (bs->drv) {
if (bs == bs_snapshots) {
bs_snapshots = NULL;
}