svn commit: r221224 - stable/7/etc/rc.d

Doug Barton dougb at FreeBSD.org
Fri Apr 29 20:55:16 UTC 2011


Author: dougb
Date: Fri Apr 29 20:55:15 2011
New Revision: 221224
URL: http://svn.freebsd.org/changeset/base/221224

Log:
  MFC r192246:
  
  do not create and mount new file systems on top of the old ones on every
  invocation of this script once we already have one
  (in case tmpmfs="YES").
  
  MFC r221007:
  
  Create a function for the code from r192246 so that it can be used both
  times mount is called.
  
  Limit the automatic behavior to when AUTO is specified (as it is in
  etc/defaults/rc.conf) and for everything else take advantage of all
  of the goodness in checkyesno.

Modified:
  stable/7/etc/rc.d/tmp
Directory Properties:
  stable/7/etc/   (props changed)

Modified: stable/7/etc/rc.d/tmp
==============================================================================
--- stable/7/etc/rc.d/tmp	Fri Apr 29 20:46:09 2011	(r221223)
+++ stable/7/etc/rc.d/tmp	Fri Apr 29 20:55:15 2011	(r221224)
@@ -37,18 +37,20 @@ stop_cmd=':'
 
 load_rc_config $name
 
+mount_tmpmfs ()
+{
+	if ! /bin/df /tmp | grep -q "^/dev/md[0-9]"; then
+		mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
+		chmod 01777 /tmp
+	fi
+}
+
 # If we do not have a writable /tmp, create a memory
 # filesystem for /tmp.  If /tmp is a symlink (e.g. to /var/tmp,
 # then it should already be writable).
 #
 case "${tmpmfs}" in
-[Yy][Ee][Ss])
-	mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
-	chmod 01777 /tmp
-	;;
-[Nn][Oo])
-	;;
-*)
+[Aa][Uu][Tt][Oo])
 	if _tmpdir=$(mktemp -d -q /tmp/.diskless.XXXXXX); then
 		rmdir ${_tmpdir}
 	else
@@ -57,9 +59,13 @@ case "${tmpmfs}" in
 			echo "dropping into shell, ^D to continue anyway."
 			/bin/sh
 		else
-			mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
-			chmod 01777 /tmp
+			mount_tmpmfs
 		fi
 	fi
 	;;
+*)
+	if checkyesno tmpmfs; then
+		mount_tmpmfs
+	fi
+	;;
 esac


More information about the svn-src-all mailing list