On 05/22/2017 08:57 AM, Stefan Hajnoczi wrote: > blk/bdrv_drain_all() only takes effect for a single instant and then > resumes block jobs, guest devices, and other external clients like the > NBD server. This can be handy when performing a synchronous drain > before terminating the program, for example. > > Monitor commands usually need to quiesce I/O across an entire code > region so blk/bdrv_drain_all() is not suitable. They must use > bdrv_drain_all_begin/end() to mark the region. This prevents new I/O > requests from slipping in or worse - block jobs completing and modifying > the graph. > > I audited other blk/bdrv_drain_all() callers but did not find anything > that needs a similar fix. This patch fixes the savevm/loadvm commands. > Although I haven't encountered a read world issue this makes the code > safer. > > Suggested-by: Kevin Wolf <kw...@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > migration/savevm.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) >
Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature