def extend(self, devlist): mapping = self.readMetadataMapping().values() if self.getVersion() in VERS_METADATA_LV: if len(mapping) + len(devlist) > MAX_PVS: raise se.StorageDomainIsMadeFromTooManyPVs() self._extendlock.acquire() try: knowndevs = list(multipath.getMPDevNamesIter()) devices = [] for dev in devlist: if dev in knowndevs: devices.append(dev) else: raise se.InvalidPhysDev(dev) lvm.extendVG(self.sdUUID, devices) self.updateMapping() newsize = self.metaSize(self.sdUUID) lvm.extendLV(self.sdUUID, sd.METADATA, newsize) finally: self._extendlock.release()
def extendVolume(self, volumeUUID, size, isShuttingDown=None): self._extendlock.acquire() try: # FIXME: following line. lvm.extendLV(self.sdUUID, volumeUUID, size) # , isShuttingDown) finally: self._extendlock.release()
def extend(self, newSize): """Extend a logical volume 'newSize' - new size in blocks """ self.log.info("Request to extend LV %s of image %s in VG %s with size = %s", self.volUUID, self.imgUUID, self.sdUUID, newSize) # we should return: Success/Failure # Backend APIs: sizemb = (newSize + 2047) / 2048 lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
def extend(self, newSize): """Extend a logical volume 'newSize' - new size in blocks """ self.log.info( "Request to extend LV %s of image %s in VG %s with " "size = %s", self.volUUID, self.imgUUID, self.sdUUID, newSize) # we should return: Success/Failure # Backend APIs: sizemb = (newSize + SECTORS_TO_MB - 1) / SECTORS_TO_MB lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
def extend(self, devlist, force): with self._extendlock: if self.getVersion() in VERS_METADATA_LV: mapping = self.readMetadataMapping().values() if len(mapping) + len(devlist) > MAX_PVS: raise se.StorageDomainIsMadeFromTooManyPVs() knowndevs = set(multipath.getMPDevNamesIter()) unknowndevs = set(devlist) - knowndevs if unknowndevs: raise se.InaccessiblePhysDev(unknowndevs) lvm.extendVG(self.sdUUID, devlist, force) self.updateMapping() newsize = self.metaSize(self.sdUUID) lvm.extendLV(self.sdUUID, sd.METADATA, newsize)
def _extendSizeRaw(self, newSize): # Since this method relies on lvm.extendLV (lvextend) when the # requested size is equal or smaller than the current size, the # request is siliently ignored. newSizeMb = (newSize + SECTORS_TO_MB - 1) / SECTORS_TO_MB lvm.extendLV(self.sdUUID, self.volUUID, newSizeMb)