Announcing USERFS ALPHA version 0.4

Announcing USERFS ALPHA version 0.4

Post by Jeremy Fitzhardin » Sun, 17 Apr 1994 06:16:32

                 Announcing: USERFS ALPHA version 0.4

Userfs is a mechanism by which normal user processes can be a Linux
filesystem, similar to Plan 9 filesystems or The Hurd's translators.
There are many uses for this, including:

Prototype filesystems

Prototype new block allocation algorithms in a user process and debug
with gdb before going into the compile-crash-reboot cycle of kernel

Infrequent use filesystems

You want to mount "FooBaz 0X" filesystems under Linux, but you don't
want it that often, and you don't need it to be maximum speed.  Rather
than trying to get the kernel itself to understand, or write
specialised tools, write a filesystem program.

Add capabilities to existing filesystems

Want compression, encryption, ACLs?  Have a process to mirror an
existing file tree, but with your own extentions and semantics.

Completely virtual filesystems and new interfaces

Add a filesystem-type interface to an existing mechanism, or a
filesystem interface as a new way of representing data.  Sick of FTP?
How about:

        $ cd /ftp/
        $ cp README $HOME

Or mail?

        $ cd /mail
        $ ls
        001 002 003
        $ cat */From

        $ cat */Subject
        More things
        That userfs thing

You get the idea.

This verion is a loadable kernel module which only needs a very small
kernel patch.  The patch supplied is against Linux 1.1.4, but should
work with other patch levels of 1.1, and would need a small amount of
modification for Linux 1.0.

The release comes with two example filesystems: one is a simple "home
directory finder", and the other is "arcfs", a filesystem which allows
a compressed tar file to be mounted read only and perused with normal

It is available from:

Please send me mail if you find it interesting and intend doing
something with it.

** Last moment patch **

I just noticed a minor build problem.  Before trying to build it, do
the following:

cd userfs-0.4/kernel/linux
ln -s ../../genser/coder.h .

followed by the normal "make depend; make".

-- lsm entry

Title        = Userfs - user process filesystem
Version      = 0.4
Desc1        = Userfs allows normal user processes to implement a Linux filesystem.
Desc2        = Such filesystems may be mounted by normal users and are indistinguishable
Desc3        = from conventional filesystems.  Because they are normal processes they
Desc4        = have access to all the normal system facilities, allowing them to have
Desc5        = properties that a kernel resident filesystem cannot.
Author       = Jeremy Fitzhardinge

Maintainer   = Jeremy Fitzhardinge

Site1        =
Path1        = pub/linux/ALPHA/userfs
File1        = userfs-0.4.tar.gz
FileSize1    = 82483
Site2        =
Path2        =
File2        =
FileSize2    =
Site3        =
Path3        =
File3        =
FileSize3    =
Site4        =
Path4        =
File4        =
FileSize4    =
Required1    = Linux 1.1.0 or above
Required2    = modutils package
Required3    =
Required4    =
CopyPolicy1  = FSF GPL Version 2
CopyPolicy2  =
Keywords     = filesystem, process, kernel module
Comment1     =
Comment2     =
Comment3     =
Comment4     =
RelFiles1    =
RelFiles2    =
RelFiles3    =
Entered      = 15 April 1994
EnteredBy    = Jeremy Fitzhardinge



Be sure to include Keywords: and a short description of your software.


1. USERFS ALPHA version 0.4 uploaded to sunsite

I have uploaded userfs to  For the moment it will
be in the pub/Linux/Incoming directory, but I hope it will soon
appear in pub/Linux/ALPHA/userfs.

See my announcement here from late last week for more details.

        Jeremy Fitzhardinge


Be sure to include Keywords: and a short description of your software.
Linux: Generous programmers from around the world all join forces to help
       you shoot yourself in the foot for free.

2. Question (i think) with termio settings

3. ANNOUNCE: Xrz3D version 0.4 available

4. (*Help*) How do you read data from serial port on Sun (*Help*)

5. ANNOUNCE: Interrupt driven printer driver version 0.4

6. need to set up a proxy/firewall....4 IP Masquerading

7. Announce: nntp ODBC driver release 0.4

8. Unix Quiz

9. Announce: skim 0.4 uploaded to sunsite (graphical off-line newsreader)

10. ANNOUNCE: xpdf 0.4 - a PDF viewer for X

11. Kernel data version 3, mount data version 1 (userfs)

12. ANNOUNCE: Muffin 0.4 - Filter the Web

13. ANNOUNCE: PicoBSD 0.4 is out!