Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Oct 2005 00:25:34 +0930
From:      Malcolm Kay <malcolm.kay@internode.on.net>
To:        stable@freebsd.org
Subject:   Re: 5.x: how do I get a *swap*-backed /tmp via rc.conf?
Message-ID:  <200510110025.34765.malcolm.kay@internode.on.net>
In-Reply-To: <20051010020729.GA56351@bunrab.catwhisker.org>
References:  <20051010020729.GA56351@bunrab.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 10 Oct 2005 11:37 am, David Wolfskill wrote:
> I made the somewhat unexpected discovery that in FreeeBSD
> 5-STABLE, if I use the "tmp*" variables in /etc/rc.conf to
> have an MFS /tmp created, it is apparentyly not swap-backed --
> as I expected from the part of the mdmfs man page that reads:
>
>      By default, mdmfs creates a swap-based (MD_SWAP) disk
> with soft-updates enabled and mounts it on mount-point.
>
> and a review of the way mdmfs is invoked by /etc/rc; rather,
> it appears to be malloc-backed.
>
> Here's what's in /etc/{defaults/,}rc.conf about it on one such
> machine:
>
> g1-59(5.4-S)[42] grep tmp /etc/{default*/,}rc.conf
> /etc/defaults/rc.conf:tmpmfs="AUTO"             # Set to YES
> to always create an mfs /tmp, NO to never
> /etc/defaults/rc.conf:tmpsize="20m"             # Size of mfs
> /tmp if created /etc/defaults/rc.conf:tmpmfs_flags="-S" #
> Extra mdmfs options for the mfs /tmp
> /etc/defaults/rc.conf:isdn_traceflags="-f /var/tmp/isdntrace0"
>  # Flags for isdntrace
> /etc/defaults/rc.conf:clear_tmp_enable="NO"     # Clear /tmp
> at startup. /etc/rc.conf:tmpmfs="YES"
> /etc/rc.conf:tmpsize="512m"
> /etc/rc.conf:tmpmfs_flags="-i4096"
> g1-59(5.4-S)[43]
>

These paramaters are used by the startup script /etc/rc.d/tmp
which calls mount_md defined in /etc/rc.subr which specifically
adds the _M (malloc) option to the mdmfs call.

You'll need to invoke your own script (or; not so nice;
edit rc.subr).

Malcolm

> And:
>
> g1-59(5.4-S)[43] sudo mdconfig -l -u md0
> md0     malloc  524288 KBytes
> g1-59(5.4-S)[44]
>
> Oh, for some sense of what we're working with:
>
> g1-59(5.4-S)[44] uname -a
> FreeBSD g1-59.catwhisker.org. 5.4-STABLE FreeBSD 5.4-STABLE
> #6: Sun Oct  9 06:24:17 PDT 2005    
> root@g1-59.catwhisker.org.:/usr/obj/usr/src/sys/LAPTOP  i386
> g1-59(5.4-S)[45]
>
> So, back to my original question:  how do I get a
> *swap*-backed /tmp?
>
> [The way I was alerted to the possibliity that my /tmp might
> not be swap-backed is that I was using a machine running
> 5-STABLE as a CVS server, in order to update /usr/ports on
> another machine.  That's why I have the -i4096 argument in
> there, BTW:  to double the number of inodes for when the CVS
> server starts consuming them with wild abandon as it builds an
> isomorphic hierarchy to /usr/ports in /tmp.  I think it only
> took me 3 panics before I poked around in the mailing list
> archives and noted scottl's comment about using a swap-backed
> /tmp instead, which got me wondering what backing store my
> /tmp was using.  I did look at /etc/rc.d/tmp, as well a
> /etc/rc.subr, but I'm still failing to see why I'm getting a
> malloc-backed /tmp.  FWIW, although the /tmp in question is an
> MFS in 4.x, I do this (use the box as a CVS server for
> /usr/ports) without  problem on 4.x.]
>
> (I don't need separate copies of any replies; I read -stable,
> so I set Reply-To as an appropriate hint.)
>
> Thanks.
>
> Peace,
> david



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510110025.34765.malcolm.kay>