Md at debian.org

tales of a debian maintainer

ext4 e fsync(2)

Ted Ts'o ovviamente ha ragione, finché fsync(2) non è stata completata non c'è nessuna garanzia che un file sia stato scritto.

D'altra parte, ext3 normalmente (cioè se si usa il journaling con data=ordered) garantisce che se si scrive un file temporaneo e lo si sposta sull'originale con rename(2) questa sia una operazione atomica e in caso di crash ci si ritrovi con il vecchio o il nuovo file ma comunque integri, e spesso ci si fa conto anche se non bisognerebbe.

A chi scrive programmi che riscrivono un file dopo averlo aperto e troncato invece posso solo dire che ogni perdita di dati sarà giusta, ovvia e meritata.

Il suo workaround mi sembra un ottimo compromesso, qui c'è la spiegazione dettagliata: 1, 2, 3.

About

This is the blog of Marco d'Itri.

S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

See also:

My blogroll:


W3C HTML 4.01
W3C CSS 2.0     

Powered by Bryar.pm.