*BSD News Article 13076


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
-------------------------------------------------------------------------------