Skip to content

Commit ced3762

Browse files
inwardvesselrbradford
authored andcommitted
vmm: create memfd for private mappings
User-defined zones may be mapped private. Create a memfd for private zones so that fallocate operations are available on all regions, not just shared ones. This prepares for zone management via hole punching. The MAP_ANONYMOUS flag is now omitted since the memory becomes tmpfs-backed via memfd. Signed-off-by: JP Kobryn <inwardvessel@gmail.com>
1 parent 534aaac commit ced3762

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

vmm/src/memory_manager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1932,8 +1932,8 @@ impl MemoryManager {
19321932
mmap_flags |= libc::MAP_SHARED;
19331933
Some(Self::create_anonymous_file(size, hugepages, hugepage_size)?)
19341934
} else {
1935-
mmap_flags |= libc::MAP_PRIVATE | libc::MAP_ANONYMOUS;
1936-
None
1935+
mmap_flags |= libc::MAP_PRIVATE;
1936+
Some(Self::create_anonymous_file(size, hugepages, hugepage_size)?)
19371937
};
19381938

19391939
let region = MmapRegion::build(fo, size, libc::PROT_READ | libc::PROT_WRITE, mmap_flags)

0 commit comments

Comments
 (0)