<div dir="ltr">2013/5/12 Diego Barrera <span dir="ltr"><<a href="mailto:diegonebarrera@yahoo.it" target="_blank">diegonebarrera@yahoo.it</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Se la struttura non e' molto grande, potresti gestirla facendo una<br>
copia di backup temporanea della struttura, se qualcosa va storto<br>
rimuovi la struttura corrotta e rinomini quella di backup.<br>
Ciao diego</blockquote><div><br></div><div style>Se potesse permetterselo (ma ha già detto che non può) la cosa giusta sarebbe fare la copia su cui fare le modifiche e, solo come atto "atomico" finale, fare una move sulla copia di backup. Qualunque cosa vada male, ha la copia vera, attiva, senza problemi. Facendo come dici tu, se le cose vanno a schifio tra la verifica della corruzione e la rinomina della copia di backup, è fregato.</div>

<div style><br>La parola chiave è "atomica". La rename dovrebbe essere una operazione atomica a livello di file system e quindi va per forza usata quella se uno vuole essere sicuro di fare un cambio solo finale che lo porta alla nuova situazione.</div>

<div style><br>Certo, poi servirebbe anche che nessuno facesse modifiche alla struttura che il programma ha copiato e su cui sta effettuando le modifiche.</div><div style><br></div><div style>Insomma, spostare il concetto di "transazionalità" al file system è veramente un problema non da poco:</div>

<div style><a href="http://en.wikipedia.org/wiki/File_system#Transactional_file_systems">http://en.wikipedia.org/wiki/File_system#Transactional_file_systems</a><br></div><div style><br></div><div style>Ciao.</div><div style>

Marco.</div><div><br></div></div>-- <br><div><div><div><div><a href="http://beri.it/" target="_blank">http://beri.it/</a> - Un blog</div><div><a href="http://beri.it/i-miei-libri/" target="_blank">http://beri.it/i-miei-libri/</a> - Qualche libro</div>

<div><br></div></div></div></div>
</div></div>