Fix: aggiunta comando unplug (per rendere possibile la rimozione dei dischi spare) #1

Merged
AndreStork merged 2 commits from hw_unplug into main 2026-03-19 08:48:39 +00:00
Showing only changes of commit 12f5790afc - Show all commits

View File

@@ -3416,10 +3416,23 @@ $ rm /mnt/verifica.txt
return termPrint("mdadm: opzione non supportata. Digita 'help'.","err");
}
if(c0==="unplug"){
let diskId=t[1];
if(diskId&&diskId.state===DiskState.SPARE){diskId.state=DiskState.REMOVED; return;}
const dev=t[1];
if(!dev){
return termPrint("unplug: specifica il disco spare da rimuovere (simulazione). Esempio: unplug /dev/sdX","err");
}
const spareIndex=state.spares.findIndex(d=>d.dev===dev);
if(spareIndex===-1){
return termPrint(`unplug: ${dev} non è uno spare o non esiste.`,`err`);
}
const spare=state.spares[spareIndex];
spare.state=DiskState.REMOVED;
state.spares.splice(spareIndex,1);
pushDmesg("warn",`${dev}: unplugged dallo spare`);
termPrint(`unplug: ${dev} rimosso.`,`ok`);
render();
scenarioCheck();
return;
}
if(c0==="lsblk"){termPrint(lsblk(),"dim");scenarioActionDiag();render();scenarioCheck();return;}
if(c0==="fdisk"&&t[1]==="-l"){termPrint(fdiskL(),"dim");scenarioActionDiag();render();scenarioCheck();return;}
if(c0==="blkid"){termPrint(blkid(),"dim");scenarioActionDiag();render();scenarioCheck();return;}