[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 1/1] block: ignore flush requests when storage i
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-block] [PATCH 1/1] block: ignore flush requests when storage is clean |
Date: |
Tue, 21 Jun 2016 09:45:07 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 21.06.2016 um 09:32 hat Paolo Bonzini geschrieben:
>
>
> On 20/06/2016 17:19, Denis V. Lunev wrote:
> > + /* Check if storage is actually dirty before flushing to disk */
> > + if (!bs->dirty) {
> > + goto flush_parent;
> > + }
> > + bs->dirty = false;
> > +
>
> This should be cleared after the flush is complete. If you have
>
> write begin
> write end
> flush #1 begin
> flush #2 begin
>
> Then the second flush must only return after the first has finished.
I think clearing bs->dirty after the flush completion wouldn't
necessarily be right either if there are concurrent writes in flight, as
only completed writes are guaranteed to be flushed by it.
Kevin