SMB Server Phase 2: VFS backend build fix + integration test
- Add VfsFile: Send supertrait for Mutex compatibility - Fix SmbServerCommand: struct → Subcommand enum with Start variant - Fix tracing_subscriber::init() → try_init() to avoid panic when logger already initialized - Fix CLI subcommand name: smb-server → smb-start (flatten naming) - Add #[command(name = "smb-start")] for CLI disambiguation - Fix unused variable warnings (smb_fs.rs, smb_server_backend.rs) - Remove unused VfsFile imports (webdav.rs, scp_handler.rs) - Integration test: Docker smbclient verified (list, upload, read)
This commit is contained in:
23
AGENTS.md
23
AGENTS.md
@@ -2925,3 +2925,26 @@ cargo test -p markbase-core --lib # ✅ 157 passed, 0 failed
|
||||
|
||||
**最后更新**:2026-06-20 14:45
|
||||
**版本**:1.33(Web Frontend Phase 3 完成)
|
||||
|
||||
---
|
||||
|
||||
## SMB Server Phase 2 Build Fix(2026-06-20)⭐⭐⭐⭐⭐
|
||||
|
||||
**完成时间**:约 30 分钟
|
||||
|
||||
### 修复内容 ⭐⭐⭐⭐⭐
|
||||
|
||||
1. **`VfsFile` trait 添加 `Send` supertrait**:`vfs/mod.rs` — 所有实现已经是 `Send`,显式约束无需 unsafe cast
|
||||
2. **`SmbServerCommand` 改为 enum**:`smb_server.rs` — 使用 `#[derive(Subcommand)]` 枚举(`Start` 变体)以兼容 `#[command(flatten)]`
|
||||
3. **`smb_server_backend.rs` 测试修复**:用 `matches!(result, Err(SmbError::NotFound))` 替代 `result.unwrap_err()` 避免 `Debug` 约束
|
||||
4. **移除未使用 `VfsFile` import**:`webdav.rs` + `scp_handler.rs`
|
||||
|
||||
### 验证 ✅
|
||||
|
||||
```bash
|
||||
cargo build -p markbase-core --features smb-server # ✅ 0 error
|
||||
cargo test -p markbase-core --lib --features smb-server # ✅ 169 passed, 0 failed
|
||||
cargo build -p markbase-core # ✅ 0 error (no features)
|
||||
```
|
||||
|
||||
**版本**:1.34(SMB Server Phase 2 Build Fix)
|
||||
|
||||
Reference in New Issue
Block a user