misc/182035: /etc/rc.d/tmp can't create tmpmfs on root-mfs
Harald Schmalzbauer
freebsd at omnilan.de
Thu Sep 12 11:20:01 UTC 2013
>Number: 182035
>Category: misc
>Synopsis: /etc/rc.d/tmp can't create tmpmfs on root-mfs
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Sep 12 11:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Harald Schmalzbauer
>Release: FreeBSD 9.2-RC1 amd64
>Organization:
OmniLAN
>Environment:
System: FreeBSD preed.labshop.wdn.omnilan.net 9.2-RC1 FreeBSD 9.2-RC1 #0 r254055: Wed Aug 7 17:18:19 CEST 2013 admin at preed.labshop.wdn.omnilan.net:/usr/local/share/deploy-tools/obj-amd64/usr/local/share/deploy-tools/RELENG_9_2/src/sys/GENERIC amd64
>Description:
On startup, /etc/rc.d/tmp checks if /tmp is writable, and if not,
creates a memory-disk filesystem for /tmp.
Before actually creating, there's an additional check to see if /tmp is
already a memory-disk, which returns false positive, if the
root filesystem is a memory-disk!
>How-To-Repeat:
Boot any setup with root_mfs read-only, and leave tmpmfs="AUTO".
/etc/rc.d/tmp will recognize that /tmp is not writable, but refuses to create
the memorydisk, because 'df' with '/tmp' and 'md[0-9]' as regex returns
false positive.
>Fix:
--- src/etc/rc.d/tmp.orig 2013-09-11 20:43:25.000000000 +0200
+++ src/etc/rc.d/tmp 2013-09-11 20:48:46.000000000 +0200
@@ -39,7 +39,7 @@
mount_tmpmfs ()
{
- if ! /bin/df /tmp | grep -q "^/dev/md[0-9]"; then
+ if ! /sbin/mount | grep -q "^/dev/md[0-9].\+/tmp[[:blank:]]"; then
mount_md ${tmpsize} /tmp "${tmpmfs_flags}"
chmod 01777 /tmp
fi
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list