On 09/16/2016 04:33 AM, Kevin Wolf wrote:
Am 16.09.2016 um 01:42 hat John Snow geschrieben:
One more try.
The move to blk_flush altered the behavior of migration and flushing
nodes that are not reachable via the guest, but are still reachable
via QEMU and may or may not need to be flushed.
This is likely the simplest solution for now until we nail down our
policy a bit more.
This is intended for 2.6.2 and/or 2.7.1, to fix problems with libvirt
et al being unable to migrate QEMU when the CDROM tray is open.
Trying to take a hint from Kevin, reinstating bdrv_flush_all.
If it's not what we want, we can try moving back to v2,
acknowledging that a nicer solution in the future:
(A) Can skip flushing on devices that just don't need it, and
(B) Optionally institutes some sort of flush-on-eject policy.
Reviewed-by: Kevin Wolf <kw...@redhat.com>
The only part that I'm not completely happy with are the commit messages
because there is a theme of "bypassing checks" in there. That's not
really what happens because the requests don't come from something
attached to the BlockBackends in the first place, and it also completely
ignores the case of BDSes that aren't currently attached to any BB and
are fixed by these changes as well.
I see your point. I just meant to say that it bypasses the checks in
contrast to the other interface, but yes, there's a reason we're
removing the checks here.
Anyway, that's a minor problem as long as the code is right.
Let's fix it up. I'll reply with a suggestion.