Dan Kenigsberg has submitted this change and it was merged.
Change subject: Live Merge: Mark active layer ILLEGAL before pivoting
......................................................................
Live Merge: Mark active layer ILLEGAL before pivoting
A block commit of the active layer takes place in two phases. First,
data is copied from the current leaf to its parent. During this time,
all writes to the disk are mirrored to both volumes. When this process
converges the two volumes are and will remain identical due to ongoing
drive mirroring by qemu. At this point we instruct libvirt to perform a
pivot from the current leaf to the new leaf. Once this is complete we
synchronize our metadata and end the job.
If we are catastrophically interrupted (lose contact with the host)
between the pivot request and final metadata synchronization there is
currently no way to know whether the pivot actually happened. This
could be dangerous because restarting the VM on another host with the
wrong leaf volume could lead to data corruption.
The solution is to mark the current leaf ILLEGAL before requesting a
pivot. Since the volumes are identical at this point it will always be
safe to rerun the VM using the new leaf. A subsequent patch will take
advantage of this ILLEGAL marker to provide engine with a reliable and
correct volume chain for this recovery scenario.
Change-Id: I97ce8fbdfad7c81181a206f160ffdd647c552d4d
Bug-Url:
https://bugzilla.redhat.com/show_bug.cgi?id=1127294
Signed-off-by: Adam Litke <alitke(a)redhat.com>
Reviewed-on:
http://gerrit.ovirt.org/31787
Reviewed-by: Francesco Romani <fromani(a)redhat.com>
Reviewed-by: Nir Soffer <nsoffer(a)redhat.com>
Reviewed-by: Federico Simoncelli <fsimonce(a)redhat.com>
Reviewed-on:
http://gerrit.ovirt.org/32324
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
---
M vdsm/storage/hsm.py
1 file changed, 11 insertions(+), 3 deletions(-)
Approvals:
Adam Litke: Verified
Federico Simoncelli: Looks good to me, but someone else must approve
Dan Kenigsberg: Looks good to me, approved
--
To view, visit
http://gerrit.ovirt.org/32324
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I97ce8fbdfad7c81181a206f160ffdd647c552d4d
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.5
Gerrit-Owner: Adam Litke <alitke(a)redhat.com>
Gerrit-Reviewer: Adam Litke <alitke(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce(a)redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org