]> git.proxmox.com Git - qemu-server.git/commit
qmeventd: improve getting VMID from PID in presence of legacy cgroup entries
authorFiona Ebner <f.ebner@proxmox.com>
Mon, 10 Jul 2023 08:52:59 +0000 (10:52 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 17 Jul 2023 09:30:45 +0000 (11:30 +0200)
commitd0b587533ca9e450aaa3ab2de5c6f53e16414ad5
treea75620aadb4a0e6da651d84cb274ccac35d86082
parent3234f5639d0725ab5f5f74affeef5ec93d0eb095
qmeventd: improve getting VMID from PID in presence of legacy cgroup entries

On a hybrid cgroup system, the /proc/<PID>/cgroup file looks like

> 13:pids:/qemu.slice/110.scope
> 12:perf_event:/
> 11:devices:/qemu.slice
> 10:misc:/
> 9:hugetlb:/
> 8:freezer:/
> 7:cpu,cpuacct:/qemu.slice/110.scope
> 6:memory:/qemu.slice/110.scope
> 5:rdma:/
> 4:cpuset:/
> 3:blkio:/qemu.slice
> 2:net_cls,net_prio:/
> 1:name=systemd:/qemu.slice/110.scope
> 0::/qemu.slice/110.scope

but the order doesn't seem to be deterministic, so it can happen that
an entry like '11:devices:/qemu.slice' is the first to match the
'/qemu.slice' part, which previously made the code expect to find the
VMID.

To improve detection, as a first step, match the trailing slash too.

Reported in the community forum:
https://forum.proxmox.com/threads/129320/post-571654

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
qmeventd/qmeventd.c