Change in vdsm[master]: Improve StoragePool.detachAllDomains() monitoring.

ewarszaw at redhat.com ewarszaw at redhat.com
Mon Apr 15 13:10:10 UTC 2013


Eduardo has uploaded a new change for review.

Change subject: Improve StoragePool.detachAllDomains() monitoring.
......................................................................

Improve StoragePool.detachAllDomains() monitoring.

Change-Id: Ia48d103894c976bd32396a83da78f5175de73307
Signed-off-by: Eduardo <ewarszaw at redhat.com>
---
M vdsm/storage/hsm.py
M vdsm/storage/sp.py
2 files changed, 9 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/28/13928/1

diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index b560ea4..fd5d7d6 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -1052,6 +1052,7 @@
         for sdUUID in domList:
             vars.task.getExclusiveLock(STORAGE, sdUUID)
 
+        pool.domainMonitor.close()
         pool.detachAllDomains()
         return self._disconnectPool(pool, hostID, scsiKey, remove=True)
 
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 12fbc36..ca20f9a 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -2009,20 +2009,19 @@
     def detachAllDomains(self):
         """
         Detach all domains from pool before destroying pool
-        """
-        # Find out domain list from the pool metadata
-        domList = self.getDomains().keys()
 
-        for sdUUID in domList:
-            # The Master domain should be detached last, after stopping the SPM
-            if sdUUID != self.masterDomain.sdUUID:
-                self.detachSD(sdUUID)
+        Assumed cluster lock and that SPM is already stopped.
+        """
+        # Find regular (i.e. not master) domains from the pool metadata
+        regularDoms = tuple(uuid for uuid in self.getDomains()
+                            if uuid != self.masterDomain.sdUUID)
+        # The Master domain should be detached last
+        for sdUUID in regularDoms:
+            self.detachSD(sdUUID)
 
         # Forced detach master domain
         self.forcedDetachSD(self.masterDomain.sdUUID)
         self.masterDomain.detach(self.spUUID)
-
-        self.updateMonitoringThreads()
 
     def setVolumeDescription(self, sdUUID, imgUUID, volUUID, description):
         imageResourcesNamespace = sd.getNamespace(sdUUID, IMAGE_NAMESPACE)


--
To view, visit http://gerrit.ovirt.org/13928
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia48d103894c976bd32396a83da78f5175de73307
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw at redhat.com>


More information about the vdsm-patches mailing list