On 25.05.2016 14:29, Kevin Wolf wrote: > So far, bdrv_close_all() first removed all root BlockDriverStates of > BlockBackends and monitor owned BDSes, and then assumed that the > remaining BDSes must be related to jobs and cancelled these jobs. > > This order doesn't work that well any more when block jobs use > BlockBackends internally because then they will lose their BDS before > being cancelled. > > This patch changes bdrv_close_all() to first cancel all jobs and then > remove all root BDSes from the remaining BBs. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > Reviewed-by: Alberto Garcia <be...@igalia.com> > --- > block.c | 23 ++--------------------- > blockjob.c | 13 +++++++++++++ > include/block/blockjob.h | 7 +++++++ > 3 files changed, 22 insertions(+), 21 deletions(-)
Reviewed-by: Max Reitz <mre...@redhat.com>
signature.asc
Description: OpenPGP digital signature