Adam Litke has uploaded a new change for review.

Change subject: StorageDomainManifest: move BlockSD.getVSize
......................................................................

StorageDomainManifest: move BlockSD.getVSize

getVSize is one of the first functions needed by the VolumeMetadata
refactoring later on in the series.  BlockVolume.getVolumeSize currently
calls into the StorageDomain to get the volume size.  Since
VolumeMetadata cannot create StorageDomain objects we move getVSize into
the manifest which can be safely instantiated.

Change-Id: Ib00eba218cfb4af201aebcdc5071f95164c31687
Signed-off-by: Adam Litke <[email protected]>
---
M vdsm/storage/blockSD.py
1 file changed, 16 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/94/41994/1

diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index 8674dba..362ee28 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -404,6 +404,21 @@
         metadata = selectMetadata(sdUUID)
         sd.StorageDomainManifest.__init__(self, sdUUID, domaindir, metadata)
 
+    def getVSize(self, imgUUUID, volUUID):
+        """ Return the block volume size in bytes. """
+        try:
+            size = _tellEnd(lvm.lvPath(self.sdUUID, volUUID))
+        except IOError as e:
+            if e.errno == os.errno.ENOENT:
+                # Inactive volume has no /dev entry. Fallback to lvm way.
+                size = lvm.getLV(self.sdUUID, volUUID).size
+            else:
+                self.log.warn("Could not get size for vol %s/%s",
+                              self.sdUUID, volUUID, exc_info=True)
+                raise
+
+        return int(size)
+
 
 class BlockStorageDomain(sd.StorageDomain):
     ManifestClass = BlockStorageDomainManifest
@@ -612,19 +627,7 @@
         return blockVolume.BlockVolume
 
     def getVSize(self, imgUUID, volUUID):
-        """ Return the block volume size in bytes. """
-        try:
-            size = _tellEnd(lvm.lvPath(self.sdUUID, volUUID))
-        except IOError as e:
-            if e.errno == os.errno.ENOENT:
-                # Inactive volume has no /dev entry. Fallback to lvm way.
-                size = lvm.getLV(self.sdUUID, volUUID).size
-            else:
-                self.log.warn("Could not get size for vol %s/%s",
-                              self.sdUUID, volUUID, exc_info=True)
-                raise
-
-        return int(size)
+        return self.manifest.getVSize(imgUUID, volUUID)
 
     getVAllocSize = getVSize
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib00eba218cfb4af201aebcdc5071f95164c31687
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to