Control: tags -1 patch

Matthijs,

Firstly apologies for the extreme delay here.

I think this patch does the right thing.

Any comments?

Mark

commit f20e36e2ae1acb17aa30e5d948c6cb5a34c182be
Author: Mark Hindley <[email protected]>
Date:   Tue Sep 30 16:46:46 2025 +0100

    Only create .tmpfs if mount has been successful.
    
    Closes: #719249

diff --git a/debian/src/initscripts/lib/init/mount-functions.sh 
b/debian/src/initscripts/lib/init/mount-functions.sh
index 8e9a80e4..98baf4e2 100644
--- a/debian/src/initscripts/lib/init/mount-functions.sh
+++ b/debian/src/initscripts/lib/init/mount-functions.sh
@@ -265,6 +265,7 @@ domount() {
                MOUNTMODE=remount
        fi
 
+       status=
        case "$MOUNTMODE" in
                mount)
                        if mountpoint -q "$MTPT"; then
@@ -277,6 +278,7 @@ domount() {
                                        is_empty_dir "$MTPT" >/dev/null 2>&1 || 
log_warning_msg "Files under mount point '$MTPT' will be hidden."
                                fi
                                mount $MOUNTFLAGS -t $FSTYPE $CALLER_OPTS 
$FSTAB_OPTS $FS_OPTS $DEVNAME $MTPT
+                               status=$?
                                if [ "$FSTYPE" = "tmpfs" ] && [ -x 
/sbin/restorecon ]; then
                                        /sbin/restorecon $MTPT
                                fi
@@ -286,9 +288,14 @@ domount() {
                        if mountpoint -q "$MTPT"; then
                                # Remount with user-specified mount options
                                mount $MOUNTFLAGS -oremount $CALLER_OPTS 
$FSTAB_OPTS $MTPT
+                               status=$?
                        fi
                        ;;
        esac
+       if [ "$FSTYPE" = "tmpfs" ]  && [ "$status" -eq 0 ]; then
+               # Make sure we don't get cleaned
+               touch "$MTPT/.tmpfs"
+       fi
 }
 
 #
@@ -515,9 +522,6 @@ mount_run() {
 
        # Make pidfile omit directory for sendsigs
        [ -d /run/sendsigs.omit.d ] || mkdir --mode=755 /run/sendsigs.omit.d/
-
-       # Make sure we don't get cleaned
-       touch /run/.tmpfs
 }
 
 # Mount /run/lock
@@ -558,8 +562,6 @@ mount_lock() {
        # additional tmpfs.
        if [ yes = "$RAMLOCK" ]; then
                domount "$MNTMODE" tmpfs shmfs /run/lock tmpfs 
"-o${NODEV}noexec,nosuid$LOCK_OPT"
-               # Make sure we don't get cleaned
-               touch /run/lock/.tmpfs
        else
                chmod "$LOCK_MODE" /run/lock
        fi
@@ -614,8 +616,6 @@ mount_shm() {
 
        if [ yes = "$RAMSHM" ]; then
                domount "$MNTMODE" tmpfs shmfs "$SHMDIR" tmpfs 
"-onosuid,${NODEV}noexec$SHM_OPT"
-               # Make sure we don't get cleaned
-               touch "$SHMDIR"/.tmpfs
        else
                chmod "$SHM_MODE" "$SHMDIR"
        fi
@@ -695,8 +695,6 @@ mount_tmp() {
        # Mount /tmp as tmpfs if enabled.
        if [ yes = "$RAMTMP" ]; then
                domount "$MNTMODE" tmpfs shmfs /tmp tmpfs 
"-o${NODEV}nosuid$TMP_OPT"
-               # Make sure we don't get cleaned
-               touch /tmp/.tmpfs
        else
                # When root is still read only, this will fail.
                if [ mount_noupdate != "$MNTMODE" ] && [ rw = "$rootmode" ]; 
then

Reply via email to