23 #ifndef STORAGE_LVM_VG_H 24 #define STORAGE_LVM_VG_H 27 #include "storage/Devices/Device.h" 28 #include "storage/Devices/LvmLv.h" 29 #include "storage/Devicegraph.h" 70 void set_vg_name(
const std::string& vg_name);
72 const Region& get_region()
const;
74 unsigned long long get_size()
const;
76 std::string get_size_string()
const;
146 unsigned long long size);
148 LvmLv*
create_lvm_lv(
const std::string& lv_name,
unsigned long long size) ST_DEPRECATED;
178 std::vector<LvmPv*> get_lvm_pvs();
179 std::vector<const LvmPv*> get_lvm_pvs()
const;
186 std::vector<LvmLv*> get_lvm_lvs();
187 std::vector<const LvmLv*> get_lvm_lvs()
const;
199 const Impl& get_impl()
const;
201 virtual LvmVg* clone()
const override;
210 bool is_lvm_vg(
const Device* device);
unsigned long long max_size_for_lvm_lv(LvType lv_type) const
Return the max size in bytes for a new logical volume of type lv_type.
A Logical Volume of the Logical Volume Manager (LVM).
Definition: LvmLv.h:57
unsigned long long number_of_used_extents() const
Calculates the number of used extents in the volume group.
A Volume Group of the Logical Volume Manager (LVM).
Definition: LvmVg.h:59
static bool compare_by_vg_name(const LvmVg *lhs, const LvmVg *rhs)
Compare (less than) two LvmVgs by vg-name.
A start/length pair with a block size.
Definition: Region.h:73
const std::string & get_vg_name() const
Get volume group name.
void set_extent_size(unsigned long long extent_size)
Set the extent size of the volume group.
The master container of the libstorage.
Definition: Devicegraph.h:153
An abstract Block Device.
Definition: BlkDevice.h:41
unsigned long long get_extent_size() const
Returns the extent size of the volume group.
LvmPv * add_lvm_pv(BlkDevice *blk_device)
Adds a block device as a physical volume to the volume group.
An abstract base class of storage devices, and a vertex in the Devicegraph.
Definition: Device.h:75
unsigned long long number_of_extents() const
Calculates the number of extents in the volume group.
Definition: Devicegraph.h:48
bool is_overcommitted() const
Check whether the volume group is overcommitted.
static std::vector< LvmVg * > get_all(Devicegraph *devicegraph)
Get all LvmVgs.
LvmLv * create_lvm_lv(const std::string &lv_name, LvType lv_type, unsigned long long size)
Create a logical volume with name lv_name and type lv_type in the volume group.
void delete_lvm_lv(LvmLv *lvm_lv)
Delete a logical volume in the volume group.
void remove_lvm_pv(BlkDevice *blk_device)
Removes a block device from the volume group.
unsigned long long number_of_free_extents() const
Calculates the number of free extents in the volume group.
Base class for storage exceptions.
Definition: Exception.h:113
LvmLv * get_lvm_lv(const std::string &lv_name)
static LvmVg * find_by_vg_name(Devicegraph *devicegraph, const std::string &vg_name)
Find a volume group by vg-name.
The storage namespace.
Definition: Actiongraph.h:37
LvmVg * to_lvm_vg(Device *device)
Converts pointer to Device to pointer to LvmVg.
LvType
LVM logical volume types, see lvs(8).
Definition: LvmLv.h:40