Debian Bug report logs - #138040
sysvinit: FIX for (some) fsck/loopback problems

version graph

Package: initscripts; Maintainer for initscripts is Debian sysvinit maintainers <[email protected]>; Source for initscripts is src:sysvinit (PTS, buildd, popcon).

Reported by: Peter L Jones <[email protected]>

Date: Tue, 12 Mar 2002 19:03:01 UTC

Severity: wishlist

Tags: wontfix

Merged with 49670

Found in version 2.86-5

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Miquel van Smoorenburg <[email protected]>, [email protected]:
Bug#138040; Package sysvinit. (full text, mbox, link).


Acknowledgement sent to Peter L Jones <[email protected]>:
New Bug report received and forwarded. Copy sent to Miquel van Smoorenburg <[email protected]>, [email protected]. (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Peter L Jones <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: sysvinit: FIX for (some) fsck/loopback problems
Date: Tue, 12 Mar 2002 18:55:43 +0000
Package: sysvinit
Version: 2.84-2
Severity: normal

On system start up, the following run on my system (amongst others):
S10checkroot.sh
S30checkfs.sh
S35mountall.sh
S45mountnfs.sh

After these have run, all my filesystems should be up.

There is a problem with loopback filesystems that are wanted automounted
during boot.  S30checkfs.sh can't check them unless they live on the
root filesystem!

FIX: add "opts=noloop" to S30checkfs.sh

Now we have a further problem with S35mountall.sh.  It really shouldn't
mount loopback filesystems - they might be living on the network
(really, they _might_ - they're just normal files, after all).  Sadly,
there's no easy way to tell "mount -a" to skip lookback files (maybe an
"opts=" for "mount -t" is needed).  So, I had to really mess with the
script.  I'm not happy with the result (tacked onto the end of this
report) but it works reliably _for me_.

FIX: Use my mountall.sh script instead.

Okay, we're no longer checking or mounting loopback file systems at all
at boot time.  Hmmm...!

FIX: Two more scripts, checkloop.sh and mountloop.sh

(Which, oddly enough, check loopback file systems and mount them.)  I
have these as S46checkloop.sh and S47mountloop.sh in /etc/rcS.d so they
run after the network filesystems are up.  See below.

-- Peter


-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux advent 2.4.19-pre2-rmap12g #2 Sat Mar 9 19:24:23 GMT 2002 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages sysvinit depends on:
hi  dpkg                          1.9.19     Package maintenance system for Deb
ii  e2fsprogs                     1.26-3     The EXT2 file system utilities and
hi  libc6                         2.2.5-3    GNU C Library: Shared libraries an
hi  mount                         2.11n-4    Tools for mounting and manipulatin
hi  util-linux                    2.11n-4    Miscellaneous system utilities.



____CUT1_mountall.sh_____

#
# mountall.sh	Mount all filesystems.
#
# Version:	@(#)mountall.sh  2.83-2  01-Nov-2001  [email protected]
#
. /etc/default/rcS

#
# Mount local file systems in /etc/fstab. For some reason, people
# might want to mount "proc" several times, and mount -v complains
# about this. So we mount "proc" filesystems without -v.
#
# Loopback mounts will need fsck-ing later so we don't want them
# mounted now.  There's no easy way to do this, unfortunately.
#
[ "$VERBOSE" != no ] && echo "Mounting local filesystems..."
#mount -avt nonfs,nosmbfs,noncpfs,noproc
while read dev mp type opts d f; do
	case "$dev" in
	\#*|"") continue ;;
	esac
	case "$mp" in
	/) continue ;;
	esac
	case "$opts" in
	*noauto*|*loop*) continue ;;
	esac
	case "$type" in
	swap|proc|nfs|smbfs|ncpfs|proc) continue ;;
	esac
	mount -v $mp
done < /etc/fstab
mount -at proc

#
# We might have mounted something over /dev, see if /dev/initctl is there.
#
if [ ! -p /dev/initctl ]
then
	rm -f /dev/initctl
	mknod -m 600 /dev/initctl p
fi
kill -USR1 1

#
# Execute swapon command again, in case we want to swap to
# a file on a now mounted filesystem.
#
doswap=yes
case "`uname -r`" in
	2.[0123].*)
		if grep -qs resync /proc/mdstat
		then
			doswap=no
		fi
		;;
esac
if [ $doswap = yes ]
then
	swapon -a 2> /dev/null
fi

: exit 0

____CUT1_mountall.sh_____ENDS
..
..
..
..
..
____CUT2_checkloop.sh_____

#
# checkloop.sh	Check loopback filesystems.
#
# Version:	@(#)checkfs  2.83  05-Oct-2001  [email protected]
#

. /etc/default/rcS

#
# Check the loopback file systems.
#
    if [ "$FSCKFIX"  = yes ]
    then
	fix="-y"
    else
	fix="-a"
    fi
    spinner="-C"
    case "$TERM" in
	dumb|network|unknown|"") spinner="" ;;
    esac
    [ `uname -m` = s390 ] && spinner="" # This should go away
    echo "Checking all file systems..."
    fsck $spinner -R -A $fix $force -t opts=loop
    if [ $? -gt 1 ]
    then
      echo
      echo "fsck failed.  Please repair manually."
      echo
      echo "CONTROL-D will exit from this shell and continue system startup."
      echo
      # Start a single user shell on the console
      /sbin/sulogin $CONSOLE
    fi

: exit 0
____CUT2_checkloop.sh_____ENDS
..
..
..
..
..
____CUT2_mountloop.sh_____

#
# mountloop.sh	Mount loop filesystems.
#
# Version:	@(#)mountloop.sh
#
. /etc/default/rcS

#
[ "$VERBOSE" != no ] && echo "Mounting loopback filesystems..."
while read dev mp type opts d f; do
	case "$dev" in
	\#*|"") continue ;;
	esac
	case "$opts" in
	*noauto*) continue ;;
	*loop*) ;;
	*) continue ;;
	esac
	if ! grep "$dev $mp $type" /proc/mounts > /dev/null; then
		mount -v $mp
	fi
done < /etc/fstab

: exit 0

____CUT2_mountloop.sh_____ENDS




Merged 49670 138040. Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Bug reassigned from package `sysvinit' to `initscripts'. Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Severity set to `wishlist'. Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Merged 49670 138040 288016. Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Disconnected #288016 from all other report(s). Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Tags added: wontfix Request was from Thomas Hood <[email protected]> to [email protected]. (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 13:18:24 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.