control: tags -1 +patch

[ Sorry for late response ]

[2017-03-30 12:36] Harald Dunkel <harald.dun...@aixigo.de>
> PS: Attached you can find a suggested fix.
>
> part 2     text/x-patch               334
> diff --git a/init.d/mountkernfs.sh b/init.d/mountkernfs.sh
> index e95cac3..56df7f9 100755
> --- a/init.d/mountkernfs.sh
> +++ b/init.d/mountkernfs.sh
> @@ -60,6 +60,7 @@ case "$1" in
>       mount_filesystems mount_noupdate
>       ;;
>    start)
> +     modprobe configfs || echo ignored
>       mount_filesystems mount_noupdate
>       ;;
>    restart|reload|force-reload)

This patch loads `configfs' module, unconditionally. I find it
unfortunate.

I'd prefer to mount `configfs' after `kmod', if 'configfs' was loaded by
/etc/init.d/kmod; something like following. Opinions?

From 66fc843dc2c852fc47fe9cf1b671cf55d37ea62f Mon Sep 17 00:00:00 2001
From: Dmitry Bogatov <kact...@debian.org>
Date: Thu, 25 Jul 2019 06:28:29 +0000
Subject: [PATCH] Attempt to mount /sys/kernel/config after `kmod'

Currently, /etc/init.d/mountkernfs attempts to mount `configfs' before
apporiate kernel module could be loaded by `kmod' script.  As such,
`configfs' is only mounted on systems where kernel module is loaded
by initramfs.

With this change `configfs' mount is tried in separate script after
`kmod'.

Closes: #840356
---
 debian/initscripts.conffiles                  |  1 +
 debian/initscripts.postinst                   |  2 +-
 debian/initscripts.postrm                     |  2 +-
 .../src/initscripts/etc/init.d/mount-configfs | 34 +++++++++++++++++++
 .../src/initscripts/etc/init.d/mountkernfs.sh |  4 ---
 5 files changed, 37 insertions(+), 6 deletions(-)
 create mode 100644 debian/src/initscripts/etc/init.d/mount-configfs

diff --git a/debian/initscripts.conffiles b/debian/initscripts.conffiles
index 381e9f66..6d3fa7ec 100644
--- a/debian/initscripts.conffiles
+++ b/debian/initscripts.conffiles
@@ -22,6 +22,7 @@
 /etc/init.d/umountnfs.sh
 /etc/init.d/umountroot
 /etc/init.d/urandom
+/etc/init.d/mount-configfs
 /etc/default/devpts
 /etc/default/halt
 /etc/default/rcS
diff --git a/debian/initscripts.postinst b/debian/initscripts.postinst
index 82ab6a71..b1e3e6c2 100755
--- a/debian/initscripts.postinst
+++ b/debian/initscripts.postinst
@@ -45,7 +45,7 @@ make_rc_local_conffile
 
 umask 022
 
-INITSCRIPTS="mountkernfs.sh brightness hostname.sh mountdevsubfs.sh 
checkroot.sh \
+INITSCRIPTS="mountkernfs.sh mount-configfs brightness hostname.sh 
mountdevsubfs.sh checkroot.sh \
        checkroot-bootclean.sh checkfs.sh mountall.sh mountall-bootclean.sh \
        mountnfs.sh mountnfs-bootclean.sh bootmisc.sh urandom halt reboot \
        umountroot umountfs umountnfs.sh sendsigs killprocs single motd \
diff --git a/debian/initscripts.postrm b/debian/initscripts.postrm
index 6847f9ff..5e232568 100755
--- a/debian/initscripts.postrm
+++ b/debian/initscripts.postrm
@@ -5,7 +5,7 @@
 
 set -e
 
-INITSCRIPTS="mountkernfs.sh brightness hostname.sh mountdevsubfs.sh 
checkroot.sh \
+INITSCRIPTS="mountkernfs.sh mount-configfs brightness hostname.sh 
mountdevsubfs.sh checkroot.sh \
        checkroot-bootclean.sh checkfs.sh mountall.sh mountall-bootclean.sh \
        mountnfs.sh mountnfs-bootclean.sh bootmisc.sh urandom halt reboot \
        umountroot umountfs umountnfs.sh sendsigs killprocs single motd \
diff --git a/debian/src/initscripts/etc/init.d/mount-configfs 
b/debian/src/initscripts/etc/init.d/mount-configfs
new file mode 100644
index 00000000..6cfd16bf
--- /dev/null
+++ b/debian/src/initscripts/etc/init.d/mount-configfs
@@ -0,0 +1,34 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          mount-configfs
+# Required-Start:    mountkernfs
+# Required-Stop:
+# Should-Start:      kmod
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Mount configfs kernel virtual file system.
+# Description:       Mount configfs kernel virtual file system,
+#                    if "configfs" module is loaded.
+### END INIT INFO
+set -eu
+
+export PATH=/bin:/usr/bin
+
+case ${1:-missing} in
+(start|restart|force-reload)
+       readonly mountpoint='/sys/kernel/config'
+       # This directory exists only if "configfs" module was loaded by "kmod"
+       # script.
+       test -d "${mountpoint}"              || exit 0
+       ! findmnt "${mountpoint}" >/dev/null || exit 0
+
+       mount none -t configfs "${mountpoint}"
+       ;;
+(stop)
+       # No-op
+       ;;
+(*)
+       echo "Usage: mount-configfs [start|stop]" >&2
+       exit 3
+       ;;
+esac
diff --git a/debian/src/initscripts/etc/init.d/mountkernfs.sh 
b/debian/src/initscripts/etc/init.d/mountkernfs.sh
index e95cac3a..146581a6 100755
--- a/debian/src/initscripts/etc/init.d/mountkernfs.sh
+++ b/debian/src/initscripts/etc/init.d/mountkernfs.sh
@@ -48,10 +48,6 @@ mount_filesystems () {
                domount "$MNTMODE" pstore "" /sys/fs/pstore pstore ""
        fi
 
-       if [ -d /sys/kernel/config ]
-       then
-               domount "$MNTMODE" configfs "" /sys/kernel/config configfs ""
-       fi
 }
 
 case "$1" in



-- 
Note, that I send and fetch email in batch, once in a few days.
Please, mention in body of your reply when you add or remove recepients.

Reply via email to