NFS Module完成

This commit is contained in:
Warren
2026-06-10 22:47:34 +08:00
parent 06f18d9ca1
commit 9b2d75935e
8 changed files with 520 additions and 100 deletions

39
markbase-nfs/src/main.rs Normal file
View File

@@ -0,0 +1,39 @@
use clap::Parser;
use markbase_nfs::nfs::run_nfs_server;
use std::path::PathBuf;
#[derive(Parser)]
#[command(name = "markbase-nfs")]
#[command(about = "MarkBase NFS Server", long_about = None)]
struct Cli {
/// User ID (database name)
#[arg(short, long)]
user: String,
/// Database path
#[arg(short, long, default_value = "data/users")]
data_dir: String,
/// NFS server port
#[arg(short, long, default_value_t = 11111)]
port: u16,
}
fn main() -> anyhow::Result<()> {
let cli = Cli::parse();
let db_path = PathBuf::from(&cli.data_dir).join(format!("{}.sqlite", cli.user));
if !db_path.exists() {
eprintln!("Database not found: {}", db_path.display());
eprintln!("Please create database first using markbase-core");
return Err(anyhow::anyhow!("Database not found"));
}
eprintln!("Starting MarkBase NFS server...");
eprintln!("User: {}", cli.user);
eprintln!("Database: {}", db_path.display());
eprintln!("Port: {}", cli.port);
run_nfs_server(cli.user, db_path, cli.port)
}