#directory #read-write #devices #symlink #ext2 #symbolic-links

nightly no-std efs

An OS and architecture independent implementation of some Unix filesystems in Rust

7 releases

new 0.4.1 Nov 28, 2024
0.4.0 Aug 22, 2024
0.3.3 Aug 3, 2024
0.3.2 Apr 28, 2024
0.1.0 Sep 28, 2023

#1055 in Filesystem

GPL-3.0 license

455KB
7.5K SLoC

crates.io-badge license-badge

Extended fs

An OS and architecture independent implementation of some Unix filesystems in Rust.

[!WARNING] This crate is provided as is and do not offer any guaranty. It is still in early development so bugs are excepted to occur. If you find one, please report it at https://codeberg.org/RatCornu/efs/issues. In all cases, please do NOT use this library for important data, and make sure to backup your data before using it.

Features

  • no_std support (enabled by default).

  • General interface for UNIX filesystems.

  • read/write operations on regular files, directories and symbolic links.

  • Compatible with any device implementing Read + Write + Seek.

  • Fully documented.

Supported filesystems

  • ext2 without time support (creation/deletion/modification time of files)

If you want more supported filesystems, do not hesitate to open an issue on https://codeberg.org/RatCornu/efs/issues.

Usage

Add this to your Cargo.toml:

[dependencies]
efs = "0.4"

See examples on https://docs.rs/efs in src/lib.rs.

Features

  • ext2: enable the ext2 filesystem support

  • std: enable the features depending on the standard library

By default, only the ext2 feature is set.

License

Licensed under the GNU General Public License v3.0 which can be found here.

Dependencies

~4–5.5MB
~104K SLoC