Fix: ZFS striped pool shows as raidz, but it's still a stripe

This commit is contained in:
Tom Mortensen
2024-07-01 12:31:38 -07:00
parent 9d63b5ecf8
commit 69d2996c31

View File

@@ -48,15 +48,6 @@ $text = isPool($name) ? _('This will ERASE content of ALL devices in the pool')
function disabled_if($condition) {
if ($condition !== false) echo ' disabled';
}
function btrfs_default() {
global $disk;
return (_var($disk,'fsProfile')=="") ? "selected" : "";
}
function zfs_default($case) {
global $disk;
return (($case==1)&&(_var($disk,'slots',0) <= 2) ||
($case==2)&&(_var($disk,'slots',0) >= 3)) ? "selected" : "";
}
function sanitize(&$val) {
$data = explode('.',str_replace([' ',','],['','.'],$val));
$last = array_pop($data);
@@ -254,6 +245,7 @@ function selectDiskFsWidth() {
}
}
function selectDiskFsProfile(init) {
var num_slots = <?=_var($disk,'slots',0)?>;
var t = init ? null : 'slow';
if (($('#diskFsType').val()||'').indexOf('auto') != -1) {
$('#diskFsProfileBTRFS').prop('disabled',true).hide();
@@ -269,6 +261,10 @@ function selectDiskFsProfile(init) {
$('#compression').show(t);
<?if (diskType('Cache')):?>
$('#autotrim').show(t);
if (!init) {
if (num_slots == 1) $('#diskFsProfileBTRFS').val('');
if (num_slots > 1) $('#diskFsProfileBTRFS').val('raid1');
}
<?endif;?>
} else if (($('#diskFsType').val()||'').indexOf('zfs') != -1) {
$('#diskFsProfileBTRFS').prop('disabled',true).hide();
@@ -278,6 +274,11 @@ function selectDiskFsProfile(init) {
}
$('#diskFsProfileZFS').show();
$('#diskFsWidthZFS').show();
if (!init) {
if (num_slots == 1) $('#diskFsProfileZFS').val('');
if (num_slots == 2) $('#diskFsProfileZFS').val('mirror');
if (num_slots > 2) $('#diskFsProfileZFS').val('raidz1');
}
selectDiskFsWidth();
$('#compression').show(t);
<?if (diskType('Cache')):?>
@@ -651,7 +652,7 @@ _(File system type)_:
<select id="diskFsProfileBTRFS" name="diskFsProfile.<?=_var($disk,'idx',0)?>" style="display:none" <?=disabled_if($fsTypeImmutable)?>>
<?=mk_option(_var($disk,'fsProfile'),"single", _('single'))?>
<?if (_var($disk,'slots',0)>=2) echo mk_option(_var($disk,'fsProfile'),"raid0", _('raid0'))?>
<?if (_var($disk,'slots',0)>=2) echo mk_option(_var($disk,'fsProfile'),"raid1", _('raid1'), btrfs_default())?>
<?if (_var($disk,'slots',0)>=2) echo mk_option(_var($disk,'fsProfile'),"raid1", _('raid1'))?>
<?if (_var($disk,'slots',0)>=3) echo mk_option(_var($disk,'fsProfile'),"raid1c3", _('raid1c3'))?>
<?if (_var($disk,'slots',0)>=4) echo mk_option(_var($disk,'fsProfile'),"raid1c4", _('raid1c4'))?>
<?if (_var($disk,'slots',0)>=4) echo mk_option(_var($disk,'fsProfile'),"raid10", _('raid10'))?>
@@ -661,8 +662,8 @@ _(File system type)_:
<select id="diskFsProfileZFS" name="diskFsProfile.<?=_var($disk,'idx',0)?>" style="display:none" onchange="selectDiskFsWidth()" <?=disabled_if($fsTypeImmutable)?>>
<?if (_var($disk,'slots',0)==1) echo mk_option(_var($disk,'fsProfile'),"", _('single'))?>
<?if (_var($disk,'slots',0)>=2) echo mk_option(_var($disk,'fsProfile'),"", _('stripe'))?>
<?if ((_var($disk,'slots',0)%2)==0 || (_var($disk,'slots',0)%3)==0 || (_var($disk,'slots',0)%4)==0) echo mk_option(_var($disk,'fsProfile'),"mirror", _('mirror'), zfs_default(1))?>
<?if (_var($disk,'slots',0)>=3) echo mk_option(_var($disk,'fsProfile'),"raidz1", _('raidz'), zfs_default(2))?>
<?if ((_var($disk,'slots',0)%2)==0 || (_var($disk,'slots',0)%3)==0 || (_var($disk,'slots',0)%4)==0) echo mk_option(_var($disk,'fsProfile'),"mirror", _('mirror'))?>
<?if (_var($disk,'slots',0)>=3) echo mk_option(_var($disk,'fsProfile'),"raidz1", _('raidz'))?>
<?if (_var($disk,'slots',0)>=3) echo mk_option(_var($disk,'fsProfile'),"raidz2", _('raidz2'))?>
<?if (_var($disk,'slots',0)>=4) echo mk_option(_var($disk,'fsProfile'),"raidz3", _('raidz3'))?>
</select>