On 01/06/2017 17:59, Kevin Wolf wrote: > 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?
No, it isn't AFAIK. Paolo
signature.asc
Description: OpenPGP digital signature