]> git.ipfire.org Git - thirdparty/qemu.git/commit
tests/qtest/migration: Add a test for mapped-ram with passing of fds
authorFabiano Rosas <farosas@suse.de>
Mon, 17 Jun 2024 18:57:31 +0000 (15:57 -0300)
committerFabiano Rosas <farosas@suse.de>
Fri, 21 Jun 2024 12:47:23 +0000 (09:47 -0300)
commit31a5a3032eb3d62e045e18c80658e5e8f5341cda
treef5f19e054df543915f9cf1c83190d784a5081f23
parent8d60280e4f1621e13aea4aa593b5bc3e2af34e9d
tests/qtest/migration: Add a test for mapped-ram with passing of fds

Add a multifd test for mapped-ram with passing of fds into QEMU. This
is how libvirt will consume the feature.

There are a couple of details to the fdset mechanism:

- multifd needs two distinct file descriptors (not duplicated with
  dup()) so it can enable O_DIRECT only on the channels that do
  aligned IO. The dup() system call creates file descriptors that
  share status flags, of which O_DIRECT is one.

- the open() access mode flags used for the fds passed into QEMU need
  to match the flags QEMU uses to open the file. Currently O_WRONLY
  for src and O_RDONLY for dst.

Note that fdset code goes under _WIN32 because fd passing is not
supported on Windows.

Reviewed-by: Peter Xu <peterx@redhat.com>
[brought back the qmp_remove_fd() call at the end of the tests]
Signed-off-by: Fabiano Rosas <farosas@suse.de>
tests/qtest/migration-test.c