On 18. 3. 2020 16:47, Andrea Bolognani wrote:
On Mon, 2020-03-09 at 18:04 +0000, Daniel P. Berrangé wrote:
> At a high level the embedded QEMU driver
>
> - Isolated from any other instance of the QEMU driver
Replying here because it looks as good a place as any.
Now that Michal has made it so that identically-name domains defined
under different qemu:///embed roots no longer clash at the machined
level (thanks!), I have immediately bumped into the next issue: if
I use either one of
<memoryBacking>
<hugepages/>
</memoryBacking>
<memoryBacking>
<access mode='shared'/>
</memoryBacking>
both qemu:///embed instances try to use the same paths:
/dev/hugepages/libvirt/qemu/$domid-$domname/
/dev/shm/libvirt/qemu/$domid-$domname/
This is because qemu driver uses virDomainDefGetShortName() to construct
the path which is not embed driver aware. In fact, we use it on a few
other places:
libvirt.git $ git grep -C0 virDomainDefGetShortName -- src/qemu/ \
| wc -l
15
so we probably have more broken plaes. I will investigate and post a
patch. Probably something among those lines that fixed machined name
generation.
which obviously breaks everything.
In this case, is the application expected to set
hugetlbfs_mount = "/dev/hugepages/$random"
memory_backing_dir = "/dev/shm/$random"
in qemu.conf beforehand (I'm not sure the former setting would even
work), or should libvirt take care of it automatically in a similar
way it now does for machine names?
The latter is true.
Michal