From: Simone Piccardi Date: Fri, 3 Feb 2012 09:12:30 +0000 (+0000) Subject: ancora sui flag X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=f4d0257885aec8c2b3edbd12cd56d2b58a2abd1b;p=gapil.git ancora sui flag --- diff --git a/fileio.tex b/fileio.tex index 61099ae..ba3dc86 100644 --- a/fileio.tex +++ b/fileio.tex @@ -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 -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