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

Ben Kelly bkelly at vadev.org
Mon Oct 10 12:33:38 PDT 2005


On Monday 10 October 2005 10:55 am, Malcolm Kay wrote:
> 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).

Is there a reason not to use the ramdisk_* knobs?  This seems to work for me:

ramdisk_units="10 11"

# tmp
ramdisk_10_config="-t swap -s 256m"
ramdisk_10_perms="1777"

# mimedefang spool
ramdisk_11_config="-t swap -s 192m"
ramdisk_11_owner="mailnull"
ramdisk_11_perms="700"


>
> 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 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.]
> >
> > (I don't need separate copies of any replies; I read -stable,
> > so I set Reply-To as an appropriate hint.)
> >
> > Thanks.
> >
> > Peace,
> > david
>
> _______________________________________________
> 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