<p dir="ltr"><br>
Il giorno 12/mag/2013 12:01, "Diego Barrera" <<a href="mailto:diegonebarrera@yahoo.it">diegonebarrera@yahoo.it</a>> ha scritto:<br>
><br>
> Il 12/05/2013 11:03, Marco Beri ha scritto:<br>
>><br>
>> 2013/5/12 Diego Barrera <<a href="mailto:diegonebarrera@yahoo.it">diegonebarrera@yahoo.it</a>><br>
>>><br>
>>> 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<br>
>><br>
>><br>
>> 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.<br>

>><br>
> Pensavo che fosse equivalente l'approccio</p>
<p dir="ltr">È assolutamente diverso.<br>
Caso 1) faccio una copia, inizio a lavorare sull'originale, da questo punto in poi, se va via la corrente, sono nella cacca.<br>
Caso 2) faccio una copia, inizio a lavorare sulla copia, qualunque cosa accada, sono tranquillo che solo alla fine sostituirò l'originale.</p>
<p dir="ltr">Sono stato spiegato?</p>
<p dir="ltr">:-)</p>
<p dir="ltr">>> 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.<br>

>><br>
>> Certo, poi servirebbe anche che nessuno facesse modifiche alla struttura che il programma ha copiato e su cui sta effettuando le modifiche.<br>
>><br>
> Per capire: i problemi di concorrenza e atomicita' delle operazioni sul filesystem non sono intrinseci alla struttura da lui utilizzata?</p>
<p dir="ltr">Certo, se il file system ti fornisce delle api atomiche tanto meglio, altrimenti devi usare tu quello che hai. Di norma la rename è atomica e con quello riesci a fare tanto.<br></p>
<p dir="ltr">> Altra riflessione: come approcciano i software di versioning al problema?</p>
<p dir="ltr">Non so risponderti.</p>
<p dir="ltr">Ciao.<br>
Marco.<br>
</p>