semantica della concorrenza durante la lettura di un file in fase di scrittura (ext)

2

Nel file system Ext 3/4 , se ho un file di registro aperto e in coda, se un altro processo tenta per leggerlo (es. con cat ), cosa succede?

  1. Il processo di lettura può leggere parte di / una scrittura incompleta?
  2. La lettura durante la scrittura è sicura e non interromperà il processo di scrittura? O c'è una possibilità che i registri possano essere corrotti facendo questo?

Dove si dovrebbe leggere di più?

    
posta elliot42 03.07.2012 - 02:30
fonte

1 risposta

2

1. Il processo di lettura può leggere parte di una scrittura incompleta?
Il processo di lettura sarà in grado di leggere solo i dati che sono stati scritti, ma per rispondere alla domanda, sì, potrebbe leggere parte dei dati se la scrittura non è ancora completata.

2. La lettura durante scrittura è sicura e non disturberà il processo di scrittura? O c'è una possibilità che i registri possano essere danneggiati facendo questo?
Leggere durante la scrittura, sebbene non del tutto sicuro, non dovrebbe interrompere il processo di scrittura. Né necessariamente corromperà i log, ma tutti i dati che è in grado di leggere saranno probabilmente incompleti.

In definitiva non lo consiglierei.

    
risposta data 03.07.2012 - 03:15
fonte

Leggi altre domande sui tag