#virtual #virtual-memory #memory #vfs

virtual-filesystem

A virtual filesystem implemented in Rust

6 releases

0.2.1 May 5, 2024
0.2.0 May 5, 2024
0.1.3 May 5, 2024
0.1.2 Apr 15, 2024
0.1.1 Jan 26, 2024

#810 in Filesystem

Custom license

81KB
1.5K SLoC

Virtual Filesystems for Rust

This crate defines and implements various virtual filesystems for Rust. It's loosely inspired by the vfs crate with a focus on conformity with std.

virtual-fs has the following FileSystems implemented out of the box:

  • PhysicalFS: A read-write physical filesystem mounted at a directory. Path traversal outside the root is permitted.
  • SandboxedPhysicalFS: A read-write physical filesystem that guards against traversal through backtracking and symbolic link traversal.
  • MemoryFS: A read-write in-memory filesystem.
  • RocFS: A "read-only collection" filesystem. This filesystem is similar to OverlayFS, but is read-only. This filesystem searches filesystems in mount-order for files, allowing multiple filesystems to be mounted at once.
  • MountableFS: A read-write filesystem that supports mounting other filesystems at given paths.
  • ZipFS: A read-only filesystem that mounts a ZIP archive, backed by the zip crate.
  • TarFS A read-only filesystem that mounts a Tarball, backed by the tar crate.

Dependencies

~8–17MB
~245K SLoC