diff options
Diffstat (limited to 'src/launch-libvirt.c')
-rw-r--r-- | src/launch-libvirt.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index 04431641..37113633 100644 --- a/src/launch-libvirt.c +++ b/src/launch-libvirt.c @@ -1139,18 +1139,20 @@ ignore_errors (void *ignore, virErrorPtr ignore2) } static int -shutdown_libvirt (guestfs_h *g) +shutdown_libvirt (guestfs_h *g, int check_for_errors) { virConnectPtr conn = g->virt.connv; virDomainPtr dom = g->virt.domv; int ret = 0; + int flags; /* Note that we can be called back very early in launch (specifically * from launch_libvirt itself), when conn and dom might be NULL. */ if (dom != NULL) { - if (virDomainDestroyFlags (dom, VIR_DOMAIN_DESTROY_GRACEFUL) == -1) { + flags = check_for_errors ? VIR_DOMAIN_DESTROY_GRACEFUL : 0; + if (virDomainDestroyFlags (dom, flags) == -1) { libvirt_error (g, _("could not destroy libvirt domain")); ret = -1; } @@ -1220,7 +1222,7 @@ launch_libvirt (guestfs_h *g, const char *arg) } static int -shutdown_libvirt (guestfs_h *g) +shutdown_libvirt (guestfs_h *g, int check_for_errors) { NOT_IMPL (-1); } |