lkml.org 
[lkml]   [1998]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRE: FS idea

On 16-Sep-98 David Feuer wrote:
> I think it would be nice to add in a kernel feature to allow the kernel
> to interface with userspace programs to provide fs support for certain
> filesystems. There are three kinds of filesystems that (in my opinion)
> this would be really nice for.
>
> 1) Uncommon FS's that are not common enough to deserve kernel support
> 2) compressed or encrypted filesystems
> 3) fake filesystems. Things like tarfiles used as filesystems, punched
> card machines used as filesystems ;), and other things like that
>
> The kind of hook I'm looking for would probably fit best in the loopback
> driver, in my opinion.
>
> </asbestos suit>
>
> Let me know what you think.

Heh. I wrote userfs about 4 years ago for exactly these reasons, and had a
pretty much identical list to yours in the readme file.

I don't support userfs these days, but it apparently still works on 2.0
kernels, but I don't think anyone's done the work to make it work with all the
2.1 stuff. Personally I don't think its worth it; the idea is sound, but my
prototype implementation is seriously lacking in elegance.

J
BTW, the attached readme is full of nroff formatting - view it with less.






U Us se er rf fs s - - F Fi il le es sy ys st te em ms s I Im mp pl le em m
e en nt te ed d a as s U Us se er r P Pr ro oc ce es ss se es s
_ J_ e_ r_ e_ m_ y _ F_ i_ t_ z_ h_ a_ r_ d_ i_ n_ g_ e _ <_ j_ e_ r_
e_ m_ y_ @_ s_ w_ ._ o_ z_ ._ a_ u_ >
Softway Pty. Ltd.



_ 1_ . _ I_ n_ t_ r_ o_ d_ u_ c_ t_ i_ o_ n

Userfs is a mechanism by which normal user processes can be
a Linux filesystem. 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 development.

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

$ mkdir /ftp/tsx-11.mit.edu
$ cd /ftp/tsx-11.mit.edu/pub/linux
$ cp README $HOME

Or mail?




















- 2 -



$ cd /mail
$ ls
001.sbg@socs.uts.edu.au
002.Leroy
003.tlukka@vinkku.hut.fi
004.Davor_Jadrijevic
$ cat */From
From: sbg@socs.uts.edu.au
From: leroy@socs.uts.edu.au (Leroy)
From: tlukka@vinkku.hut.fi
From: davor%emard.uucp@ds5000.irb.hr (Davor Jadrijevic)
$ cat */Subject
Subject: More things
Subject: (none)
Subject: That userfs thing
Subject: mailfs again
$

You get the idea.

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:4.291 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site