[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 1/1] block-backend: allow flush on devices wi
Re: [Qemu-devel] [PATCH v2 1/1] block-backend: allow flush on devices with open tray
Wed, 7 Sep 2016 10:18:13 +0200
Am 06.09.2016 um 23:44 hat John Snow geschrieben:
> On 09/05/2016 05:15 AM, Markus Armbruster wrote:
> >John Snow <address@hidden> writes:
> >>(3) Just allow flushes to work on devices not visible to the guest,
> >>which is what I've done here. Internal requests should work, Guest
> >>requests should fail.
> >I guess that's okay, ...
> Conceptually, QEMU should be allowed to flush things to its internal
> drive abstractions regardless of what it looks like to the guest
> whenever it decides it is necessary to.
> In practice, I don't know how clean we are about separating out who
> is requesting the flush to know which to deny.
Maybe the move from bdrv_flush_all() to blk_flush_all() was wrong. If
you have a BDS that isn't currently attached to a guest device or at
least not accessible from the guest device's BB because of things like
an open tray, but the BDS has previously been written to, you still want
to flush it for migration.
The only other clean option I see is that we flush BDSes when they are
detached from the BB, or otherwise become unaccessible (e.g. the tray is
opened). And that second part suggests that it might be too easy to get
this one wrong, so maybe bdrv_flush_all() was the best option after all.