A TMPFS Implementation for FreeBSD

Rohit Jalan rohitj at purpe.com
Sat Feb 25 12:38:50 PST 2006


Hi,

I have ported TMPFS from NetBSD. The first beta can be found at

	http://download.purpe.com/files/tmpfs-BETA_01.tgz

Kindly refer to the README file for usage details and the 
NOTES file for issues, bugs and todo-s.

The NetBSD man pages can located at

	http://netbsd.gw.com/cgi-bin/man-cgi?tmpfs++NetBSD-current
	http://netbsd.gw.com/cgi-bin/man-cgi?pool++NetBSD-current


Under NetBSD TMPFS uses the POOL subsystem for its metadata storage,
POOL has been ported but presently it is private. The NetBSD POOL 
subsystem is not module based and was not designed to handle 
de-initialization hence at the moment one cannot reload tmpfs.ko 
without rebooting. This deficiency will be rectified shortly.

At present the ported POOL subsystem uses MALLOC for page allocation,
in the future it will (like its NetBSD counterpart) cache VM addresses
and map physical pages on demand removing its reliance on the MALLOC
allocator and making it standalone. I am also thinking of implementing
a version of TMPFS that would use the UMA zone allocator instead of POOL.

*IMPORTANT*

I have yet to perform a security audit of the TMPFS code vis-a-vis
the UFS2 code hence this port may contains security bugs and should
not be used in a sensitive environment.

This port has NOT been tested with SMP.

rohit --


More information about the freebsd-hackers mailing list