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.

Attachment: signature.asc
Description: PGP signature

Reply via email to