From owner-freebsd-hackers@FreeBSD.ORG Sat Feb 25 20:38:49 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8C2B16A420 for ; Sat, 25 Feb 2006 20:38:49 +0000 (GMT) (envelope-from rohitj@purpe.com) Received: from fed1rmmtao01.cox.net (fed1rmmtao01.cox.net [68.230.241.38]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D76443D48 for ; Sat, 25 Feb 2006 20:38:49 +0000 (GMT) (envelope-from rohitj@purpe.com) Received: from serv01.n1.purpe.com ([68.0.152.17]) by fed1rmmtao01.cox.net (InterMail vM.6.01.05.02 201-2131-123-102-20050715) with ESMTP id <20060225203733.ZSRE15695.fed1rmmtao01.cox.net@serv01.n1.purpe.com>; Sat, 25 Feb 2006 15:37:33 -0500 Received: from desk01.n2.purpe.com (desk01.n2.purpe.com [192.168.19.1]) by serv01.n1.purpe.com (8.12.10/8.12.10) with ESMTP id k1PKcjcU013219 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 25 Feb 2006 13:38:47 -0700 (MST) (envelope-from rohitj@desk01.n2.purpe.com) Received: from desk01.n2.purpe.com (localhost [127.0.0.1]) by desk01.n2.purpe.com (8.13.4/8.13.4) with ESMTP id k1PKcZjl000851; Sun, 26 Feb 2006 02:08:35 +0530 (IST) (envelope-from rohitj@desk01.n2.purpe.com) Received: (from rohitj@localhost) by desk01.n2.purpe.com (8.13.4/8.13.4/Submit) id k1PKcYYW000850; Sun, 26 Feb 2006 02:08:34 +0530 (IST) (envelope-from rohitj) Date: Sun, 26 Feb 2006 02:08:34 +0530 From: Rohit Jalan To: freebsd-hackers@freebsd.org Message-ID: <20060225203834.GA838@desk01.n2.purpe.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-Archived: msg.AvC32vC5t@serv01.n1.purpe.com Subject: A TMPFS Implementation for FreeBSD X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Feb 2006 20:38:50 -0000 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 --