From: Stoiko Ivanov Date: Tue, 5 May 2020 15:01:07 +0000 (+0200) Subject: ProcFSTools: fix read_meminfo without KSM X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=9c1ccaf9229f038339fe42070bf6a954ab834ea4 ProcFSTools: fix read_meminfo without KSM on kernel configs where KSM is not enabled (e.g. an openstack instance at OVH) the file /sys/kernel/mm/ksm/pages_sharing does not exist. In that case there is no memory shared so assuming 0 is reasonable. While this is not the case with our shipped kernel, and thus will probably not happen on a PVE installation, PMG can run quite happily with a different kernel (the reporter had this on an openstack instance at OVH). a quick grep through our codebase showed only the API2::Nodes::Nodeinfo::status call as user of the memshared property. Signed-off-by: Stoiko Ivanov --- diff --git a/src/PVE/ProcFSTools.pm b/src/PVE/ProcFSTools.pm index 7f905f4..e413ccf 100644 --- a/src/PVE/ProcFSTools.pm +++ b/src/PVE/ProcFSTools.pm @@ -249,7 +249,7 @@ sub read_meminfo { $res->{swapfree} = $d->{swapfree}; $res->{swapused} = $res->{swaptotal} - $res->{swapfree}; - my $spages = PVE::Tools::file_read_firstline("/sys/kernel/mm/ksm/pages_sharing"); + my $spages = PVE::Tools::file_read_firstline("/sys/kernel/mm/ksm/pages_sharing") // 0 ; $res->{memshared} = int($spages) * 4096; return $res;