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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to