Re: konkurrierende Dateizugriffe

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Tue, 1 Mar 2005 17:00:23 +0100

On Tue, Mar 01, 2005 at 03:53:27PM +0100, Marc Santhoff wrote:
> Hi,
>
> was passiert eigentlich, wenn ein Prozeß ein Verzeichnis anlegt und dort
> Dateien reinschreibt und ein anderer Prozeß dieses Verzeichnis
> gleichzeitig mit "rm -r" löscht?

Kommt darauf an was der schreibende Prozess offen hat.
Dateien und Verzeichnisse, die er offen hat kann keiner löschen.
Es können zwar alle Verzeichnisseintrþage gelöscht werden, aber
solange es noch eine Referenz zu dem Objekt gibt bleibt es physikalisch
auf der Platte bestehen.
Per Filename kann der schreibende Prozess diese allerdings nicht
mehr referieren, da diese ja weg sind, allerdings kann er durchaus
Filedescriptoren zu den noch offenen Objekten an andere Prozesse
übergeben.

> Der schreibende Prozeß schert sich i.d.F. nicht um das Vorhandensein von
> Verzeichnissen, wenn sie fehlen legt er sie neu an.

Dann hast du zum Schluß halt nur noch die neuen Verzeichnisse.

> Kann es dadurch gefährliche Situationen bzw. ein inkonsistentes
> Dateisystem geben?

Nein - wäre ja auch schrecklich, wenns so wäre.
Das einzige was passiert ist, dass du Objekte ohne Referenz im
Filesystem hast, welche nach einem unsauberen shutdown erst durch
den fsck gefunden werden - derartige Inkonsistenzen treten aber
grundsätzlich im normalen Betrieb auf und sind absolut harmlos.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 01 Mar 2005 - 17:02:36 CET

search this site