File system software???

Chris Pressey <>
Fri Jun 28 03:52:38 CEST 2002


On Thu, 27 Jun 2002 10:53:56 +0200 (CEST)
Joe Armstrong <> wrote:

> 
> This isn't an Erlang question but ...
> 
> Does anybody know of some software I can use for the following:
> 
>   - I want to create a simple file system *within* a bigger file
>   - I want this to be fast and in C
> 
> I'd really like just the C file manipulation routines fopen/fclose
> etc. to create virtual files *within* a single big file.
> 
>   I would like applications to be distriubuted with a single data file
> not lots of silly little ones.
>   
>  The format of the big file is irrelevant (could be ext2, or zip or
>  anything)

I'm confused!  Wouldn't the time taken to manipulate files in a compressed
archive completely overshadow any time savings gained by it being in C? 
Write it in Erlang!  It's so much cooler!  :)

I tried writing a toy virtual filesystem in Erlang once, when I was bored
- it didn't work very well because a) I have almost no experience with
filesystem implementations and b) it's not the sort of thing that Erlang
is immediately suited to, although I'm sure a simple one could easily be
done by someone who's familiar enough with how filesystems work.

While on the subject of filesystems, I have had two ideas on how life
could be made easier in small ways when Erlang deals with the filesystem.

One is that it would be really nice if there was a way to establish a
filesystem-level file lock.  If there is, I can't find it.

The other is that is would be really nice to be able to subscribe to
filesystem events, getting a message whenever a file is created, updated,
renamed, etc.

These features may not exist on all systems, but on the systems on which
they do exist, they would be a great boon.  They would, in essence, allow
arbitrary programs to communicate with an Erlang program in soft real
time, or if not that then at least in an event-driven way, by creating
files.

Basically I wish I could do the same things with the filesystem that I can
do with mnesia  :)

-Chris



More information about the erlang-questions mailing list