fix messaging on Main when array Stopped

This commit is contained in:
Tom Mortensen
2024-05-30 14:39:02 -07:00
parent a823ecf79c
commit c1493a61d7
2 changed files with 17 additions and 8 deletions
+16 -8
View File
@@ -180,7 +180,7 @@ function array_offline(&$disk, $pool='') {
global $var, $disks, $display;
$disk['power'] ??= (_var($display,'power') && _var($disk,'transport')=='nvme' ? get_nvme_info(_var($disk,'device'),'power') : 0);
$echo = []; $warning = '';
$status = ['DISK_DSBL','DISK_INVALID','DISK_DSBL_NEW','DISK_NEW','DISK_WRONG'];
$status = ['DISK_DSBL','DISK_INVALID','DISK_DSBL_NEW','DISK_WRONG'];
$text = "<span class='red-text'><em>"._('All existing data on this device will be OVERWRITTEN when array is Started')."</em></span>";
if (_var($disk,'type')=='Cache') {
if (!str_contains(_var($diks[$pool],'state'),'ERROR:')) {
@@ -192,15 +192,16 @@ function array_offline(&$disk, $pool='') {
if (!str_contains(_var($var,'mdState'),'ERROR:')) {
if (_var($var,'mdState')=='NEW_ARRAY') {
if (_var($disk,'type')=='Parity') $warning = $text;
} elseif (_var($var,'mdNumInvalid',0)<=1) {
} elseif (_var($var,'mdState')=='RECON_DISK') {
if (in_array(_var($disk,'status'),$status)) $warning = $text;
} elseif (_var($disk['status'])=='DISK_NEW') {
$warning = $text;
}
}
}
$echo[] = "<tr class='offline'>";
switch (_var($disk,'status')) {
case 'DISK_NP':
case 'DISK_NP_DSBL':
$echo[] = "<td>".device_info($disk,false)."</td>";
$echo[] = "<td>".assignment($disk)."</td>";
$echo[] = "<td colspan='8'></td>";
@@ -210,6 +211,13 @@ function array_offline(&$disk, $pool='') {
$echo[] = "<td>".assignment($disk)."<em>{$disk['idSb']} - ".my_scale(_var($disk,'sizeSb',0)*1024,$unit)." $unit</em></td>";
$echo[] = "<td colspan='8'></td>";
break;
case 'DISK_NP_DSBL':
$echo[] = "<td>".device_info($disk,false)."</td>";
$echo[] = "<td>".assignment($disk)."</td>";
$echo[] = "<td colspan='4'></td>";
$echo[] = "<td>".vfs_type($disk)."</td>";
$echo[] = "<td colspan='3'></td>";
break;
case 'DISK_OK':
case 'DISK_DSBL':
case 'DISK_INVALID':
@@ -341,7 +349,7 @@ function array_slots() {
$echo[] = "<input type='hidden' name='csrf_token' value='"._var($var,'csrf_token')."'>";
$echo[] = "<input type='hidden' name='changeSlots' value='apply'>";
$echo[] = "<select class='narrow' name='SYS_ARRAY_SLOTS' onChange='devices.start();this.form.submit()'>";
if (_var($var,'mdNumDisks')=='0')
if (_var($var,'mdState')=='ERROR:NO_DEVICES' || (_var($var,'mdState')=='STOPPED' && _var($var,'mdNumDisks')=='0'))
$echo[] = "<option value='0'>none</option>";
for ($n=$min; $n<=$max; $n++) {
$selected = $n==_var($var,'SYS_ARRAY_SLOTS') ? ' selected' : '';
@@ -541,13 +549,13 @@ while (true) {
$echo = json_encode($echo);
$md5_new = md5($echo,true);
if ($md5_new !== $md5_old) {
// if ($md5_new !== $md5_old) {
$md5_old = publish('devices',$echo)!==false ? $md5_new : -1;
}
// }
$fs_new = _var($var,'fsState')=='Started' ? 1 : 0;
if ($fs_new !== $fs_old) {
// if ($fs_new !== $fs_old) {
$fs_old = publish('arraymonitor',$fs_new)!==false ? $fs_new : -1;
}
// }
sleep(1);
}
?>
+1
View File
@@ -50,6 +50,7 @@ case "${1:-start}" in
;;
'stop')
log "Stopping web services..."
/usr/local/sbin/monitor_nchan kill
/etc/rc.d/rc.nginx stop
/etc/rc.d/rc.php-fpm stop
log "Stopping emhttpd..."