mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu_process: Don't require a hugetlbfs mount for memfd
The aim of qemuProcessNeedHugepagesPath() is to determine whether a hugetlbfs mount point is required for given domain (as in whether qemuBuildMemoryBackendProps() picks up memory-backend-file pointing to a hugetlbfs mount point). Well, when domain is configured to use memfd backend then that condition can never be true. Therefore, skip creating domain's private path under hugetlbfs mount points. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
b48469fcdb
commit
f14f8dff93
@ -3880,8 +3880,18 @@ qemuProcessNeedHugepagesPath(virDomainDef *def,
|
||||
const long system_pagesize = virGetSystemPageSizeKB();
|
||||
size_t i;
|
||||
|
||||
if (def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE)
|
||||
switch ((virDomainMemorySource)def->mem.source) {
|
||||
case VIR_DOMAIN_MEMORY_SOURCE_FILE:
|
||||
/* This needs a hugetlbfs mount. */
|
||||
return true;
|
||||
case VIR_DOMAIN_MEMORY_SOURCE_MEMFD:
|
||||
/* memfd works without a hugetlbfs mount */
|
||||
return false;
|
||||
case VIR_DOMAIN_MEMORY_SOURCE_NONE:
|
||||
case VIR_DOMAIN_MEMORY_SOURCE_ANONYMOUS:
|
||||
case VIR_DOMAIN_MEMORY_SOURCE_LAST:
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < def->mem.nhugepages; i++) {
|
||||
if (def->mem.hugepages[i].size != system_pagesize)
|
||||
|
Loading…
x
Reference in New Issue
Block a user