Ayal Baron has posted comments on this change.

Change subject: getAllVolumes returns partially deleted volumes too.
......................................................................


Patch Set 2: (5 inline comments)

....................................................
File vdsm/storage/blockSD.py
Line 170:     for volName, vImg, parentVol in vols.itervalues():
Line 171:         res[volName]['parent'] = parentVol
Line 172:         if vImg not in res[volName]['imgs']:
Line 173:             res[volName]['imgs'].insert(0, vImg)
Line 174:         if parentVol != sd.BLANK_UUID:
why not return the partial images here separately already?
Line 175:             try:
Line 176:                 newImg = vImg not in res[parentVol]['imgs']
Line 177:             except KeyError:
Line 178:                 log.warning("Orphan volume %s/%s: img: %s, parent %s",


Line 172:         if vImg not in res[volName]['imgs']:
Line 173:             res[volName]['imgs'].insert(0, vImg)
Line 174:         if parentVol != sd.BLANK_UUID:
Line 175:             try:
Line 176:                 newImg = vImg not in res[parentVol]['imgs']
s/newImg/imageIsNew/
newImg sounds like an image object
imageIsNew is clearly a boolean
Line 177:             except KeyError:
Line 178:                 log.warning("Orphan volume %s/%s: img: %s, parent %s",
Line 179:                             sdUUID, volName, vImg, parentVol)
Line 180:             else:


Line 174:         if parentVol != sd.BLANK_UUID:
Line 175:             try:
Line 176:                 newImg = vImg not in res[parentVol]['imgs']
Line 177:             except KeyError:
Line 178:                 log.warning("Orphan volume %s/%s: img: %s, parent %s",
You're not really saying anything here to the user.
Should be: "Found a broken image..., delete manually or restore parent"
or something
Line 179:                             sdUUID, volName, vImg, parentVol)
Line 180:             else:
Line 181:                 if newImg:
Line 182:                     res[parentVol]['imgs'].append(vImg)


Line 1016:         for complete images.
Line 1017:         remnants (same) for broken imgs, orphan volumes, etc.
Line 1018:         """
Line 1019:         vols = {}  # The "legal" volumes: not half deleted/removed 
volumes.
Line 1020:         remnants = {}  # vols belongs to a partially deleted imgs
s/vols belongs/volumes which are part of an incomplete image (probably due to 
failed delete)
Line 1021:         allVols = getAllVolumes(self.sdUUID)
Line 1022:         for volName, ip in allVols.iteritems():
Line 1023:             images, parent = ip
Line 1024:             if (volName.startswith(sd.REMOVED_IMAGE_PREFIX) or


Line 1025:                     ip.imgs[0].startswith(sd.REMOVED_IMAGE_PREFIX)):
Line 1026:                         remnants[volName] = ip
Line 1027:             else:
Line 1028:                 vols[volName] = ip
Line 1029:         return vols, remnants
I don't understand why we need this function and this logic is not part of 
getAllVolumes(sdUUID)
Line 1030: 
Line 1031:     def getAllVolumes(self):
Line 1032:         vols, rems = self.getAllVolumesImages()
Line 1033:         return vols


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib8514236a5d4793f66709e9daf546fb46047414f
Gerrit-PatchSet: 2
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewars...@redhat.com>
Gerrit-Reviewer: Ayal Baron <aba...@redhat.com>
Gerrit-Reviewer: Daniel Paikov <pai...@gmail.com>
Gerrit-Reviewer: Eduardo <ewars...@redhat.com>
Gerrit-Reviewer: Gadi Ickowicz <gicko...@redhat.com>
Gerrit-Reviewer: Haim Ateya <hat...@redhat.com>
Gerrit-Reviewer: Yeela Kaplan <ykap...@redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
_______________________________________________
vdsm-patches mailing list
vdsm-patches@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to