24 #ifndef STORAGE_BLK_DEVICE_H 25 #define STORAGE_BLK_DEVICE_H 29 #include "storage/Utils/Swig.h" 30 #include "storage/Devices/Device.h" 31 #include "storage/Filesystems/BlkFilesystem.h" 40 enum class EncryptionType;
52 const std::string& get_name()
const;
53 void set_name(
const std::string& name);
55 const Region& get_region()
const;
73 void set_size(
unsigned long long size);
93 bool is_active()
const;
101 const std::string& get_sysfs_name()
const;
102 const std::string& get_sysfs_path()
const;
389 const Impl& get_impl()
const;
Bcache * create_bcache(const std::string &name)
Creates a Bcache on the blk device.
BcacheCset * get_bcache_cset()
Return the BcacheCset of the block device.
static std::vector< BlkDevice * > get_all(Devicegraph *devicegraph)
Get all BlkDevices.
void set_size(unsigned long long size)
Set the size of the block device.
bool is_usable_as_blk_device() const
Checks whether the blk device is in general usable as a blk device.
Encryption * get_encryption()
Return the Encryption of the block device.
bool has_encryption() const
Return whether the block device has an Encryption.
RemoveInfo detect_remove_info() const
Check whether the device can be removed.
bool has_filesystem() const ST_DEPRECATED
Return whether the block device has a block filesystem.
Definition: BlkDevice.h:260
A bcache device.
Definition: Bcache.h:62
static bool exists_by_any_name(const Devicegraph *devicegraph, const std::string &name, SystemInfo &system_info)
Check if a block device by any name including any symbolic links in /dev.
BlkFilesystem * create_filesystem(FsType fs_type) ST_DEPRECATED
Creates a block filesystem on the block device.
Definition: BlkDevice.h:255
A start/length pair with a block size.
Definition: Region.h:84
void set_dm_table_name(const std::string &dm_table_name)
Set the device-mapper table name (dm-table-name for short).
BlkFilesystem * create_blk_filesystem(FsType fs_type)
Creates a block filesystem on the block device.
const std::vector< std::string > & get_udev_paths() const
Return the names of the udev by-path links of the blk device.
const std::vector< std::string > & get_udev_ids() const
Return the names of the udev by-id links of the blk device.
BlkDevice * to_blk_device(Device *device)
Converts pointer to Device to pointer to BlkDevice.
An encryption layer on a blk device.
Definition: Encryption.h:54
const std::string & get_dm_table_name() const
Return device-mapper table name (dm-table-name for short).
The main container of the libstorage-ng.
Definition: Devicegraph.h:169
const Topology & get_topology() const
Get the topology.
BlkFilesystem * get_blk_filesystem()
Return the block filesystem of the block device.
unsigned long long get_size() const
Returns the size of the block device.
Definition: BlkFilesystem.h:42
An abstract Block Device.
Definition: BlkDevice.h:48
Encryption * create_encryption(const std::string &dm_table_name) ST_DEPRECATED
Creates an encryption device on the blk device.
bool has_bcache() const
Return whether the block device has a BCache.
void set_topology(const Topology &topology)
Set the topology.
An abstract base class for storage devices.
Definition: Device.h:81
A bcache cache set.
Definition: BcacheCset.h:41
const BlkFilesystem * get_filesystem() const ST_DEPRECATED
Return the block filesystem of the block device.
Definition: BlkDevice.h:270
static bool compare_by_dm_table_name(const BlkDevice *lhs, const BlkDevice *rhs)
Compare (less than) two BlkDevices by DM table name.
bool is_read_only() const
Return whether the block device is read-only.
void set_region(const Region ®ion)
The SystemInfo class keeps various system information.
Definition: SystemInfo.h:41
bool has_blk_filesystem() const
Return whether the block device has a block filesystem.
A class to represent hardware alignment information.
Definition: Topology.h:38
The storage namespace.
Definition: Actiongraph.h:39
BcacheCset * create_bcache_cset()
Creates a BcacheCset on the blk device.
std::string get_size_string() const
Returns the size of the block device as a localised string.
bool has_bcache_cset() const
Return whether the block device has a BcacheCset.
Bcache * get_bcache()
Return the Bcache of the block device.
Definition: FreeInfo.h:285
BlkFilesystem * get_filesystem() ST_DEPRECATED
Return the block filesystem of the block device.
Definition: BlkDevice.h:265
bool is_blk_device(const Device *device)
Checks whether device points to an BlkDevice.
void remove_encryption()
Removes an encryption device on the blk device.
static BlkDevice * find_by_any_name(Devicegraph *devicegraph, const std::string &name) ST_DEPRECATED
Find a block device by any name including any symbolic links in /dev.
static BlkDevice * find_by_name(Devicegraph *devicegraph, const std::string &name)
Find a block device by its name.
std::vector< MountByType > possible_mount_bys() const
Returns the possible mount-by methods to reference the block device.