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
