diff options
Diffstat (limited to 'block/qed.c')
-rw-r--r-- | block/qed.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/block/qed.c b/block/qed.c index 7f1c508676..a21d0255f0 100644 --- a/block/qed.c +++ b/block/qed.c @@ -345,10 +345,22 @@ static void qed_need_check_timer_cb(void *opaque) trace_qed_need_check_timer_cb(s); + qed_acquire(s); qed_plug_allocating_write_reqs(s); /* Ensure writes are on disk before clearing flag */ bdrv_aio_flush(s->bs->file->bs, qed_clear_need_check, s); + qed_release(s); +} + +void qed_acquire(BDRVQEDState *s) +{ + aio_context_acquire(bdrv_get_aio_context(s->bs)); +} + +void qed_release(BDRVQEDState *s) +{ + aio_context_release(bdrv_get_aio_context(s->bs)); } static void qed_start_need_check_timer(BDRVQEDState *s) |