MarkBase架构升级:Multi-Volume Virtual Tree + Dual-View Management + Git Remote修正
核心功能: - ✅ 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)
This commit is contained in:
38
MarkBaseFS/MarkBaseFSNVMeDriver/Info.plist
Normal file
38
MarkBaseFS/MarkBaseFSNVMeDriver/Info.plist
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.accusys.markbase.nvmedriver</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>MarkBaseFS NVMe Test Driver</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>MarkBaseFS NVMe Driver</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>DRVR</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>NVMeTestDriver</string>
|
||||
<key>OSBundleRequired</key>
|
||||
<string>Root</string>
|
||||
<key>IOKitPersonalities</key>
|
||||
<dict>
|
||||
<key>NVMeTestDriver</key>
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.accusys.markbase.nvmedriver</string>
|
||||
<key>IOClass</key>
|
||||
<string>NVMeTestDriver</string>
|
||||
<key>IOProviderClass</key>
|
||||
<string>IOSCSIParallelInterfaceController</string>
|
||||
<key>IOMatchCategory</key>
|
||||
<string>NVMeTestDriver</string>
|
||||
<key>IOProbeScore</key>
|
||||
<integer>1000</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
89
MarkBaseFS/MarkBaseFSNVMeDriver/NVMeTestDriver.swift
Normal file
89
MarkBaseFS/MarkBaseFSNVMeDriver/NVMeTestDriver.swift
Normal file
@@ -0,0 +1,89 @@
|
||||
import Foundation
|
||||
import DriverKit
|
||||
import SCSIControllerDriverKit
|
||||
|
||||
class NVMeTestDriver: IOSCSIController {
|
||||
|
||||
// 尝试使用SCSI Controller API访问NVMe设备
|
||||
// 验证SCSI Controller Entitlement是否包含Block Storage Device operations
|
||||
|
||||
override init() {
|
||||
super.init()
|
||||
print("NVMeTestDriver initializing...")
|
||||
}
|
||||
|
||||
override func Start() -> IOReturn {
|
||||
print("NVMeTestDriver Start() called")
|
||||
|
||||
// 尝试初始化
|
||||
let result = super.Start()
|
||||
|
||||
if result == kIOReturnSuccess {
|
||||
print("NVMeTestDriver started successfully")
|
||||
|
||||
// 测试NVMe操作
|
||||
testNVMeOperations()
|
||||
} else {
|
||||
print("NVMeTestDriver start failed: \(result)")
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
func testNVMeOperations() {
|
||||
print("Testing NVMe operations using SCSI Controller API...")
|
||||
|
||||
// 测试场景1: 尝试识别NVMe设备
|
||||
testDeviceIdentification()
|
||||
|
||||
// 测试场景2: 尝试基本读写
|
||||
testBasicReadWrite()
|
||||
|
||||
// 测试场景3: 尝试性能测试
|
||||
testPerformance()
|
||||
}
|
||||
|
||||
func testDeviceIdentification() {
|
||||
print("Test 1: Device Identification")
|
||||
|
||||
// 尝试使用SCSI命令识别设备
|
||||
// 如果是NVMe设备,可能会返回NVMe-specific信息
|
||||
|
||||
print(" - Attempting SCSI INQUIRY command...")
|
||||
print(" - Checking if device responds as NVMe...")
|
||||
|
||||
// 注意:这里只是测试代码,不会实际执行
|
||||
// 实际执行需要编译和运行
|
||||
}
|
||||
|
||||
func testBasicReadWrite() {
|
||||
print("Test 2: Basic Read/Write")
|
||||
|
||||
// 尝试基本读写操作
|
||||
print(" - Attempting basic read operation...")
|
||||
print(" - Attempting basic write operation...")
|
||||
|
||||
// 检查是否有权限错误
|
||||
print(" - Checking for permission errors...")
|
||||
}
|
||||
|
||||
func testPerformance() {
|
||||
print("Test 3: Performance Test")
|
||||
|
||||
// 尝试性能测试
|
||||
print(" - Target: 6000-7000 MB/s")
|
||||
print(" - Testing Thunderbolt 5 bandwidth...")
|
||||
|
||||
// 检查实际性能
|
||||
print(" - Measuring actual throughput...")
|
||||
}
|
||||
|
||||
override func Stop() -> IOReturn {
|
||||
print("NVMeTestDriver stopping...")
|
||||
return super.Stop()
|
||||
}
|
||||
|
||||
deinit {
|
||||
print("NVMeTestDriver deinitialized")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user