libvirt/src/qemu
Michal Privoznik 43ac2e703c qemu_namespace: Make qemuDomainGetPreservedMounts() more robust wrt running VMs
The aim of qemuDomainGetPreservedMounts() is to get a list of
filesystems mounted under /dev and optionally generate a path for
each one where they are moved temporarily when building the
namespace. And if given domain is also running it looks into its
mount table rather than at the host one. But if it did look at
the domain's private mount table, it find /dev mounted twice: the
first time by udev, the second time the tmpfs mounted by us.

Now, later in the function there's a "sorting" algorithm that
tries to reduce number of mount points needing preservation, by
identifying nested mount points. And if we keep the second
occurrence of /dev on the list, well, after the "sorting" we are
left with nothing but "/dev" because all other mount points are
nested.

Fixes: 46b03819ae
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2022-11-01 14:51:48 +01:00
..
libvirt_qemu_probes.d
libvirtd_qemu.aug qemu_conf: Introduce a knob to set SCHED_CORE 2022-10-20 08:58:10 +02:00
meson.build qemu: Use real defaults for user and group in qemu.conf 2022-04-01 15:32:48 +02:00
postcopy-migration.sysctl qemu: Ignore missing vm.unprivileged_userfaultfd sysctl 2022-02-09 13:03:33 +01:00
qemu_agent.c virjson: Change virJSONValueObjectHasKey() signature 2022-08-01 10:24:34 +02:00
qemu_agent.h util: refactor virDomainDeviceCCWAddress into virccw.h 2022-05-23 16:31:40 +02:00
qemu_alias.c qemu: alias: Remove check for QEMU_CAPS_BLOCKDEV 2022-08-11 15:14:18 +02:00
qemu_alias.h qemu: alias: Remove check for QEMU_CAPS_BLOCKDEV 2022-08-11 15:14:18 +02:00
qemu_backup.c qemu & conf: move BeginAsyncJob & EndAsyncJob into src/conf 2022-09-07 12:15:06 +02:00
qemu_backup.h qemu: remove unused driver and all its propagations 2022-08-10 16:50:07 +02:00
qemu_block.c qemu: block: Remove support for legacy disk hotplug/unplug 2022-08-11 15:23:08 +02:00
qemu_block.h qemu: block: Remove support for legacy disk hotplug/unplug 2022-08-11 15:23:08 +02:00
qemu_blockjob.c qemu: Remove 'driveAlias' argument of qemuBlockStorageSourceDetachPrepare 2022-08-11 15:22:56 +02:00
qemu_blockjob.h qemu: remove unused driver and all its propagations 2022-08-10 16:50:07 +02:00
qemu_capabilities.c qemu_capabilities: add "query-stats-schemas" QMP command to the QEMU capabilities 2022-10-19 15:58:29 +02:00
qemu_capabilities.h qemu_capabilities: add "query-stats-schemas" QMP command to the QEMU capabilities 2022-10-19 15:58:29 +02:00
qemu_capspriv.h lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
qemu_cgroup.c qemu_cgroup: Don't ignore ENOENT in qemuCgroupAllowDevicesPaths() 2022-08-01 10:36:42 +02:00
qemu_cgroup.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_checkpoint.c qemu: use virDomainObjEndJob() 2022-09-07 12:14:07 +02:00
qemu_checkpoint.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_command.c qemuAppendDomainMemoryMachineParams: Refactor formatting of 'dump-guest-core' 2022-11-01 13:07:20 +01:00
qemu_command.h qemu: command: Remove unused qemuGetDriveSourceString 2022-08-11 15:23:57 +02:00
qemu_conf.c qemu_conf: Introduce a knob to set SCHED_CORE 2022-10-20 08:58:10 +02:00
qemu_conf.h qemu_conf: Introduce a knob to set SCHED_CORE 2022-10-20 08:58:10 +02:00
qemu_dbus.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_dbus.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
qemu_domain_address.c qemu: Assume QEMU_CAPS_CCW 2022-10-03 19:46:42 +02:00
qemu_domain_address.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_domain.c qemu_domain: Introduce qemuDomainSchedCoreStart() 2022-10-20 08:58:18 +02:00
qemu_domain.h qemu_domain: Introduce qemuDomainSchedCoreStart() 2022-10-20 08:58:18 +02:00
qemu_domainjob.c qemu & conf: move BeginNestedJob & BeginJobNowait into src/conf 2022-09-07 12:15:28 +02:00
qemu_domainjob.h qemu & conf: move BeginNestedJob & BeginJobNowait into src/conf 2022-09-07 12:15:28 +02:00
qemu_driver.c qemu: Refresh rx-filters more often 2022-10-20 08:48:31 +02:00
qemu_driver.h
qemu_extdevice.c qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
qemu_extdevice.h qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
qemu_fd.c qemu: fd: Fix monitor usage of qemuFDPassDirectGetPath 2022-06-06 09:42:58 +02:00
qemu_fd.h qemuFDPassTransferCommand: Remove return value 2022-05-17 19:31:08 +02:00
qemu_firmware.c qemu: support use of stateless EFI firmware 2022-07-26 15:41:44 +01:00
qemu_firmware.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
qemu_hostdev.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_hostdev.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_hotplug.c qemu: Enable for vCPUs on hotplug 2022-10-20 09:01:21 +02:00
qemu_hotplug.h qemu: remove unused driver and all its propagations 2022-08-10 16:50:07 +02:00
qemu_interface.c Rename iterface type='dummy' to type='null' 2022-08-25 13:27:04 +02:00
qemu_interface.h lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
qemu_interop_config.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_interop_config.h
qemu_migration_cookie.c virDomainDefParseNode: Pass only the XPath context as argument 2022-10-06 10:54:25 +02:00
qemu_migration_cookie.h virdomainjob: make drivers use job object in the domain object 2022-09-07 12:13:13 +02:00
qemu_migration_params.c virdomainjob: make drivers use job object in the domain object 2022-09-07 12:13:13 +02:00
qemu_migration_params.h qemu: remove unused driver and all its propagations 2022-08-10 16:50:07 +02:00
qemu_migration_paramspriv.h qemu_migration: Apply max-postcopy-bandwidth on post-copy resume 2022-07-01 11:28:34 +02:00
qemu_migration.c qemu: Do not crash when canceling migration on reconnect 2022-10-24 15:28:47 +02:00
qemu_migration.h qemu: Do not crash when canceling migration on reconnect 2022-10-24 15:28:47 +02:00
qemu_monitor_json.c qemu_monitor: add qemuMonitorQueryStatsSchema 2022-10-19 15:58:29 +02:00
qemu_monitor_json.h qemu_monitor: add qemuMonitorQueryStatsSchema 2022-10-19 15:58:29 +02:00
qemu_monitor_priv.h lib: Use G_NO_INLINE instead of G_GNUC_NO_INLINE 2022-07-18 17:23:15 +02:00
qemu_monitor_text.c qemu: monitor: Remove unused qemuMonitorAddDrive/qemuMonitorDriveDel 2022-08-11 15:23:21 +02:00
qemu_monitor_text.h qemu: monitor: Remove unused qemuMonitorAddDrive/qemuMonitorDriveDel 2022-08-11 15:23:21 +02:00
qemu_monitor.c qemu_monitor: add qemuMonitorGetStatsByQOMPath 2022-10-19 15:58:29 +02:00
qemu_monitor.h qemu_monitor: add qemuMonitorGetStatsByQOMPath 2022-10-19 15:58:29 +02:00
qemu_namespace.c qemu_namespace: Make qemuDomainGetPreservedMounts() more robust wrt running VMs 2022-11-01 14:51:48 +01:00
qemu_namespace.h qemu_namespace: Introduce qemuDomainNamespaceSetupPath() 2022-09-23 16:33:09 +02:00
qemu_process.c qemu: Do not crash when canceling migration on reconnect 2022-10-24 15:28:47 +02:00
qemu_process.h qemu: Enable for vCPUs on hotplug 2022-10-20 09:01:21 +02:00
qemu_processpriv.h qemu: Do not pass unused opaque pointer to monitor callbacks 2022-05-24 16:26:04 +02:00
qemu_qapi.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_qapi.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
qemu_saveimage.c qemu: Refresh state after restore from a save image 2022-10-20 08:48:14 +02:00
qemu_saveimage.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_security.c qemu: Enable SCHED_CORE for helper processes 2022-10-20 09:00:02 +02:00
qemu_security.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_shim.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_slirp.c lib: Don't check for retval for virCommandNew*() 2022-08-23 16:14:05 +02:00
qemu_slirp.h qemu: slirp: Remove unused 'qemuSlirpGetFD' 2022-05-16 09:15:46 +02:00
qemu_snapshot.c qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
qemu_snapshot.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_tpm.c qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
qemu_tpm.h qemu: Add UNDEFINE_TPM and UNDEFINE_KEEP_TPM flags 2022-10-04 16:34:28 +02:00
qemu_validate.c qemu: validate: Clarify error messages for unsupported 3d video acceleration 2022-10-17 14:13:24 +02:00
qemu_validate.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_vhost_user_gpu.c lib: Don't check for retval for virCommandNew*() 2022-08-23 16:14:05 +02:00
qemu_vhost_user_gpu.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_vhost_user.c qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_vhost_user.h qemu: Remove unused includes 2022-06-16 06:43:57 +02:00
qemu_virtiofs.c qemu: Enable SCHED_CORE for helper processes 2022-10-20 09:00:02 +02:00
qemu_virtiofs.h qemu: virtiofs: open a separate connection to virtlogd 2021-10-12 14:12:11 +02:00
qemu.conf.in qemu_conf: Introduce a knob to set SCHED_CORE 2022-10-20 08:58:10 +02:00
test_libvirtd_qemu.aug.in qemu_conf: Introduce a knob to set SCHED_CORE 2022-10-20 08:58:10 +02:00
virtqemud.init.in
virtqemud.service.in Remove Before=libvirt-guests.service from other services 2022-10-27 17:39:19 +02:00