Anche per i messaggi di errore è stato utilizzato un approccio simile a linux: tutti i messaggi infatti spiegano brevemente qual'è stato l'errore. Quella che segue è una lista completa dei messaggi di errore che il VFS può restituire, opportunamente commentati:
- "VFS must have 3 or more files" - È possibile ricevere questo errore solo quando si crea il VFS. Infatti è possibile creare VFS con almeno 3 files (o directory)
- "Error in i-node resolution" - Questo errore viene restituito quando, a partire da un path, si verificano dei problemi di risoluzione dell'i-node associato
- "0 files 0 directory" - Non è un vero e proprio errore, viene stampato a seguito di un comando ls quando la cartella passata al comando stesso è vuota
- "Cannot access file system" - Questo messaggio compare quando il file che rappresenta il VFS non può essere aperto
- "Not such a path" - Viene visualizzato quando si inserisce un path non valido (inesistente o malformato)
- "Not a directory" - Viene visualizzato quando si cerca di eseguire una operazione che dovrebbe essere eseguita su una directory e invece si passa un file
- "Directory full" - Questo messaggio viene stampato quando una singola directory esaurisce il numero massimo di entry possibili al suo interno, e si tenta di inserire una nuova voce
- "File system internal error" - È un errore che racchiude in se molte casistiche, lo si può considerare una sorta di errore generico, accade ad esempio quando fallisce un accesso in memoria o una scrittura su disco. Nel codice i vari tipi di errore sono adeguatamente commentati
- "Virtual disk full" - Come intuibile questo errore viene restituito quando il VFS è pieno e si cerca di inserire nuovi elementi
- "Specified path already exist" - Errore che viene mostrato quando si cerca di creare un elemento su un path che già esiste
- "Not enough memory" - Questo grave errore accade quando il gestore in C non riesce ad allocare memoria sufficiente per caricare le strutture fondamentali di gestione del VFS
- "Invalid path on the OS file system" - L'utente viene informato che è stato inserito un path malformato relativo al file system reale
- "Can't write/read from the OS file system" - Questi due messaggi di errore vengono visualizzati quando non si riesce a scrivere/leggere nel file system reale
- "File to be copied too large" - Viene visualizzato quando la dimensione di un file da copiare dal file system reale al VFS supera una dimensione prestabilita (la dimensione del blocco)
- "Cannot copy a directory" - Viene visualizzato quando si cerca di copiare una directory
- "Cannot copy anything but links or r-files" - Viene mostrato questo messaggio se si cercano di copiare nel VFS file speciali (socket, device a blocchi, ecc ad es. /dev/null)
- "Cannot overwrite file/directory" - Viene visualizzato questo messaggio quando si cerca di sovrascrivere un elemento nel VFS
- "Cannot overwrite file on the OS file system" - Viene visualizzato questo messaggio quando si cerca di sovrascrivere un elemento nel file system reale
- "Invalid link target" - Viene restituito quando il target di un hard link viene riconosciuto come non valido (malformato)
- "Hard link not allowed for directory" - Viene restituito quando si cerca di fare un hard link verso una directory
- "Invalid link name" - Viene mostrato questo messaggio quando il nome del link non è valido
- "Directory is not empty" - Se si cerca di cancellare (in maniera hard) una directory non vuota viene mostrato questo messaggio
- "Cannot remove: is a directory" - Viene mostrato quando si esegue una del su di una directory non vuota
- "Cannot undel existing file" - Se si cerca di recuperare un file non cancellato viene mostrato questo errore
Alcuni di questi errori sono molto facili da ottenere (come quelli di path invalido o cancellazione di cartelle non vuote), altri non dovrebbero mai accadere (come problemi di apertura del file che rappresenta il VFS o impossibilità di allocare memoria).
Lorenzo Baloci, Daniele Turato, Alessio Zennaro
- Settembre 2006