mirror of
https://github.com/TheGrandWazoo/freenas-proxmox.git
synced 2026-10-17 12:15:31 +02:00
feat: auto-detect and correct ZFS blocksize for TrueNAS SCALE/CORE (#241)
* feat: auto-detect and correct ZFS blocksize for TrueNAS SCALE/CORE (#241) SCALE requires >= 16k volblocksize; CORE works with 8k. Without correction, creating a disk on SCALE with blocksize=8k triggers a ZFS warning and wastes space on SCALE's minimum-4k-block pool layout. Three changes: - freenas_get_recommended_blocksize: fixes freenas_api_connect → freenas_api_check so product_name is actually populated before the SCALE check (was always returning 8192 before this fix) - freenas_parse_blocksize: new helper to compare "8k"/"16k"/integer blocksize strings - alloc_image (both 8.x and 8.4.x patches): always detect recommended blocksize for freenas provider; if configured < recommended, override for this call AND persist the correction back to storage.cfg via lock_storage_config - on_add_hook (8.4.x patch only): detect at storage creation time and correct $scfg before write_config saves it — no extra write needed Tested on pve01-hq (PVE 8.4.19) against Tank02 (SCALE 24.10.2.1): - Disk created with blocksize=8k → task log shows correction message, storage.cfg updated to 16384, no volblocksize warning from TrueNAS - Disk created with blocksize=16384 → no-op, clean TASK OK Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * ci: add validate-patches step for ZFSPlugin PVE 8.4.x patch ZFSPlugin-8.4.14_1.pm.patch has been in the build since v2.3.0 but was never dry-run validated in CI. Now that we have the 8.4 orig committed (ZFSPlugin-8.4.14_1.pm.orig from libpve-storage-perl 8.3.8), wire it up. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: replace explicit return undef with bare return (perlcritic) Subroutines::ProhibitExplicitReturnUndef violation in freenas_get_recommended_blocksize. Bare return in list context returns an empty list rather than a list containing undef, which is the correct Perl idiom. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
a0d0285194
commit
c166501873
@@ -69,6 +69,13 @@ jobs:
|
||||
< stable-8/perl5/PVE/Storage/ZFSPlugin.pm.patch \
|
||||
&& echo "ZFSPlugin PVE-8 patch: OK"
|
||||
|
||||
- name: "Dry-run patch: ZFSPlugin (PVE 8.4.x)"
|
||||
run: |
|
||||
patch --dry-run --ignore-whitespace \
|
||||
stable-8/perl5/PVE/Storage/ZFSPlugin-8.4.14_1.pm.orig \
|
||||
< stable-8/perl5/PVE/Storage/ZFSPlugin-8.4.14_1.pm.patch \
|
||||
&& echo "ZFSPlugin PVE-8.4 patch: OK"
|
||||
|
||||
- name: "Dry-run patch: apidoc.js (PVE 8)"
|
||||
run: |
|
||||
patch --dry-run --ignore-whitespace \
|
||||
|
||||
Reference in New Issue
Block a user