libstorage-ng
|
An abstract Block Device. More...
#include <BlkDevice.h>
Public Member Functions | |
const std::string & | get_name () const |
void | set_name (const std::string &name) |
const Region & | get_region () const |
void | set_region (const Region ®ion) |
unsigned long long | get_size () const |
void | set_size (unsigned long long size) |
std::string | get_size_string () const |
Returns the size of the block device as a localised string. More... | |
const Topology & | get_topology () const |
Get the topology. | |
void | set_topology (const Topology &topology) |
Set the topology. More... | |
bool | is_active () const |
const std::string & | get_sysfs_name () const |
const std::string & | get_sysfs_path () const |
const std::vector< std::string > & | get_udev_paths () const |
const std::vector< std::string > & | get_udev_ids () const |
bool | is_usable_as_blk_device () const |
Checks whether the blk device is in general usable as a blk device. More... | |
const std::string & | get_dm_table_name () const |
Return device-mapper table name (dm-table-name for short). More... | |
void | set_dm_table_name (const std::string &dm_table_name) |
BlkFilesystem * | create_blk_filesystem (FsType fs_type) |
Creates a block filesystem on the block device. More... | |
bool | has_blk_filesystem () const |
BlkFilesystem * | get_blk_filesystem () |
const BlkFilesystem * | get_blk_filesystem () const |
BlkFilesystem * | create_filesystem (FsType fs_type) ST_DEPRECATED |
Creates a block filesystem on the block device. More... | |
bool | has_filesystem () const ST_DEPRECATED |
BlkFilesystem * | get_filesystem () ST_DEPRECATED |
const BlkFilesystem * | get_filesystem () const ST_DEPRECATED |
Encryption * | create_encryption (const std::string &dm_name) ST_DEPRECATED |
Creates an encryption device on the blk device. More... | |
Encryption * | create_encryption (const std::string &dm_name, EncryptionType type) |
Creates an encryption device on the blk device. More... | |
void | remove_encryption () |
Removes an encryption device on the blk device. More... | |
bool | has_encryption () const |
Encryption * | get_encryption () |
const Encryption * | get_encryption () const |
Bcache * | create_bcache (const std::string &name) |
Creates a Bcache on the blk device. More... | |
bool | has_bcache () const |
Bcache * | get_bcache () |
const Bcache * | get_bcache () const |
BcacheCset * | create_bcache_cset () |
Creates an BcacheCset on the blk device. More... | |
bool | has_bcache_cset () const |
BcacheCset * | get_bcache_cset () |
const BcacheCset * | get_bcache_cset () const |
std::vector< MountByType > | possible_mount_bys () const |
Returns the possible mount-by methods to reference the block device. | |
Impl & | get_impl () |
const Impl & | get_impl () const |
![]() | |
sid_t | get_sid () const |
bool | operator== (const Device &rhs) const |
bool | operator!= (const Device &rhs) const |
Device * | copy_to_devicegraph (Devicegraph *devicegraph) const |
Copies the device to the devicegraph. More... | |
bool | exists_in_devicegraph (const Devicegraph *devicegraph) const |
Checks if the device exists in the devicegraph. | |
bool | exists_in_probed () const |
Checks if the device exists in the probed devicegraph. | |
bool | exists_in_staging () const |
Checks if the device exists in the staging devicegraph. | |
bool | exists_in_system () const |
Checks if the device exists in the system devicegraph. | |
std::string | get_displayname () const |
ResizeInfo | detect_resize_info () const |
Detect the resize info of the device. More... | |
bool | has_children () const |
size_t | num_children () const |
bool | has_parents () const |
size_t | num_parents () const |
std::vector< Device * > | get_children () |
std::vector< const Device * > | get_children () const |
std::vector< Device * > | get_parents () |
std::vector< const Device * > | get_parents () const |
std::vector< Device * > | get_siblings (bool itself) |
std::vector< const Device * > | get_siblings (bool itself) const |
std::vector< Device * > | get_descendants (bool itself) |
std::vector< const Device * > | get_descendants (bool itself) const |
std::vector< Device * > | get_ancestors (bool itself) |
std::vector< const Device * > | get_ancestors (bool itself) const |
std::vector< Device * > | get_leaves (bool itself) |
std::vector< const Device * > | get_leaves (bool itself) const |
std::vector< Device * > | get_roots (bool itself) |
std::vector< const Device * > | get_roots (bool itself) const |
std::vector< Holder * > | get_in_holders () |
std::vector< const Holder * > | get_in_holders () const |
std::vector< Holder * > | get_out_holders () |
std::vector< const Holder * > | get_out_holders () const |
void | remove_descendants () |
const std::map< std::string, std::string > & | get_userdata () const |
void | set_userdata (const std::map< std::string, std::string > &userdata) |
std::string | get_name_sort_key () const |
Get a sort-key based on the device name. More... | |
Devicegraph * | get_devicegraph () |
const Devicegraph * | get_devicegraph () const |
Impl & | get_impl () |
const Impl & | get_impl () const |
virtual Device * | clone () const =0 |
void | save (xmlNode *node) const |
Static Public Member Functions | |
static std::vector< BlkDevice * > | get_all (Devicegraph *devicegraph) |
Get all BlkDevices. | |
static std::vector< const BlkDevice * > | get_all (const Devicegraph *devicegraph) |
Get all BlkDevices. More... | |
static BlkDevice * | find_by_name (Devicegraph *devicegraph, const std::string &name) |
Find a block device by its name. More... | |
static const BlkDevice * | find_by_name (const Devicegraph *devicegraph, const std::string &name) |
Find a block device by its name. More... | |
static BlkDevice * | find_by_any_name (Devicegraph *devicegraph, const std::string &name) |
Find a block device by any name including any symbolic links in /dev. More... | |
static const BlkDevice * | find_by_any_name (const Devicegraph *devicegraph, const std::string &name) |
Find a block device by any name including any symbolic links in /dev. More... | |
static bool | compare_by_dm_table_name (const BlkDevice *lhs, const BlkDevice *rhs) |
Compare (less than) two BlkDevices by DM table name. More... | |
![]() | |
static std::vector< Device * > | get_all (Devicegraph *devicegraph) |
static std::vector< const Device * > | get_all (const Devicegraph *devicegraph) |
static bool | compare_by_sid (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by sid. | |
static bool | compare_by_name (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by name. More... | |
Protected Member Functions | |
BlkDevice (Impl *impl) | |
![]() | |
Device (Impl *impl) | |
void | create (Devicegraph *devicegraph) |
void | load (Devicegraph *devicegraph) |
An abstract Block Device.
|
static |
Compare (less than) two BlkDevices by DM table name.
The comparison is locale unaware.
Bcache* storage::BlkDevice::create_bcache | ( | const std::string & | name | ) |
Creates a Bcache on the blk device.
If the blk device has children the children will become children of the bcache device.
BcacheCset* storage::BlkDevice::create_bcache_cset | ( | ) |
Creates an BcacheCset on the blk device.
WrongNumberOfChildren |
BlkFilesystem* storage::BlkDevice::create_blk_filesystem | ( | FsType | fs_type | ) |
Creates a block filesystem on the block device.
WrongNumberOfChildren,UnsupportedException |
Encryption* storage::BlkDevice::create_encryption | ( | const std::string & | dm_name | ) |
Creates an encryption device on the blk device.
If the blk device has children the children will become children of the encryption device.
It will also set the mount-by method of the encryption to the storage default mount-by method.
Encryption* storage::BlkDevice::create_encryption | ( | const std::string & | dm_name, |
EncryptionType | type | ||
) |
Creates an encryption device on the blk device.
If the blk device has children the children will become children of the encryption device.
Allowed encryption types are LUKS1, LUKS2 and PLAIN.
It will also set the mount-by method of the encryption to the storage default mount-by method.
|
inline |
Creates a block filesystem on the block device.
WrongNumberOfChildren,UnsupportedException |
|
static |
Find a block device by any name including any symbolic links in /dev.
Function might require a system lookup and is therefore slow. Only works on the probed devicegraph.
DeviceNotFoundByName,DeviceHasWrongType,Exception |
|
static |
Find a block device by any name including any symbolic links in /dev.
Function might require a system lookup and is therefore slow. Only works on the probed devicegraph.
DeviceNotFoundByName,DeviceHasWrongType,Exception |
|
static |
Find a block device by its name.
Only the name returned by get_name() is considered.
DeviceNotFoundByName,DeviceHasWrongType |
|
static |
Find a block device by its name.
Only the name returned by get_name() is considered.
DeviceNotFoundByName,DeviceHasWrongType |
|
static |
Get all BlkDevices.
Bcache* storage::BlkDevice::get_bcache | ( | ) |
WrongNumberOfChildren,DeviceHasWrongType |
const Bcache* storage::BlkDevice::get_bcache | ( | ) | const |
WrongNumberOfChildren,DeviceHasWrongType |
BcacheCset* storage::BlkDevice::get_bcache_cset | ( | ) |
WrongNumberOfChildren,DeviceHasWrongType |
const BcacheCset* storage::BlkDevice::get_bcache_cset | ( | ) | const |
WrongNumberOfChildren,DeviceHasWrongType |
BlkFilesystem* storage::BlkDevice::get_blk_filesystem | ( | ) |
WrongNumberOfChildren,DeviceHasWrongType |
const BlkFilesystem* storage::BlkDevice::get_blk_filesystem | ( | ) | const |
WrongNumberOfChildren,DeviceHasWrongType |
const std::string& storage::BlkDevice::get_dm_table_name | ( | ) | const |
Return device-mapper table name (dm-table-name for short).
Empty if this is not a device-mapper device.
Encryption* storage::BlkDevice::get_encryption | ( | ) |
WrongNumberOfChildren,DeviceHasWrongType |
const Encryption* storage::BlkDevice::get_encryption | ( | ) | const |
WrongNumberOfChildren,DeviceHasWrongType |
|
inline |
WrongNumberOfChildren,DeviceHasWrongType |
|
inline |
WrongNumberOfChildren,DeviceHasWrongType |
std::string storage::BlkDevice::get_size_string | ( | ) | const |
Returns the size of the block device as a localised string.
bool storage::BlkDevice::is_usable_as_blk_device | ( | ) | const |
Checks whether the blk device is in general usable as a blk device.
This is not the case for some DASDs, see doc/dasd.md, extended partitions, LVM thin pools, MD RAID containers, see doc/md-raid.md and host-managed zoned disks.
Does not consider if the blk device is already in use.
void storage::BlkDevice::remove_encryption | ( | ) |
Removes an encryption device on the blk device.
If the encryption device has children the children will become children of the blk device.
WrongNumberOfChildren,DeviceHasWrongType |
void storage::BlkDevice::set_size | ( | unsigned long long | size | ) |
Exception |
void storage::BlkDevice::set_topology | ( | const Topology & | topology | ) |
Set the topology.
Only useful for testsuites.