You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
combinare molteplici tecniche e conoscenze per garantire che i dati consegnati<br />
dal file system al sistema operativo siano effettivamente consistenti: a<br />
partire dalla strategia copy-on-write, si validano tutti i dati con checksum<br />
e si forniscono algoritmi in grado di rilevare e riparare automaticamente gli<br />
errori.<br />
5.1 Scrittura transazionale copy-on-write<br />
Nei file system tradizionali le operazioni di I/O sono gestite a livello di blocchi<br />
memorizzati nella cache e poi successivamente consolidate su disco fisico.<br />
Nello ZFS invece le operazioni si considerano a livello di transazione la quale<br />
si considera conclusa soltanto al riscontro dell’avvenuto completamento di<br />
ogni passo intermedio, secondo il principio “All or nothing”. Le system call<br />
di scrittura su disco sono trattate con la strategia copy-on-write, la quale<br />
prevede le seguenti operazioni, riportate anche in Figura 9:<br />
Figura 9: schema delle fasi di una procedura di scrittura copy on write<br />
1. Assegnamento di un nuovo spazio di indirizzamento per i blocchi del<br />
file da aggiornare o aggiungere e ricalcolo del checksum a questi associato;<br />
2. Scrittura su disco dei nuovi blocchi di dati e metadati secondo la<br />
configurazione prevista;<br />
3. Aggiornamento dei puntatori del file system ai nuovi metadati risalendo<br />
l’albero del file system;<br />
18