On Fri, Dec 06, 2002 at 05:52:38PM -0800, Kirk McKusick wrote: > Adding a two minute delay before starting background fsck > sounds like a very good idea to me. Please send me your > suggested change.
Here it is. As written it doesn't add the delay, but you can change etc/defaults/rc.conf to do that it desired. -- Brooks -- Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 Index: etc/rc =================================================================== RCS file: /usr/cvs/src/etc/rc,v retrieving revision 1.323 diff -u -p -r1.323 rc --- etc/rc 26 Nov 2002 17:51:03 -0000 1.323 +++ etc/rc 4 Dec 2002 23:08:41 -0000 @@ -982,8 +982,14 @@ esac # Start background fsck checks if necessary case ${background_fsck} in [Yy][Ee][Ss]) - echo 'Starting background filesystem checks' - nice -4 fsck -B -p 2>&1 | logger -p daemon.notice & + bgfsck_msg='Starting background file system checks' + if [ ${background_fsck_delay:=0} -gt 0 ]; then + bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" + fi + echo "${bgfsck_msg}." + + (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ + logger -p daemon.notice & ;; esac Index: etc/defaults/rc.conf =================================================================== RCS file: /usr/cvs/src/etc/defaults/rc.conf,v retrieving revision 1.164 diff -u -p -r1.164 rc.conf --- etc/defaults/rc.conf 6 Dec 2002 05:23:37 -0000 1.164 +++ etc/defaults/rc.conf 6 Dec 2002 18:02:18 -0000 @@ -40,6 +40,7 @@ script_name_sep=" " # Change if your sta rc_conf_files="/etc/rc.conf /etc/rc.conf.local" fsck_y_enable="NO" # Set to YES to do fsck -y if the initial preen fails. background_fsck="YES" # Attempt to run fsck in the background where possible. +background_fsck_delay="0" # Time to wait (seconds) before starting the fsck. extra_netfs_types="NO" # List of network extra filesystem types for delayed # mount at startup (or NO). Index: etc/rc.d/bgfsck =================================================================== RCS file: /usr/cvs/src/etc/rc.d/bgfsck,v retrieving revision 1.2 diff -u -p -r1.2 bgfsck --- etc/rc.d/bgfsck 28 Jul 2002 03:38:10 -0000 1.2 +++ etc/rc.d/bgfsck 9 Oct 2002 23:31:45 -0000 @@ -11,9 +11,20 @@ name="background-fsck" rcvar="background_fsck" -start_precmd="echo 'Starting background file system checks.'" -start_cmd="nice -4 fsck -B -p 2>&1 | logger -p daemon.notice &" +start_cmd="bgfsck_start" stop_cmd=":" + +bgfsck_start () +{ + bgfsck_msg='Starting background file system checks' + if [ ${background_fsck_delay:=0} -gt 0 ]; then + bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" + fi + echo "${bgfsck_msg}." + + (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ + logger -p daemon.notice & +} load_rc_config $name run_rc_command "$1" Index: share/man/man5/rc.conf.5 =================================================================== RCS file: /usr/cvs/src/share/man/man5/rc.conf.5,v retrieving revision 1.166 diff -u -p -r1.166 rc.conf.5 --- share/man/man5/rc.conf.5 29 Nov 2002 11:39:19 -0000 1.166 +++ share/man/man5/rc.conf.5 4 Dec 2002 23:11:53 -0000 @@ -734,6 +734,11 @@ If set to the system will attempt to run .Xr fsck 8 in the background where possible. +.It Va background_fsck_delay +.Pq Vt int +The amount of time in seconds to sleep before starting a background fsck. +Setting this to a non-zero number may allow large applications such as +the X server to start before disk I/O bandwidth is monopolized by fsck. .It Va extra_netfs_types .Pq Vt str If set to something other than
msg48419/pgp00000.pgp
Description: PGP signature