From: Paolo Bonzini <pbonz...@redhat.com> We do not want jobs to keep a device busy for a possibly very long time, and management could become confused because they thought a device was not even there anymore. So, cancel long-running jobs as soon as their device is going to disappear.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- blockdev.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/blockdev.c b/blockdev.c index f5e7dba..4d17486 100644 --- a/blockdev.c +++ b/blockdev.c @@ -64,6 +64,9 @@ void blockdev_mark_auto_del(BlockDriverState *bs) { DriveInfo *dinfo = drive_get_by_blockdev(bs); + if (bs->job) { + block_job_cancel(bs->job); + } if (dinfo) { dinfo->auto_del = 1; } -- 1.7.6.5