aboutsummaryrefslogtreecommitdiff
path: root/etc/rc.d/tmp
diff options
context:
space:
mode:
authorDoug Barton <dougb@FreeBSD.org>2011-04-25 06:03:22 +0000
committerDoug Barton <dougb@FreeBSD.org>2011-04-25 06:03:22 +0000
commitfb91147e086650b057a03127ea1448c502681722 (patch)
treecbadea11c766a3d66295c6d142be2c6d5b428fe4 /etc/rc.d/tmp
parentd63de2e297651816028f825ce9dc61b5aed6a586 (diff)
downloadsrc-fb91147e086650b057a03127ea1448c502681722.tar.gz
src-fb91147e086650b057a03127ea1448c502681722.zip
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.
Notes
Notes: svn path=/head/; revision=221007
Diffstat (limited to 'etc/rc.d/tmp')
-rwxr-xr-xetc/rc.d/tmp26
1 files changed, 15 insertions, 11 deletions
diff --git a/etc/rc.d/tmp b/etc/rc.d/tmp
index 282709e5e351..dfb439e21706 100755
--- a/etc/rc.d/tmp
+++ b/etc/rc.d/tmp
@@ -37,20 +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])
- if ! /bin/df /tmp | grep -q "^/dev/md[0-9]"; then
- mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
- chmod 01777 /tmp
- fi
- ;;
-[Nn][Oo])
- ;;
-*)
+[Aa][Uu][Tt][Oo])
if _tmpdir=$(mktemp -d -q /tmp/.diskless.XXXXXX); then
rmdir ${_tmpdir}
else
@@ -59,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