Return to BSD News archive
Newsgroups: comp.os.386bsd.development Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!gatech!news.byu.edu!ns.novell.com!gateway.univel.com!fcom.cc.utah.edu!cs.weber.edu!terry From: terry@cs.weber.edu (A Wizard of Earth C) Subject: Re: Questions about the file system! Message-ID: <1993Mar23.023754.2570@fcom.cc.utah.edu> Sender: news@fcom.cc.utah.edu Organization: Weber State University (Ogden, UT) References: <1oj38cINN9em@harpo.uccs.edu> Date: Tue, 23 Mar 93 02:37:54 GMT Lines: 60 In article <1oj38cINN9em@harpo.uccs.edu> jmward@elbert (Joel M. Ward) writes: > What exactly is involved in writing a new filesystem? See, i am >interested in writing a new fs that does on-the-fly data compresion. >HOw's that for a lofty goal? > > Now if only i knew where to start.... Can anyone point me to any >docs or anything?? And how much disk space do i need to compile a new fs? Writing a new file system is fairly easy. Understanding it in the first place is the difficult thing, since the documentation is basically the source code and usenix papers. You might try: Beta document on writing file system types from Dell (requires SVR4 source license): UNIX (R) System V/386 Release 4 Version 3 Programmer's Guide: Writing File System Types (From AT&T) You may also want to look into: Writing a Device Driver for AIX Version 3.2 IBM Publication Number GG24-3629-01 Chapter 9. Writing a Virtual File System (Includes sample code on 3 1/2 disk for "demofs") I have a rough manuscript done on this subject from a portability/SVR4 perspective, but it's far from distributable. If you are serious about the compression, you may want to wait for 0.2; I hear it uses much of the code that was used by BSD 4.4 (John Heidemann's work at UCLA), so it is based on a stackable vnode interface. This means the bottom layer has a strict definition (not true of the current VFS interface) and it supports user space developement of code to go into the kernel through a kernel/user connection module. The disk space needed to *compile* your new fs is miniscule -- maybe another 3 meg on top of what you need to rebuild kernels in the first place; to run it, you will need to use a floppy or you will need to reserve a partition for the new fs, your choice. Good Luck! Terry Lambert terry@icarus.weber.edu terry_lambert@novell.com --- Any opinions in this posting are my own and not those of my present or previous employers. -- ------------------------------------------------------------------------------- "I have an 8 user poetic license" - me Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial -------------------------------------------------------------------------------