23 #ifndef STORAGE_LVM_VG_H
24 #define STORAGE_LVM_VG_H
27 #include "storage/Devices/Device.h"
28 #include "storage/Devicegraph.h"
64 void set_vg_name(
const std::string& vg_name);
66 const Region& get_region()
const;
68 unsigned long long get_size()
const;
70 std::string get_size_string()
const;
147 std::vector<LvmPv*> get_lvm_pvs();
148 std::vector<const LvmPv*> get_lvm_pvs()
const;
150 LvmLv* get_lvm_lv(
const std::string& lv_name);
152 std::vector<LvmLv*> get_lvm_lvs();
153 std::vector<const LvmLv*> get_lvm_lvs()
const;
160 const Impl& get_impl()
const;
162 virtual LvmVg* clone()
const override;
171 bool is_lvm_vg(
const Device* device);
unsigned long long number_of_free_extents() const
Calculates the number of free extents in the volume group.
unsigned long long get_extent_size() const
Returns the extent size of the volume group.
LvmLv * create_lvm_lv(const std::string &lv_name, unsigned long long size)
Create a logical volume with name lv_name in the volume group.
A Logical Volume of the Logical Volume Manager (LVM).
Definition: LvmLv.h:38
A Volume Group of the Logical Volume Manager (LVM).
Definition: LvmVg.h:53
A start/length pair with a block size.
Definition: Region.h:71
unsigned long long number_of_used_extents() const
Calculates the number of used extents in the volume group.
void set_extent_size(unsigned long long extent_size)
Set the extent size of the volume group.
const std::string & get_vg_name() const
Get volume group name.
The master container of the libstorage.
Definition: Devicegraph.h:133
An abstract Block Device.
Definition: BlkDevice.h:40
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:73
static std::vector< LvmVg * > get_all(Devicegraph *devicegraph)
Sorted by vg_name.
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.
Base class for storage exceptions.
Definition: Exception.h:113
static LvmVg * find_by_vg_name(Devicegraph *devicegraph, const std::string &vg_name)
Find a volume group by vg-name.
unsigned long long number_of_extents() const
Calculates the number of extents in the volume group.
The storage namespace.
Definition: Actiongraph.h:36
Definition: Devicegraph.h:46