misc/147685: new feature for /etc/rc.d/fsck

Alex Keda admin at lissyara.su
Tue Jun 8 10:50:02 UTC 2010


>Number:         147685
>Category:       misc
>Synopsis:       new feature for /etc/rc.d/fsck
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 08 10:50:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Alex Keda
>Release:        9.0-CURRENT
>Organization:
USSR
>Environment:
FreeBSD lissyara.moskb.local 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r208900: Tue Jun  8 08:46:18 MSD 2010     root at lissyara.moskb.local:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
We have many servers located in datacenters. These difficult physical access. After several years of work, unexpected reboot (power problems, panic, ....) on the file system with errors. Not all file system may check and fix remotely - /, / usr can not unmount at work.

This patch allows you to schedule a scan file systems at boot time, before they are mounted.
>How-To-Repeat:

>Fix:
see attached patch

Patch attached with submission follows:

--- /tmp/fsck.orig	2010-06-08 14:17:59.000000000 +0400
+++ /etc/rc.d/fsck	2010-06-08 14:18:24.000000000 +0400
@@ -27,7 +27,16 @@
 		if checkyesno background_fsck; then
 			fsck -F -p
 		else
-			fsck -p
+			if checkyesno force_fsck; then
+				echo "Force fsck enabled"
+				for filesystem in ${force_fsck_list}
+				do
+					echo "Force check $filesystem"
+					fsck -y $filesystem
+				done
+			else
+				fsck -p
+			fi
 		fi
 
 		case $? in
--- /tmp/rc.conf	2010-06-08 14:36:52.000000000 +0400
+++ /etc/defaults/rc.conf	2010-06-08 14:38:55.000000000 +0400
@@ -87,6 +87,9 @@
 fsck_y_flags=""		# Additional flags for fsck -y
 background_fsck="YES"	# Attempt to run fsck in the background where possible.
 background_fsck_delay="60" # Time to wait (seconds) before starting the fsck.
+force_fsck="NO"		# force check filesystems on startup
+force_fsck_list=""	# list file systems for force check on startup
+#force_fsck_list="/ /usr /var"
 netfs_types="nfs:NFS nfs4:NFS4 smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net filesystems.
 extra_netfs_types="NO"	# List of network extra filesystem types for delayed
 			# mount at startup (or NO).


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list