[Mono-dev] Announce: Mono.Fuse 0.4.0

Jonathan Pryor jonpryor at vt.edu
Wed Sep 20 19:25:08 EDT 2006


Mono.Fuse is a C# binding for FUSE. It permits writing userspace
filesystems on Linux.

This release contains a few major changes to the public API for
consistency and clarification purposes, the biggest of which is renaming
Mono.Fuse.FileSystemEntry to Mono.Fuse.DirectoryEntry (which of course
required changing Mono.Fuse.FileSystem.OnReadDirectory(), again!). Some
of the Mono.Fuse.FileSystem properties were also renamed for
consistency.

I'm still making no promises for API stability. The FileSystem virtual
methods should be fairly stable, but the properties may continue to be
flexible as I document them more fully (as I'm not entirely sure what
the ramifications are for some of them, such as
FileSystem.ReaddirSetsInode vs. FileSystem.SetsInode, and answering
these questions will require reading the FUSE source).

API Changes from the previous release:

      * FileSystem: 
              * Now abstract. There are no abstract methods, but it's
                pointless to create instances of this type, as it
                wouldn't do anything. 
              * Make constructors protected (to emphasize the above).
              * Rename FileSystemName property to Name.
              * Rename ImmediateRemoval property to
                ImmediatePathRemoval.
              * Rename DirectIO property to EnableDirectIO.
              * Rename Umask property to DefaultUmask.
              * Add EnableKernelCache property.
              * Rename UserId property to DefaultUserId.
              * Rename GroupId property to DefaultGroupId.
              * Rename EntryTimeout property to PathTimeout.
              * Rename DeletedNameTimeout property to
                DeletedPathTimeout.
              * Change types of Timeout properties to double from int;
                changes PathTimeout, DeletedPathTimeout,
                AttributeTimeout.
              * Rename OnCloseDirectory() method to OnReleaseDirectory()
                (for consistency with OnReleaseHandle()).
              * Rename Exit() method to Stop().
              * Rename parameters of many methods to match the method
                names -- e.g. OnReadSymbolicLink() takes a link
                parameter instead of path, OnOpenDirectory() takes a
                directory parameter instead of path, etc. 
      * FileSystemEntry: 
              * Renamed to DirectoryEntry.
              * Renamed Path property to Name.
              * Add argument validation to DirectoryEntry constructor.
              * Remove implicit conversion to string (as constructor may
                generate exceptions).
      * FileSystemOperationContext: 
              * Make sealed (this should only be created internally).
              * Constructor is now internal.
      * OpenedFileInfo: 
              * Make sealed (this should only be created internally).
              * Constructor now internal.
              * Remove OpenReadOnly, OpenWriteOnly, OpenReadWrite
                properties.
              * Add OpenAccess property.

Download
Mono.Fuse 0.4.0 is available from
http://www.jprl.com/Projects/mono-fuse/mono-fuse-0.4.0.tar.gz. It can
built with Mono 1.1.13 and later.

GIT Repository
A GIT repository for Mono.Fuse is at
http://www.jprl.com/Projects/mono-fuse.git


Any and all feedback is appreciated.

Thanks,
 - Jon





More information about the Mono-devel-list mailing list