diff --git a/tools/python/xen/xend/XendConstants.py b/tools/python/xen/xend/XendConstants.py index bca3ee7dd1..75f9d98c43 100644 --- a/tools/python/xen/xend/XendConstants.py +++ b/tools/python/xen/xend/XendConstants.py @@ -96,6 +96,7 @@ ZOMBIE_PREFIX = 'Zombie-' MINIMUM_RESTART_TIME = 20 RESTART_IN_PROGRESS = 'xend/restart_in_progress' +DUMPCORE_IN_PROGRESS = 'xend/dumpcore_in_progress' LAST_SHUTDOWN_REASON = 'xend/last_shutdown_reason' TRIGGER_NMI = 0 diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 5bfc9fa185..ff5de1cd10 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -1792,10 +1792,13 @@ class XendDomainInfo: raise XendError("Cannot dump core in a directory: %s" % corefile) + self._writeVm(DUMPCORE_IN_PROGRESS, 'True') xc.domain_dumpcore(self.domid, corefile) + self._removeVm(DUMPCORE_IN_PROGRESS) except RuntimeError, ex: corefile_incomp = corefile+'-incomplete' os.rename(corefile, corefile_incomp) + self._removeVm(DUMPCORE_IN_PROGRESS) log.exception("XendDomainInfo.dumpCore failed: id = %s name = %s", self.domid, self.info['name_label']) raise XendError("Failed to dump core: %s" % str(ex))