5.x: how do I get a *swap*-backed /tmp via rc.conf?

Sean Winn sean at gothic.net.au
Mon Oct 10 08:09:18 PDT 2005



Lowell Gilbert wrote:
> David Wolfskill <david at catwhisker.org> writes:
> 
> 
>>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] 
>>
>>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 at 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.]
> 
> 
> 
> It's hard-coded into rc_subr.  
> Changing it to a default parameter and overriding it in rc.conf would
> probably be easy to get committed.  

Probably really easy, seeing it's already done for RELENG_6 after being 
implemented in CURRENT.

http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/defaults/rc.conf?rev=1.259&content-type=text/x-cvsweb-markup


> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
> 


More information about the freebsd-stable mailing list