[linux-l] lokales Netz - NFS oder Samba?

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Mo Apr 16 00:57:35 CEST 2007


Hallo,

On Sat, Apr 14, 2007 at 09:38:15PM +0200, Frank Reker wrote:

> ein open startet eine transaktion und ein close beendet eine
> transaktion.

Wie kommst Du auf diese seltsame Idee? Ein write() wirkt im Allgemeinen
sofort (bis auf eventuelles Caching). Wenn beispielsweise ein zweites
Programm dann aus dieser Datei liest, sieht es den neuen Inhalt. Wenn
das Programm, oder das Betriebssystem mitten im schreiben der Datei
abstürzt, ist die Datei zur Hälfte geschrieben -- mit NFS oder ohne.
Inhalte werden keineswegs erst beim close() geschrieben.

zfs benutzt wohl tatsächlich close() als Signal, einen Commit
auszuführen -- aber das wie gesagt nur eine Heuristik. *Nur* beim
close() zu schreiben würde viele Programme gänzlich Kaputt machen, zum
Beispiel syslog, oder vim's Swapfiles.

> auf der anderen seite, ist das resultat ohnehin nicht definiert wenn
> zwei prozesse gleichzeitig in die selbe datei schreiben.

Eben. Nix mit Transaktionen.

> und da unter unix diese problematik ohnehin auf anwendungsebene
> verlagert wurde braucht sich imho ein netz-fs darum auch nicht zu
> kuemmern.

Richtig. Der Punkt war ja gerade, dass NFS keine Abhilfe schaffen kann,
wenn das Programm nicht von sich aus atomares Schreiben erzwingt.

-Olaf-



Mehr Informationen über die Mailingliste linux-l