From 2df2c4de6da575aa16922c83865508fa5eefbe57 Mon Sep 17 00:00:00 2001 From: qubesuser Date: Thu, 9 Nov 2017 15:23:50 +0100 Subject: [PATCH] don't ask for domain state before asking for info info already contains domain state, so just use it, making a single libvirtd call --- qubes/vm/qubesvm.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/qubes/vm/qubesvm.py b/qubes/vm/qubesvm.py index d2d6c4935..4310b4a10 100644 --- a/qubes/vm/qubesvm.py +++ b/qubes/vm/qubesvm.py @@ -1580,9 +1580,10 @@ def get_mem(self): return 0 try: - if not self.libvirt_domain.isActive(): + info = self.libvirt_domain.info() + if info[0] == libvirt.VIR_DOMAIN_SHUTOFF: return 0 - return self.libvirt_domain.info()[1] + return info[1] except libvirt.libvirtError as e: if e.get_error_code() in ( @@ -1635,20 +1636,16 @@ def get_cputime(self): if self.libvirt_domain is None: return 0 - if self.libvirt_domain is None: - return 0 - if not self.libvirt_domain.isActive(): - return 0 - try: - if not self.libvirt_domain.isActive(): - return 0 - # this does not work, because libvirt # return self.libvirt_domain.getCPUStats( # libvirt.VIR_NODE_CPU_STATS_ALL_CPUS, 0)[0]['cpu_time']/10**9 - return self.libvirt_domain.info()[4] + info = self.libvirt_domain.info() + if info[0] == libvirt.VIR_DOMAIN_SHUTOFF: + return 0 + + return info[4] except libvirt.libvirtError as e: if e.get_error_code() in (