On Thu, Apr 06, 2017 at 07:59:53PM +0200, Kevin Wolf wrote:
> Usually guest devices don't like other writers to the same image, so
> they use blk_set_perm() to prevent this from happening. In the migration
> phase before the VM is actually running, though, they don't have a
> problem with writes to the image. On the other hand, storage migration
> needs to be able to write to the image in this phase, so the restrictive
> blk_set_perm() call of qdev devices breaks it.
>
> This patch flags all BlockBackends with a qdev device as
> blk->disable_perm during incoming migration, which means that the
> requested permissions are stored in the BlockBackend, but not actually
> applied to its root node yet.
>
> Once migration has finished and the VM should be resumed, the
> permissions are applied. If they cannot be applied (e.g. because the NBD
> server used for block migration hasn't been shut down), resuming the VM
> fails.
>
> Signed-off-by: Kevin Wolf <[email protected]>
> Tested-by: Kashyap Chamarthy <[email protected]>
Thanks. Posted the test evidence on your RFC thread:
http://lists.nongnu.org/archive/html/qemu-devel/2017-04/msg01086.html
[...]
--
/kashyap