Change in vdsm[master]: Live Merge: Extend internal block volumes during merge
fromani at redhat.com
fromani at redhat.com
Tue Aug 12 09:04:07 UTC 2014
Francesco Romani has posted comments on this change.
Change subject: Live Merge: Extend internal block volumes during merge
......................................................................
Patch Set 2:
(4 comments)
preliminary ACK. Seems OK, but _driveGetActualVolumeChain is also starting to look scary :\
http://gerrit.ovirt.org/#/c/31268/2/vdsm/virt/vm.py
File vdsm/virt/vm.py:
Line 2065: def _getLiveMergeExtendCandidates(self):
Line 2066: ret = {}
Line 2067:
Line 2068: # The common case is that there are no active jobs.
Line 2069: if len(self.conf['_blockJobs'].values()) == 0:
any reason to not simply use
if not self.conf['_blockJobs'].values():
?
Line 2070: return ret
Line 2071:
Line 2072: drives = [d for d in self.getDiskDevices()
Line 2073: if isVdsmImage(d) and bool(d.blockDev)]
Line 2069: if len(self.conf['_blockJobs'].values()) == 0:
Line 2070: return ret
Line 2071:
Line 2072: drives = [d for d in self.getDiskDevices()
Line 2073: if isVdsmImage(d) and bool(d.blockDev)]
why explicit bool() ?
I'm concerned about bugs being hidden by this.
Line 2074: allChains = self._driveGetActualVolumeChain(drives).values()
Line 2075: watermarks = {}
Line 2076: for chain in allChains:
Line 2077: for vol in chain:
Line 2074: allChains = self._driveGetActualVolumeChain(drives).values()
Line 2075: watermarks = {}
Line 2076: for chain in allChains:
Line 2077: for vol in chain:
Line 2078: watermarks[vol['id']] = vol['allocation']
what about
watermarks = dict((vol['id'], vol['allocation'])
for chain in allChains
for vol in chain)
not sure it is cleaner (or actually shorter), though, so feel free to ignore.
Line 2079:
Line 2080: for job in self.conf['_blockJobs'].values():
Line 2081: try:
Line 2082: drive = self._findDriveByUUIDs(job['disk'])
Line 5488: break
Line 5489: sourceAttr = ('file', 'dev')[drive.blockDev]
Line 5490: path = sourceXML.getAttribute(sourceAttr)
Line 5491: info = {'id': pathToVolID(drive, path), 'path': path}
Line 5492: if bool(drive.blockDev):
same as per line 2073
Line 5493: allocXML = findElement(diskXML, 'allocation')
Line 5494: if not allocXML:
Line 5495: self.log.debug("<allocation/> missing from backing "
Line 5496: "chain for block device %s", drive.name)
--
To view, visit http://gerrit.ovirt.org/31268
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I3a9e0ebdb9c42df713c40e0fc5782945eb7228a8
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <alitke at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce at redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
More information about the vdsm-patches
mailing list