4 个版本
0.0.4 | 2019 年 10 月 11 日 |
---|---|
0.0.3 | 2019 年 10 月 10 日 |
0.0.2 | 2019 年 10 月 10 日 |
0.0.1 | 2019 年 10 月 10 日 |
#1109 在 文件系统
24KB
610 行
btfs
使用 b-trees 的基本简单内存文件系统。
FUSE 示例
设置 FUSE
$ apt-get install fuse libfuse-dev
# Make sure fuse.conf has allow_root and user_allow_other set:
$ cat /etc/fuse.conf
allow_root
user_allow_other
测试系统
$ RUST_LOG=trace cargo run --bin fuse /tmp/test
卸载
$ umount /tmp/test
使用 filebench 进行测试
安装 filebench
$ git clone https://github.com/filebench/filebench.git
$ libtoolize
$ aclocal
$ autoheader
$ automake --add-missing
$ autoconf
$ ./configure
$ make
运行基准测试
$ mkdir -p /tmp/fbtest
$ cargo run --release --bin fuse -- /tmp/fbtest/ &
$ echo 0 > /proc/sys/kernel/randomize_va_space
$ ./filebench -f randomrw.f
$ umount /tmp/fbtest
lib.rs
:
使用 Rust 和 BTreeMap 数据结构编写的简单内存文件系统的实现。
此代码受 https://github.com/bparli/bpfs 启发,并修改为与节点复制一起用于基准测试。
依赖项
~3–11MB
~114K SLoC