Messages in this thread | | | Date | Tue, 15 Sep 1998 22:18:46 -0700 (PDT) | From | Jeremy Fitzhardinge <> | Subject | RE: 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.
| |