Mono.Fuse 0.4.0 - Jonathan Pryor's web log
« Naming, Mono.Fuse Documentation | Main | Sarah Pictures »
Mono.Fuse 0.4.0
Mono.Fuse is a C# binding for FUSE. This is the fourth major release
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:
See the commit diff for specifics.
- 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.
blog comments powered by Disqus