Add memfd support for mem_type. Will be used to replace memory_backend.
Signed-off-by: Peter Xu <[email protected]>
---
tests/qtest/migration/framework.h | 13 +++++++++++++
tests/qtest/migration/framework.c | 3 +++
2 files changed, 16 insertions(+)
diff --git a/tests/qtest/migration/framework.h
b/tests/qtest/migration/framework.h
index 70705725bc..9dec21c344 100644
--- a/tests/qtest/migration/framework.h
+++ b/tests/qtest/migration/framework.h
@@ -19,8 +19,21 @@
#define FILE_TEST_MARKER 'X'
typedef enum {
+ /*
+ * Use memory-backend-ram, private mappings
+ */
MEM_TYPE_ANON,
+ /*
+ * Use shmem file (under /dev/shm), shared mappings
+ */
MEM_TYPE_SHMEM,
+ /*
+ * Use anonymous memfd, shared mappings.
+ *
+ * NOTE: this is internally almost the same as MEM_TYPE_SHMEM on Linux,
+ * but only anonymously allocated.
+ */
+ MEM_TYPE_MEMFD,
MEM_TYPE_NUM,
} MemType;
diff --git a/tests/qtest/migration/framework.c
b/tests/qtest/migration/framework.c
index 6df0e56c2a..4d1663356a 100644
--- a/tests/qtest/migration/framework.c
+++ b/tests/qtest/migration/framework.c
@@ -276,6 +276,9 @@ static char *migrate_mem_type_get_opts(MemType type, const
char *memory_size)
backend = g_strdup_printf("-object memory-backend-file,mem-path=%s",
shmem_path);
break;
+ case MEM_TYPE_MEMFD:
+ backend = g_strdup("-object memory-backend-memfd");
+ break;
case MEM_TYPE_ANON:
backend = g_strdup("-object memory-backend-ram");
share = false;
--
2.50.1