Whats new ?

15 Feb, 2008:
Request Tracker Import/Export

More Info...

14 Feb, 2008:
After 5 years it was time for a bit of a redesign

More Info...


arrow Software Patents
arrow Exim SPF and SRS
arrow BTS Website Code
arrow Virtual File System
arrow Porting kernel modules

Validate XHTML 1.0 Strict
and Css

title : Perl Virtual File System the beginings...

Started by Shevek VFS is a perl implementation of a virtual file system. Currently this project is still in its infancy, as such there is little code available. A dynamic copy of my code is available at this code is likely to change with little or no warning or mention and is available for information only once I've got to a stage where it might be of use I'll start posting tarballs.

Code that Shevek has approved can be found in CPAN under the package name of VFS.


title : A What? Why?

The concept of a vitual file system is not new, the Linux (and probably Unix as a whole) operating system, maps a number of seperate filesystems onto 1 virtual filesystem tree. Unlike under Windows where you have a seperate "drive" for each filesystem. This means that the distribution of filesystems can be totally transparent to the end users, and can change without the end users needing to see a thing.

The driver for the MUD that Shevek runs is in the process of being ported to Perl, in the process the idea of abstracting the filesystem such that parts of it could be stored in an SVN repository, while others on a plain Unix filesystem, and possibly yet more in an SQL database. To do this without some magic kernel foo, required a Perl abstraction of a virtual file system.

As far as I can tell there is currently no such abstraction that isn't heavily integrated into other projects.

One advantage of such a system, and the main reason I have become involved in the project again is that is becomes possible to superimpose a superiour privilege system over the top of the existing one. For a content managed website this means that the overall security of the site can be maintained, minimal privileges are required by the webserver, and strange things like SQL based filesystems can be used. Virtual users can also create, delete and modify files without needing to exist in the land of the web server it's self, which we often do not control.

Another advantage, and the reason why Shevek is interested in the system, is that the concept of a version controlled filesystem becomes possible. Anarres, being a live site does not want to be testing new code directly on the live site, fine so we want a development site too. Well, we don't want to be maintaining seperate copies of the user information, this is a PITA, and we don't really and to be doing really scary stuff involving User Mode Linux. A Perl VFS provides a viable alternative method for including a version controlled filesystem, and a unix filesystem within a single Filesystem tree. Again, it also allows a privilege system to be totally abstracted from the underlying filesystem, we can create users who exist in the MUD, and hold privileges on the MUD but don't exist in any of the underlying filesystems.