libvirt/docs
Michal Privoznik 0377177c78 qemu_process.c: Propagate hugetlbfs mounts on reconnect
When reconnecting to a running QEMU process, we construct the
per-domain path in all hugetlbfs mounts. This is a relict from
the past (v3.4.0-100-g5b24d25062) where we switched to a
per-domain path and we want to create those paths when libvirtd
restarts on upgrade.

And with namespaces enabled there is one corner case where the
path is not created. In fact an error is reported and the
reconnect fails. Ideally, all mount events are propagated into
the QEMU's namespace. And they probably are, except when the
target path does not exist inside the namespace. Now, it's pretty
common for users to mount hugetlbfs under /dev (e.g.
/dev/hugepages), but if domain is started without hugepages (or
more specifically - private hugetlbfs path wasn't created on
domain startup), then the reconnect code tries to create it.
But it fails to do so, well, it fails to set seclabels on the
path because, because the path does not exist in the private
namespace. And it doesn't exist because we specifically create
only a subset of all possible /dev nodes. Therefore, the mount
event, whilst propagated, is not successful and hence the
filesystem is not mounted. We have to do it ourselves.

If hugetlbfs is mount anywhere else there's no problem and this
is effectively a dead code.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2123196
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2022-09-23 16:33:48 +02:00
..
css docs: Adapt to semantic tag usage of docutils-0.17 and later 2022-04-13 13:02:06 +02:00
fonts docs: Move font definitions with other CSS files 2022-01-04 15:47:28 +01:00
gitdm gitdm: Add other email into Red Hat company list 2021-10-12 16:46:45 +02:00
go docs: Simplify passing of 'href_base' XSL variable 2022-04-12 12:53:32 +02:00
html meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
images docs: Drop node.gif 2022-01-21 10:17:11 +01:00
js meson: add rule to build and install only web documentation 2020-08-03 09:27:06 +02:00
kbase qemu_process.c: Propagate hugetlbfs mounts on reconnect 2022-09-23 16:33:48 +02:00
logos docs: fix misc spelling errors reported by codespell 2020-10-05 10:28:37 +01:00
manpages virt-admin: Introduce 'daemon-timeout' 2022-07-07 14:35:30 +02:00
404.html.in
acl.html.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00
aclpolkit.rst docs: html.in: Convert aclpolkit to rst 2021-03-15 17:31:35 +01:00
advanced-tests.rst lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
android-chrome-192x192.png
android-chrome-256x256.png
api_extension.rst docs: Update obsolete reference to formatdomain.html.in 2022-03-22 11:05:09 +01:00
api.rst docs: Remove extra leading slash in 'api' and 'formatdomaincaps' pages 2022-06-01 12:27:10 +02:00
apple-touch-icon.png
apps.rst docs: Update various URLs 2022-05-24 12:19:16 +02:00
auditlog.rst docs: html.in: Convert auditlog to rst 2021-03-15 17:31:57 +01:00
auth.rst docs: auth: Fix a couple of stylistic issues 2021-03-23 17:55:06 +01:00
best-practices.rst Prefer https: for Red Hat websites 2020-09-01 21:58:46 +02:00
bindings.rst docs: update links to listman 2022-06-22 15:29:44 +02:00
browserconfig.xml
bugs.rst docs: bugs: Remove raw HTML anchor 'quality' 2022-04-25 16:33:01 +02:00
cgroups.rst docs: Convert 'cgroups' page to rST 2022-04-01 16:33:19 +02:00
ci-dashboard.rst docs: Move the CI dashboard to its own RST module 2022-07-14 17:31:21 +02:00
ci-runners.rst docs: Provide an article on how to add a custom runner to the project 2022-07-14 17:31:21 +02:00
ci.rst docs: ci: Add a brief section on how to run the CI workload locally 2022-07-15 08:26:38 +02:00
coding-style.rst coding-style: Allow some use of ternary operators 2022-07-26 08:48:48 +02:00
committer-guidelines.rst meson: adjust our documentation to mention meson instead of autoconf 2020-08-03 09:27:09 +02:00
compiling.rst docs: compiling: Add notes on starting compiled libvirt daemons 2022-09-13 13:36:49 +02:00
contact.rst docs: update links to listman 2022-06-22 15:29:44 +02:00
contribute.rst docs: contact: Remove HTML anchors and adjust documents using them 2022-04-25 16:33:01 +02:00
csharp.rst docs: convert 'csharp' page to rst 2022-04-07 15:10:26 +02:00
daemons.rst docs: Move 'tlscerts' page to 'kbase/' 2022-04-07 15:10:26 +02:00
dbus.rst docs: convert 'dbus' page to rst 2022-04-07 15:10:26 +02:00
docs.rst docs: Add article about handling upstream issues 2022-07-26 16:35:57 +02:00
downloads.rst docs: downloads: fix link to libvirt GitLab group 2022-03-11 14:29:31 +01:00
drivers.rst docs: drivers: Mention KVM/HVF in the link of qemu driver 2022-05-19 10:10:31 +02:00
drvbhyve.rst docs: drvbhve: Fix local anchor links 2022-04-19 16:19:48 +02:00
drvch.rst Add basic driver for the Cloud-Hypervisor 2021-06-04 10:56:06 +01:00
drvesx.rst Correct links to TLS certificate setup page 2022-04-25 16:33:01 +02:00
drvhyperv.rst docs: Update various URLs 2022-05-24 12:19:16 +02:00
drvlxc.rst docs: formatdomain: Remove 'elementsOSContainer' anchor 2022-06-01 12:27:09 +02:00
drvnodedev.rst docs: Convert 'formatnode' page to rst 2022-04-19 16:19:48 +02:00
drvopenvz.rst docs: Convert 'drvopenvz' page to rST 2022-04-01 16:33:19 +02:00
drvqemu.rst qemu: Formally deprecate support for qemu < 4.2 2022-08-11 14:38:31 +02:00
drvsecret.rst docs: Convert 'drvsecret' page to rST 2022-04-01 16:33:19 +02:00
drvtest.rst docs: Convert 'drvtest' page to rST 2022-04-01 16:33:19 +02:00
drvvbox.rst docs: Convert 'drvvbox' page to rST 2022-04-01 16:33:19 +02:00
drvvirtuozzo.rst docs: Convert 'drvvirtuozzo' page to rST 2022-04-01 16:33:19 +02:00
drvvmware.rst docs: Convert 'drvvmware' page to rST 2022-04-01 16:33:19 +02:00
drvxen.rst docs: Convert 'drvxen' page to rST 2022-04-01 16:33:19 +02:00
errors.rst docs: Convert 'errors' page to rST 2022-03-08 17:40:47 +01:00
favicon-16x16.png
favicon-32x32.png
favicon.ico
firewall.rst docs: Convert 'formatnwfilter' page to rst 2022-04-19 16:19:48 +02:00
format.rst docs: Convert 'format' page to rST 2022-04-01 16:33:19 +02:00
formatbackup.rst docs: formatdomain: Remove 'elementsDisks' anchor 2022-06-01 12:27:09 +02:00
formatcaps.rst docs: formatcaps: Fix anchors of links into formatdomain.rst 2022-06-01 12:27:10 +02:00
formatcheckpoint.rst docs: formatdomain: Remove 'elementsDisks' anchor 2022-06-01 12:27:09 +02:00
formatdomain.rst docs: formatdomain: Fix small typos and syntax errors 2022-08-25 18:58:08 +02:00
formatdomaincaps.rst domcaps: Introduce TPM backendVersion 2022-07-13 11:55:06 +02:00
formatnetwork.rst docs: fix syntax errors in IPv6 NAT example XML 2022-08-23 16:33:20 +01:00
formatnetworkport.rst docs: formatdomain: Remove 'elementsNICSDirect' anchor 2022-06-01 12:27:09 +02:00
formatnode.rst schema: nodedev: Fix schema attribute value for the 'vport_ops' capability 2022-09-01 13:11:09 +02:00
formatnwfilter.rst docs: Convert 'formatnwfilter' page to rst 2022-04-19 16:19:48 +02:00
formatsecret.rst docs: formatdomain: Remove 'elementsTpm' anchor 2022-06-01 12:27:10 +02:00
formatsnapshot.rst docs: formatdomain: Remove 'seclabel' anchor 2022-06-01 12:27:10 +02:00
formatstorage.rst Remove support for building the sheepdog storage driver backend 2022-09-01 13:11:09 +02:00
formatstoragecaps.rst docs: Convert 'formatstoragecaps' page to rST 2022-04-07 17:15:52 +02:00
formatstorageencryption.rst docs: formatstorageencryption: Use correct anchor into formatsecret page 2022-06-01 12:27:10 +02:00
glib-adoption.rst docs: glib-adoption: add string arrays and objects 2020-10-02 14:10:44 +02:00
goals.rst docs: Convert 'goals' to rST 2022-03-08 17:40:47 +01:00
governance.rst docs: governance: Remove unused HTML anchors 2022-04-25 16:33:01 +02:00
hacking.rst Drop YouCompleteMe and color_coded integration 2022-03-17 14:35:05 +01:00
hooks.rst docs: Convert 'hooks' page to rST 2022-04-01 16:33:20 +02:00
index.html.in docs: Add support page for libvirt on macOS 2022-01-25 16:54:44 +01:00
issue-handling.rst docs: Add article about handling upstream issues 2022-07-26 16:35:57 +02:00
java.rst docs: Convert 'java' page to rST 2022-04-01 16:33:20 +02:00
libvirt-go-xml.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
libvirt-go.rst docs: introduce stubs for new libvirt Go packages 2021-06-07 17:04:14 +01:00
logging.rst docs: logging: Replace example by link to kbase/debuglogs.html 2022-04-01 16:33:20 +02:00
macos.rst docs: Add support page for libvirt on macOS 2022-01-25 16:54:44 +01:00
manifest.json
meson.build docs: Add article about handling upstream issues 2022-07-26 16:35:57 +02:00
migration.rst docs: Move all images to a subdirectory 2022-01-04 15:47:25 +01:00
mstile-150x150.png
newapi.xsl docs: newapi: Consider also 'https://' links in the API generator XSL 2022-09-01 13:11:09 +02:00
newreposetup.rst docs: Document CIRRUS_GITHUB_REPO variable 2020-06-11 12:03:41 +02:00
nss.rst docs: Convert 'nss' page to rST 2022-03-10 17:52:07 +01:00
page.xsl docs: page.xsl: Fix link to 'mailing-lists' section 2022-06-01 12:27:10 +02:00
pci-addresses.rst Fix spelling 2021-04-15 15:42:21 +02:00
pci-hotplug.rst docs: pci-hotplug: Fix local anchor links 2022-04-19 16:19:48 +02:00
php.rst docs: Convert 'php' page to rST 2022-04-01 16:33:20 +02:00
platforms.rst docs: Fix spelling for Homebrew 2022-04-14 11:54:28 +02:00
programming-languages.rst Fix capitalization "CLang" -> "Clang" 2020-11-12 15:01:42 +01:00
python.rst docs: convert 'python' page to rst 2022-04-07 15:10:26 +02:00
remote.rst docs: remote: Fix anchor names in links to uri.html 2022-06-01 12:27:10 +02:00
securityprocess.rst docs: contact: Remove HTML anchors and adjust documents using them 2022-04-25 16:33:01 +02:00
site.xsl docs: Simplify passing of 'href_base' XSL variable 2022-04-12 12:53:32 +02:00
storage.rst Remove support for building the sheepdog storage driver backend 2022-09-01 13:11:09 +02:00
strategy.rst docs: Convert 'strategy' to rST 2022-03-08 17:40:47 +01:00
styleguide.rst docs: Document list-tables as recommended 2020-05-11 13:55:27 +02:00
submitting-patches.rst docs: patches: Add a note about reviews and contacting developers 2022-07-26 16:35:57 +02:00
support.rst docs: Convert 'support' page to rST 2022-03-08 17:40:47 +01:00
testapi.rst docs: Convert 'testapi' page to rST 2022-03-10 17:52:07 +01:00
testing.rst docs: Fix typos 2022-07-18 11:10:55 +02:00
testtck.rst docs: Fix typos 2022-07-18 11:10:55 +02:00
uri.rst uri: Fix link to qemu KVM example config 2022-06-01 12:27:10 +02:00
windows.rst docs: Update URL for MinGW 2022-05-24 12:19:15 +02:00