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