all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH container] lxc config: mount /dev/shm tmpfs for application containers
@ 2025-12-02 15:27 Filip Schauer
  2026-01-15 10:08 ` Fabian Grünbichler
  0 siblings, 1 reply; 2+ messages in thread
From: Filip Schauer @ 2025-12-02 15:27 UTC (permalink / raw)
  To: pve-devel

Mount a tmpfs at /dev/shm into containers without an init system which
would normally set up a shared memory filesystem. This satisfies the OCI
Runtime Spec [0], which specifies that the following should be made
available in the container:
/proc       proc
/sys        sysfs
/dev/pts    devpts
/dev/shm    tmpfs

The reason the mount is added conditionally is to avoid interfering with
init systems: systemd correctly detects an existing /dev/shm, but OpenRC
mounts it even if already present, resulting in duplicate mounts.

[0] https://github.com/opencontainers/runtime-spec/blob/fd25dd34a06b/config-linux.md#default-filesystems

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
 src/PVE/LXC.pm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
index de54a0d..e5ff3a1 100644
--- a/src/PVE/LXC.pm
+++ b/src/PVE/LXC.pm
@@ -756,6 +756,11 @@ sub update_lxc_config {
         $raw .= "lxc.mount.auto = sys:mixed\n";
     }
 
+    if (defined($conf->{entrypoint}) && $conf->{entrypoint} ne '/sbin/init') {
+        # Mount /dev/shm tmpfs into the container, if no init system runs to set it up.
+        $raw .= "lxc.mount.entry = shm dev/shm tmpfs rw,nosuid,nodev,create=dir 0 0\n";
+    }
+
     PVE::LXC::Config->foreach_passthrough_device(
         $conf,
         sub {
-- 
2.47.3



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH container] lxc config: mount /dev/shm tmpfs for application containers
  2025-12-02 15:27 [pve-devel] [PATCH container] lxc config: mount /dev/shm tmpfs for application containers Filip Schauer
@ 2026-01-15 10:08 ` Fabian Grünbichler
  0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2026-01-15 10:08 UTC (permalink / raw)
  To: Proxmox VE development discussion; +Cc: Wolfgang Bumiller

On December 2, 2025 4:27 pm, Filip Schauer wrote:
> Mount a tmpfs at /dev/shm into containers without an init system which
> would normally set up a shared memory filesystem. This satisfies the OCI
> Runtime Spec [0], which specifies that the following should be made
> available in the container:
> /proc       proc
> /sys        sysfs
> /dev/pts    devpts
> /dev/shm    tmpfs
> 
> The reason the mount is added conditionally is to avoid interfering with
> init systems: systemd correctly detects an existing /dev/shm, but OpenRC
> mounts it even if already present, resulting in duplicate mounts.
> 
> [0] https://github.com/opencontainers/runtime-spec/blob/fd25dd34a06b/config-linux.md#default-filesystems
> 
> Signed-off-by: Filip Schauer <f.schauer@proxmox.com>

Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>

@Wolfang - could you also take a look to ensure I haven't missed any
implications?

> ---
>  src/PVE/LXC.pm | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
> index de54a0d..e5ff3a1 100644
> --- a/src/PVE/LXC.pm
> +++ b/src/PVE/LXC.pm
> @@ -756,6 +756,11 @@ sub update_lxc_config {
>          $raw .= "lxc.mount.auto = sys:mixed\n";
>      }
>  
> +    if (defined($conf->{entrypoint}) && $conf->{entrypoint} ne '/sbin/init') {
> +        # Mount /dev/shm tmpfs into the container, if no init system runs to set it up.
> +        $raw .= "lxc.mount.entry = shm dev/shm tmpfs rw,nosuid,nodev,create=dir 0 0\n";
> +    }
> +
>      PVE::LXC::Config->foreach_passthrough_device(
>          $conf,
>          sub {
> -- 
> 2.47.3
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-15 10:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-02 15:27 [pve-devel] [PATCH container] lxc config: mount /dev/shm tmpfs for application containers Filip Schauer
2026-01-15 10:08 ` Fabian Grünbichler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal