Am 31.05.2017 um 14:32 hat Stefan Hajnoczi geschrieben: > 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.
You're right that moving it up would match the old code. Not sure if it would make much of a difference, though, isn't the request queue drained in the kernel anyway while doing a flush? But if you prefer, I can change it. Kevin
pgpqrOHf6mrPu.pgp
Description: PGP signature