Skip to content

Commit 505aba0

Browse files
author
David Scott
committed
Snapshots: talk a bit more about space requirements
Signed-off-by: David Scott <[email protected]>
1 parent eba3642 commit 505aba0

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

features/snapshots/snapshots.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,23 +121,26 @@ run a garbage collector process.
121121

122122
The garbage collector will first determine whether a "coalesce" should happen i.e.
123123
whether any parent nodes have only one child i.e. the "shared" blocks are only
124-
shared with one other node. In the following example the snapshot delete leaves
124+
"shared" with one other node. In the following example the snapshot delete leaves
125125
such a parent node and the coalesce process copies blocks from the redundant
126126
parent's only child into the parent:
127127

128128
![We coalesce parent blocks into grand parent nodes](coalesce1.png)
129129

130+
Note that if the vhd data is being stored in LVM, then the parent node will
131+
have had to be expanded to full size to accommodate the writes. Unfortunately
132+
this means the act of reclaiming space actually consumes space itself, which
133+
means it is important to never completely run out of space in such an SR.
134+
130135
Once the blocks have been copied, we can now cut one of the parents out of the
131136
tree by relinking its children into their grandparent:
132137

133138
![Relink children into grand parent](coalesce2.png)
134139

135-
Finally the garbage collector can remove unused leftovers:
140+
Finally the garbage collector can remove unused vhd files / LVM LVs:
136141

137142
![Clean up](coalesce3.png)
138143

139-
TODO: space requirements
140-
141144
Reverting VM snapshots
142145
======================
143146

0 commit comments

Comments
 (0)