On Fri, May 26, 2017 at 10:21:51PM +0200, Kevin Wolf wrote: > static void qed_clear_need_check(void *opaque, int ret) > { > BDRVQEDState *s = opaque; > > if (ret) { > - qed_unplug_allocating_write_reqs(s); > - return; > + goto out; > } > > s->header.features &= ~QED_F_NEED_CHECK; > - qed_write_header(s, qed_flush_after_clear_need_check, s); > + ret = qed_write_header(s); > + (void) ret; > + > + ret = bdrv_flush(s->bs); > + (void) ret; > + > +out: > + qed_unplug_allocating_write_reqs(s); > }
Should we unplug allocating write reqs before flushing? The async code kicks off a flush but doesn't wait for it to complete.
signature.asc
Description: PGP signature