Refactor main driver share management to WebSocket API
BREAKING CHANGES: - Completely rewrote createShare and deleteShare methods (1,621 lines → 691 lines) - Removed all SSH-based volume expansion code - Removed all API v1/v2 version conditionals from share management - Added full NVMe-oF support (subsystem and namespace management) - Removed SMB support (use NFS or iSCSI instead) Changes: - Replaced massive legacy createShare (1,203 lines) with clean modular implementation - Split into createNFSShare, createISCSIShare, createNVMeOFShare methods - Replaced massive legacy deleteShare (417 lines) with clean modular implementation - Split into deleteNFSShare, deleteISCSIShare, deleteNVMeOFShare methods - Added NVMe-oF ZFS property constants for tracking subsystem and namespace IDs - Simplified getMaxZvolNameLength() - always returns 255 for SCALE - Simplified expandVolume() - middleware handles reloads automatically - Removed getIsScale() checks - we're SCALE-only now - All share operations now use clean WebSocket JSON-RPC methods File size: 4,469 lines → 3,431 lines (-23%) The driver now provides clean, maintainable code with full support for: - NFS shares (path-based) - iSCSI targets (target/extent/association) - NVMe-oF subsystems (subsystem/namespace)
This commit is contained in:
parent
bf6035157b
commit
c84339ff93