X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/197478f258b27bc9e900862fdbc5217528fcf528..678aa6d3c75709d1a0e99ad1fcefb81dc53f9a5e:/lib/bdev.py diff --git a/lib/bdev.py b/lib/bdev.py index 3352885..1378a2f 100644 --- a/lib/bdev.py +++ b/lib/bdev.py @@ -488,24 +488,26 @@ class LogicalVolume(BlockDev): @param filter_readonly: whether to skip over readonly VGs @rtype: list - @return: list of tuples (free_space, name) with free_space in mebibytes + @return: list of tuples (free_space, total_size, name) with free_space in + MiB """ try: - info = cls._GetVolumeInfo("vgs", ["vg_name", "vg_free", "vg_attr"]) + info = cls._GetVolumeInfo("vgs", ["vg_name", "vg_free", "vg_attr", + "vg_size"]) except errors.GenericError, err: logging.error("Can't get VG information: %s", err) return None data = [] - for vg_name, vg_free, vg_attr in info: + for vg_name, vg_free, vg_attr, vg_size in info: # (possibly) skip over vgs which are not writable if filter_readonly and vg_attr[0] == "r": continue # (possibly) skip over vgs which are not in the right volume group(s) if vg_names and vg_name not in vg_names: continue - data.append((float(vg_free), vg_name)) + data.append((float(vg_free), float(vg_size), vg_name)) return data @@ -702,7 +704,7 @@ class LogicalVolume(BlockDev): vg_info = self.GetVGInfo([self._vg_name]) if not vg_info: _ThrowError("Can't compute VG info for vg %s", self._vg_name) - free_size, _ = vg_info[0] + free_size, _, _ = vg_info[0] if free_size < size: _ThrowError("Not enough free space: required %s," " available %s", size, free_size)