Forum: PC Hard- und Software Copy-On-Write bei Mehrfachkopie


von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

Hallo,

wenn ich auf einem COW-fähigen Dateisystem Die Datei A habe und davon 
die COW-kopien B und C erstelle, was passiert dann, wenn ich A 
überschreibe/lösche?

1) B und C sind nun redundant gespeichert

2) B und C bleiben dedupliziert

von Daniel A. (daniel-a)


Lesenswert?

Sollte nr. 2 sein.

von Axel S. (a-za-z0-9)


Lesenswert?

Stefan H. schrieb:
> wenn ich auf einem COW-fähigen Dateisystem Die Datei A habe und davon
> die COW-kopien B und C erstelle, was passiert dann, wenn ich A
> überschreibe/lösche?

COW läßt sich am einfachsten verstehen, wenn jeder Datenblock einen 
Zähler (Link-Counter; LC) bekommt, der anzeigt von wievielen Stellen aus 
er verwendet wird.

Beim Kopieren eines Blocks wird der LC einfach erhöht. In der Ausgangs- 
situation ist also jeder Datenblock von A/B/C mit LC=3 markiert. Wenn du 
eine der 3 Dateien (egal welche) löschst, dann verringert sich der LC 
jeweils auf 2. Wenn du auf eine der 3 Dateien (wieder egal welche) 
schreibst, dann werden für den beschriebenen Teil neue Datenblöcke 
alloziert, mit LC=1 und für die bisher verwendeten Blöcke wird der LC 
auf 2 reduziert.

Ganz allgemein gilt das: wenn du auf einen Block schreibst, der LC>1 
hat, dann wird in diesem Moment eine private Kopie des Blocks gemacht 
und beschrieben. Deswegen "copy on write".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.