[Mono-list] ANN: Linux filesystems in C# (FUSE wrapper)

Valient Gough vgough@pobox.com
Thu May 12 23:37:09 EDT 2005


Announcement for SULF - a C# interface to FUSE (fuse.sf.net) which
allows the creation of Linux filesystems in C#.  Why?  Because I
could.  It has received major updates over the last few weeks and has
the beginnings of high-level interfaces, as well as pass-through
wrappers to make virtual filesystems easier to implement.

The project documentation and download links are available at
http://pobox.com/~vgough/sulf

An example filesystem (using high-level map interface - see
examples/HelloFS.cs):

----

Sulf.MapFS root =3D new Sulf.MapFS();
// populate the directory with some files -=20
// and a tmp directory which is really just a wrapper for /var/tmp
root["hello"] =3D "Hello world!\n";
root["README"] =3D
    "This file comes from the 'hello' filesystem example.\n"
    +"It is part of the SULF C# project which builds on FUSE.\n"
    +"For more information, see http://pobox.com/~vgough/sulf \n"
    +"\n"
    +"Also, try \"cat hello\"\n";
root["tmp"] =3D new PassthruDirNode( "tmp", "/var/tmp" );

// mount the filesystem in /tmp/hellofs
Channel channel =3D Sulf.Mounter.Mount("HelloFS", root, "/tmp/hellofs");
channel.EventLoop();

----

> ls /tmp/hellofs
hello  README  tmp

> cat /tmp/hellofs/README
This file comes from the 'hello' filesystem example.
It is part of the SULF C# project which builds on FUSE.
For more information, see http://pobox.com/~vgough/sulf

Also, try "cat hello"

> ls -lad /tmp/hellofs/tmp
drwxrwxrwt  9 root root 1584 2005-05-12 23:49 /tmp/hellofs/tmp
> ls -lad /var/tmp
drwxrwxrwt  9 root root 1584 2005-05-12 23:49 /var/tmp


regards,
Valient



More information about the Mono-list mailing list