Hello Adam Litke, Nir Soffer,

I'd like you to do a code review.  Please visit

    https://gerrit.ovirt.org/64986

to review the following change.

Change subject: Live Merge: Remove volume run link after live merge
......................................................................

Live Merge: Remove volume run link after live merge

When deleting a volume while the VM is running, volume teardown doesn't
remove the volume run symbolic link: /run/vdsm/storage/sdUUID/volUUID.
In patch Iec3b6a (Live Merge: teardown volume on HSM after live merge)
we added volume teardown logic that, for block storage it deactivated
the volume. In this patch we extend volume teardown logic to unlink
volume run link.
Note that this change isn't required for file storage as no symbolic
links are created.

Change-Id: Ib88bf92e702ac6c324b87c9459b01adf165eaca4
Bug-Url: https://bugzilla.redhat.com/1321018
Signed-off-by: Ala Hino <ah...@redhat.com>
Reviewed-on: https://gerrit.ovirt.org/59725
Reviewed-by: Nir Soffer <nsof...@redhat.com>
Reviewed-by: Adam Litke <ali...@redhat.com>
Continuous-Integration: Nir Soffer <nsof...@redhat.com>
---
M vdsm/storage/blockSD.py
1 file changed, 15 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/86/64986/1

diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index 58d2507..f977150 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -813,6 +813,21 @@
 
     def teardownVolume(self, imgUUID, volUUID):
         lvm.deactivateLVs(self.sdUUID, [volUUID])
+        self.removeVolumeRunLink(imgUUID, volUUID)
+
+    def removeVolumeRunLink(self, imgUUID, volUUID):
+        """
+        Remove /run/vdsm/storage/sdUUID/imgUUID/volUUID
+        """
+        vol_run_link = os.path.join(constants.P_VDSM_STORAGE,
+                                    self.sdUUID, imgUUID, volUUID)
+        self.log.info("Unlinking volme runtime link: %r", vol_run_link)
+        try:
+            os.unlink(vol_run_link)
+        except OSError as e:
+            if e.error != errno.ENOENT:
+                raise
+            self.log.debug("Volume run link %r does not exist", vol_run_link)
 
 
 class BlockStorageDomain(sd.StorageDomain):


-- 
To view, visit https://gerrit.ovirt.org/64986
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib88bf92e702ac6c324b87c9459b01adf165eaca4
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-4.0
Gerrit-Owner: Ala Hino <ah...@redhat.com>
Gerrit-Reviewer: Adam Litke <ali...@redhat.com>
Gerrit-Reviewer: Nir Soffer <nsof...@redhat.com>
_______________________________________________
vdsm-patches mailing list -- vdsm-patches@lists.fedorahosted.org
To unsubscribe send an email to vdsm-patches-le...@lists.fedorahosted.org

Reply via email to