ancora sui flag
authorSimone Piccardi <piccardi@gnulinux.it>
Fri, 3 Feb 2012 09:12:30 +0000 (09:12 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Fri, 3 Feb 2012 09:12:30 +0000 (09:12 +0000)
fileio.tex

index 61099ae489db4119b424762ff92d6ff521bbf545..ba3dc86b57fe4186e7638cc449c32ee60ebc9d47 100644 (file)
@@ -595,14 +595,31 @@ Si tenga presente infine che la implementazione di \const{O\_SYNC} di Linux
 differisce da quanto previsto dallo standard POSIX.1 che prevede, oltre a
 questo flag che dovrebbe indicare la sincronizzazione completa di tutti i dati
 e di tutti i metadati, altri due flag \const{O\_DSYNC} e \const{O\_RSYNC}. Il
 differisce da quanto previsto dallo standard POSIX.1 che prevede, oltre a
 questo flag che dovrebbe indicare la sincronizzazione completa di tutti i dati
 e di tutti i metadati, altri due flag \const{O\_DSYNC} e \const{O\_RSYNC}. Il
-primo dei due richiede la scrittura sincrona dei dati del file e dei metadati
-associati 
+primo dei due richiede la scrittura sincrona di tutti i dati del file e dei
+metadati che ne consentono l'immediata rilettura, ma non di tutti i metadati,
+per evitare la perdita di prestazioni relativa alla sincronizzazione di
+informazioni ausiliarie come i tempi dei file. 
 
 
+Il secondo, da usare in combinazione con \const{O\_SYNC} o \const{O\_DSYNC} ne
+sospende l'effetto, consentento al kernel di bufferizzare le scritture, ma
+soltanto finché non avviene una lettura, in quel caso i dati ed i metadati
+dovranno essere sincronizzati (secondo le modalità indicate da \const{O\_SYNC}
+e \const{O\_DSYNC}) e la lettura verrà bloccata fintanto che detta
+sincronizzazione non sia completata.
 
 
+Nel caso di Linux fino al kernel 2.6.33 la sola semantica supportata era
+quella di \const{O\_DSYNC} o
+
+ \const{O\_DSYNC} 
+
+
+e \const{O\_RSYNC}
+erano sinoni
+
+
+che una lettura si blocchi
 
 
- diversi 
 
 
-      \const{O\_FSYNC}   Sinonimo di \const{O\_SYNC}, usato da BSD.
 
       \const{O\_DSYNC}   Variante di I/O sincrono definita da POSIX; presente
                            dal kernel 2.1.130 come sinonimo di
 
       \const{O\_DSYNC}   Variante di I/O sincrono definita da POSIX; presente
                            dal kernel 2.1.130 come sinonimo di