lkml.org 
[lkml]   [1998]   [Sep]   [16]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 15 Sep 1998 22:18:46 -0700 (PDT)
FromJeremy Fitzhardinge <>
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    [from the cache]
©2003-2008