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

Frank Reker frank at reker.net
Mi Apr 18 01:43:41 CEST 2007


Am Mon 16. Apr 2007 00:57 +0200 schrieb olafBuddenhagen at gmx.net:

>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? 

du verwechselst wohl ist- und soll-zustand in meiner aussage.
ich sprach nicht davon, dass dieses transaktionsverhalten in
bereits verbreitetem umfang implementiert sei, sondern ich sprach
von einer logischen sicht, dessen fehlende implementation ich ja
gerade anpranger(t)e.


>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.

wenn es nicht mit O_SYNC geoeffnet wird, ist das nicht gewaehrleistet.
dann darf das bs die daten solange zurueckhalten wie es will, und sei
es bis zum hitzetod unserer sonne, es sei denn es kommt ein sync oder
close seitens der anwendung.
der fakt, dass bei den meisten fs-en die daten _relativ_ zeitnah
auch auf platte geschrieben werden, ist kein garant dafuer, dass
das immer so waere. sich darauf zu verlassen ist ein fehler. ungefaehr
so, wie wenn man sich darauf verlaesst dass ein int immer 32 bit ist.
wer mit solchen annahmen programmiert, begeht einen toerichten
fehler.



>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.

syslog oeffnet die datei mit O_APPEND wodurch das von mir beschriebene
makro-journaling nicht greift. vim wird seine swapfile wohl im 
sync-modus oeffnen oder von hand syncen (waere zumindestens toericht 
wenn nicht), und damit werden die daten ebenfalls sofort geschrieben.



-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20070418/fd639bf4/attachment.sig>


Mehr Informationen über die Mailingliste linux-l