ext2fuse is an implementation of the ext2 filesystem in user space, using the FUSE library. Uses might include as a base for filesystem projects, for FUSE or e2fsprogs testing, and for situations when a kernel mode filesystem is not appropriate.
· libext2, which is included in e2fsprogs
· fuse kernel module, which is available in kernel version 2.6.11 and later
· fuse user-space tools
ext2fuse -n devicename -m mountpoint [fuse common options]...
-o allow_other allow access to other users
-o allow_root allow access to root
-o nonempty allow mounts over non-empty file/dir
-o default_permissions enable permission checking by kernel
-o fsname=NAME set filesystem name
-o large_read issue large read requests (2.4 only)
-o max_read=N set maximum size of read requests
-o max_write=N set maximum size of write requests
-o max_readahead=N set maximum readahead
-o async_read perform reads asynchronously (default)
-o sync_read perform reads synchronously
What's New in This Release:
Unexpected features supported:
· Secure deletion. Currently is a compile time option, but could easily be made a run-time flag.
Features currently not supported:
· Proper sparse write implementation - atm we just write 0's to the file
· Large file support (untested, may happen to work, unlikely)
· Extended attributes
· Named pipes, FIFOs and device files
· On fsck'ing, for some reason symlinks get marked as invalid inodes.
They work fine, though. Maybe because I have not implemented fast symlinks...?
· Dir-clobbering bug: rename()ing a dir to the name of an existing empty dir does complete succesfully, but seems to lead in the next file that uses the deleted dir's blocks being strangely corrupted
· fsx (Apple filesystem exerciser) shows up bugs
Seems to be some probs with truncate, possibly in combo with sparse writes.
Things to be aware of:
· Permissions have undergone only really _basic_ testing, and thus probably don't work properly.