Am 26.10.2016 um 12:29 hat Alberto Garcia geschrieben: > bdrv_drain_all() doesn't allow the caller to do anything after all > pending requests have been completed but before block jobs are > resumed. > > This patch splits bdrv_drain_all() into _begin() and _end() for that > purpose. It also adds aio_{disable,enable}_external() calls to disable > external clients in the meantime. > > An important restriction of this split is that no new block jobs or > BlockDriverStates can be created between the bdrv_drain_all_begin() > and bdrv_drain_all_end() calls. This is not a concern now because > we'll only be using this in bdrv_reopen_multiple(), but it must be > dealt with if we ever have other uses cases in the future. > > Signed-off-by: Alberto Garcia <be...@igalia.com> > Cc: Paolo Bonzini <pbonz...@redhat.com>
Reviewed-by: Kevin Wolf <kw...@redhat.com>