核心功能: - ✅ Categories/Series双视图管理(category_view.rs + import_markdown.rs) - ✅ FUSE Multi-Volume支持(tree_type参数) - ✅ SSH/SFTP/SCP/rsync协议完整实现(4042行) - ✅ NFS/SMB Module Phase 1-3完成 - ✅ Archive Module Phase 1-4完成(2916行) - ✅ Download Center API完整实现 - ✅ S3兼容API实现(560行) Git配置修正: - ✅ 删除错误origin(gitea.momentry.ddns.net) - ✅ 删除m5max128(指向机器名) - ✅ 设置origin = m5max128gitea.momentry.ddns.net/admin/markbase - ✅ 设置m4minigitea = m4minigitea.momentry.ddns.net/warren/markbase 数据清理: - ✅ 删除38个临时SQLite(保留accusys.sqlite、demo.sqlite) - ✅ 删除.bak、test_*.bin、调试脚本等临时文件 - ✅ 删除临时目录(build/、download files/、raid_test/等) - ✅ 更新.gitignore排除临时文件 架构优化: - 52个文件修改,2434行新增,4739行删除 - Workspace成员整合(16个crate) - 数据库状态:accusys.sqlite保留(主demo测试) 远程同步: - ✅ 准备推送到m5max128gitea(远程Gitea) - ✅ 准备推送到m4minigitea(本地Gitea)
4.8 KiB
FSKit Research Summary - macOS 27 TODO
Research Date: 2026-05-29
Status: Blocked by SIP protection, waiting for macOS 27 WWDC
✅ Completed Research
1. Rust FSKit Module (markbase-fskit)
- Files: markbase-fskit/src/fskit/volume.rs (746 lines)
- Operations: 18 FSKit operations implemented
- Thread Safety: AnyThread support
- Backend: SQLite-backed file system
- Binary:
- dylib: libmarkbase_fskit.dylib (34KB)
- executable: markbase_fs (2.3MB)
2. Swift Extension Prototype
- Bundle: ExtensionKit .appex format
- Status: Compiled, signed, dylib embedded
- Blocking: mount command cannot discover it
3. macOS .fs Bundle Analysis
- Apple bundles: exfat.fs, hfs.fs analyzed
- Format: Traditional executable tools format
- Info.plist keys: FSMediaTypes, FSPersonalities
- Mount helpers: mount_, .util, newfs_, fsck_
4. C POC v15 Validation
- Performance: 649.77 MB/s verified
- Features: Thread-safe, LRU cache, hash cache
- Technology: FUSE-T 1.2.6
- Status: Working, ready to use
❌ Key Blockers (macOS 26.5)
1. SIP Protection
/System/Library/Filesystems/READ-ONLY (SIP protected)- Cannot install custom .fs bundles
- Cannot modify Apple built-in filesystems
2. mount Discovery
mount -t <fsname>only searches/System/Library/Filesystems//Library/Filesystems/NOT searched- No alternative discovery mechanism
3. FSKit Framework
/System/Library/Frameworks/FSKit.frameworkis header-only- No binary implementation
- No ObjC class support for custom filesystems
4. Documentation
- Apple FSKit API not publicly documented
- Binary format requirements unknown
- Extension discovery mechanism unknown
🎯 macOS 27 TODO (WWDC 2026)
Phase 1: WWDC Announcements Research
Step 1: Check WWDC 2026 FSKit sessions
- Watch FSKit-related sessions
- Check for new FSKit API documentation
- Check for ExtensionKit FSKit support
- Check for SIP policy changes
Step 2: Check Xcode 18 beta
- Download Xcode 18 beta (if available)
- Check FSKit framework binary
- Check FSKit headers for new APIs
- Check .fs bundle templates
Step 3: Check macOS 27 beta
- Install macOS 27 beta
- Test
/Library/Filesystems/discovery - Test SIP policy (if relaxed)
- Test mount command behavior
Phase 2: Implementation Testing
Option A: If FSKit ObjC API released
Test Rust FSKit module:
# Check if macOS 27 recognizes .appex bundles
pluginkit -m -p com.apple.fskit
# Try mounting via FSKit
mount -t markbasefs /path/to/database /Volumes/MarkBase
Option B: If .fs bundle format supported
Test user-level installation:
# Install to /Library/Filesystems/
sudo cp -R markbasefs.fs /Library/Filesystems/
# Test mount
mount -t markbasefs /path/to/database /Volumes/MarkBase
Option C: If new FSKit Extension format
Research new format:
- Check Apple documentation for new FSKit Extension type
- Test new Info.plist keys
- Test new binary format requirements
Phase 3: C POC Integration (Backup)
If FSKit still blocked:
Use C POC v15:
# Compile
gcc -Wall -O3 docs/fuse_poc/markbase_v15_balanced.c \
-I/usr/local/include/fuse3 -L/usr/local/lib \
-lfuse3 -lsqlite3 -lpthread \
-Wl,-rpath,/usr/local/lib \
-o markbase_fuse
# Run
export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH
./markbase_fuse -f /tmp/mb_mount
# Performance: 649.77 MB/s (verified)
📁 Files to Preserve
Rust FSKit module:
/Users/accusys/markbase/markbase-fskit//Users/accusys/markbase/target/release/markbase_fs/Users/accusys/markbase/target/release/libmarkbase_fskit.dylib
Swift Extension:
/Users/accusys/markbase/MarkBaseFS/MarkBaseFS.xcodeproj/Users/accusys/markbase/MarkBaseFS/MarkBaseFS/MarkBaseFSModule.swift
C POC:
/Users/accusys/markbase/docs/fuse_poc/markbase_v15_balanced.c/Users/accusys/markbase/docs/fuse_poc/markbase_v15_balanced
Test bundles:
/tmp/markbasefs_new.fs/(.fs bundle prototype)/tmp/markbasefs.fs/(earlier .fs bundle)
📊 Research Statistics
Time invested: 3+ hours deep research Key discoveries: 4 major blockers identified Files created: 20+ prototype files Tests run: 50+ test commands Conclusions: macOS 26.5 does NOT support custom filesystem extensions
🔗 Quick Links
Apple WWDC 2026: https://developer.apple.com/wwdc/ FSKit Documentation: https://developer.apple.com/documentation/fskit (check after WWDC) SIP Documentation: https://support.apple.com/en-us/HT204899 FUSE-T Project: https://github.com/macos-fuse-t/fuse-t
Last Updated: 2026-05-29 Next Review: WWDC 2026 (June 2026) Status: Waiting for macOS 27