fuse, nrfs: base generation on current time
fuse: partially support mknod
update to nightly 1.72.0 (5bd28f5ea 2023-06-28)
2^64 - 1
blocks
2^24
, maximum volume size is 2^88 - 2^24
bytes2^64 - 1
bytes2^59
After installation, run:
cargo +nightly b --release
To enable parallelism, enable the parallelism
feature:
cargo +nightly b --release --features parallelism
To create a NRFS filesystem, use the tool
binary:
fallocate -l 16M /tmp/nrfs.img
# Without files
./target/release/tool make /tmp/nrfs.img
# With files copied
./target/release/tool make /tmp/nrfs.img -d /directory/to/copy
To check if the filesystem was properly created, use tool dump /tmp/nrfs
:
$ ./target/release/tool dump /tmp/nrfs
rw-r--r-- 1000 1000 2022-08-26T19:32:38.940 513 f build.rs
rw-r--r-- 1000 1000 2022-09-19T20:24:05.331 1146 f Cargo.toml
rwxr-xr-x 1000 1000 2022-09-11T17:27:56.256 12 d src
rw-r--r-- 1000 1000 2022-09-03T05:12:44.828 2630 f main.rs
rwxr-xr-x 1000 1000 2022-09-02T19:20:37.660 5 d memory
rw-r--r-- 1000 1000 2022-09-02T19:20:37.660 394 f virtual.rs
rw-r--r-- 1000 1000 2022-07-08T12:07:42.376 684 f mod.rs
...
If you use a UNIX-based system (e.g. Linux, macOS, FreeBSD) you can use the FUSE driver.
Mount with:
mkdir /tmp/nrfs
./target/release/fuse /tmp/nrfs.img /tmp/nrfs
Unmount with:
fusermount -u /tmp/mnt