﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
118	Some mistakes in /etc/init.d/checkfs	JustusWinter@…	lfs-book@…	"Two mistakes in /etc/init.d/checkfs

1)   There is a ""fi"" missing
2)   It prints out a error message if fsck return 0 as return value

Please take a look at my modified version:

#!/bin/sh
# Begin /etc/init.d/checkfs

#
# Include the functions declared in the /etc/init.d/functions file
#

source /etc/init.d/functions

#
# Activate all the swap partitions declared in the /etc/fstab file
#

echo -n ""Activating swap...""
/sbin/swapon -a
evaluate_retval

#
# If the /fastboot file exists we don't want to run the partition checks
#

if [ -f /fastboot ]
then
        echo ""Fast boot, no file system check""
else

#
# Mount the root partition read-only (just in case the kernel mounts it
# read-write and we don't want to run fsck on a read-write mounted
# partition).
#

        /bin/mount -n -o remount,ro /
        if [ $? = 0 ]
        then

#
# If the /forcefsck file exists we want to force a partition check even
# if the partition was unmounted cleanly the last time
#

                if [ -f /forcefsck ]
                then
                        echo -n ""/forcefsck exists, forcing ""
                        echo ""file system check""
                        force=""-f""
                else
                        force=""""
                fi

#
# Check all the file systems mentioned in /etc/fstab that have the
# fs_passno value set to 1 or 2 (the 6th field. See man fstab for more
# info)
#

                echo ""Checking file systems...""
                /sbin/fsck $force -a -A -C -T

#
# If something went wrong during the checks of one of the partitions,
# fsck will exit with a return value greater than 1. If this is
# the case we start sulogin so you can repair the damage manually
#

                if [ $? -gt 1 ]
                then
                        $FAILURE
                        echo
                        echo -n ""fsck failed. Please repair your file ""
                        echo ""systems manually by running /sbin/fsck""
                        echo ""without the -a option""
                        echo
                        echo -n ""Please note that the root file system ""
                        echo ""is currently mounted in read-only mode.""
                        echo
                        echo -n ""I will start sulogin now. When you  ""
                        echo ""logout I will reboot your system.""
                        echo
                        $NORMAL
                        /sbin/sulogin
                        /sbin/reboot -f

########################### here ##################################

# The following lines are IMHO nonsense. you check whether the return value
# is greater than 1 and if it is for example 0 you print out this error 
# message.
#
#                else
#
#
# If the remount to read-only mode didn't work abort the fsck and print
# an error
#
#
#                       echo -n ""Cannot check root file system because it ""
#                       echo ""could not be mounted in read-only mode.""

######################### and here ###############################
                fi
##################################################################
        fi
fi

# End /etc/init.d/checkfs"	defect	closed	normal		Book	3.0-pre4	minor	invalid		
