Cross-platform 9p file server implemented in Rust/Tokio.
The work is based on:
- https://github.com/pfpacket/rust-9p
- https://github.com/golemfactory/ya-vm-file-server
Author of original implementation: Ryo Munakata & scx1332
The purpose of forking this repository was to expand its capabilities and provide real-time maintenance. Therefore, we expanded on the basis of the original repository:
- Support for macOS
- More Support for 9P Protocol (refer to https://github.com/chaos/diod/blob/master/protocol.md)
- Fixes for implementation problem
To compile only library part:
cargo build
To compile binary:
cargo build --bin R9-fileserver --features="build-binary debug-msg"
Build docker:
docker build . -t R9-fileserver
Running docker tests
docker-compose up
Tests are half-automatic. First you need to prepare an environment:
-
Launch 9p server:
RUST_LOG=debug cargo run --features="build-binary" -- --mount-point tests/9p_mnt_point
-
On other shell mount to the server:
cd tests sudo mount -t 9p -o version=9p2000.L,trans=tcp,debug=0x04,port=7878,uname=testuser 127.0.0.1 ./mnt_tests
-
Launch tests using nightly build:
cargo +nightly test
You should be able to see logging on the server side while tests are running.
Keeping original implementation licence BSD-3