libstorage-ng
|
Class to represent a btrfs subvolume in the devicegraph. More...
#include <BtrfsSubvolume.h>
Public Member Functions | |
long | get_id () const |
Get the id of the btrfs subvolume. More... | |
bool | is_top_level () const |
Check whether the subvolume is the top-level subvolume. | |
const std::string & | get_path () const |
Get the path of the btrfs subvolume. | |
bool | is_nocow () const |
Get the copy-on-write (COW) flag of the btrfs subvolume. | |
void | set_nocow (bool nocow) |
Set the copy-on-write (COW) flag of the btrfs subvolume. More... | |
bool | is_default_btrfs_subvolume () const |
Check whether the subvolume is the default subvolume. | |
void | set_default_btrfs_subvolume () |
Set the subvolume to be the default subvolume. More... | |
Btrfs * | get_btrfs () |
Return the btrfs filesystem of the btrfs subvolume. | |
const Btrfs * | get_btrfs () const |
Return the btrfs filesystem of the btrfs subvolume. More... | |
BtrfsSubvolume * | get_top_level_btrfs_subvolume () |
Return the top-level subvolume. More... | |
const BtrfsSubvolume * | get_top_level_btrfs_subvolume () const |
Return the top-level subvolume. More... | |
bool | has_snapshots () const |
Check whether the btrfs subvolume has snapshots. | |
std::vector< BtrfsSubvolume * > | get_snapshots () |
Get snapshots of the btrfs subvolume. More... | |
std::vector< const BtrfsSubvolume * > | get_snapshots () const |
Get snapshots of the btrfs subvolume. More... | |
bool | has_origin () const |
Check whether the btrfs subvolume has an origin. More... | |
BtrfsSubvolume * | get_origin () |
Get the origin of the btrfs subvolume if it has one. More... | |
const BtrfsSubvolume * | get_origin () const |
Get the origin of the btrfs subvolume if it has one. More... | |
bool | has_btrfs_qgroup () const |
Return whether the subvolume as a corresponding level 0 qgroup. | |
BtrfsQgroup * | get_btrfs_qgroup () |
Return the corresponding level 0 qgroup of the subvolume. More... | |
const BtrfsQgroup * | get_btrfs_qgroup () const |
Return the corresponding level 0 qgroup of the subvolume. More... | |
BtrfsQgroup * | create_btrfs_qgroup () |
Create the corresponding level 0 qgroup for the subvolume. More... | |
BtrfsSubvolume * | create_btrfs_subvolume (const std::string &path) |
Create a btrfs subvolume for the btrfs subvolume. More... | |
Impl & | get_impl () |
const Impl & | get_impl () const |
virtual BtrfsSubvolume * | clone () const override |
![]() | |
bool | supports_mount () const |
Checks whether the library supports mounting the mountable. More... | |
MountPoint * | create_mount_point (const std::string &path) |
Create a new mount point for the mountable with path. More... | |
bool | has_mount_point () const |
Checks whether the mountable has a mount point. | |
MountPoint * | get_mount_point () |
Returns the mount point of the mountable. | |
const MountPoint * | get_mount_point () const |
Returns the mount point of the mountable. More... | |
void | remove_mount_point () |
Removes the mount point from the mountable. More... | |
bool | has_filesystem () const |
Checks whether the mountable has a filesystem. More... | |
Filesystem * | get_filesystem () |
Return the filesystem of the mountable. More... | |
const Filesystem * | get_filesystem () const |
Return the filesystem of the mountable. More... | |
MountByType | get_mount_by () const ST_DEPRECATED |
void | set_mount_by (MountByType mount_by) ST_DEPRECATED |
const std::vector< std::string > & | get_mount_opts () const ST_DEPRECATED |
void | set_mount_opts (const std::vector< std::string > &mount_opts) ST_DEPRECATED |
const std::vector< std::string > & | get_fstab_options () const ST_DEPRECATED |
void | set_fstab_options (const std::vector< std::string > &mount_opts) ST_DEPRECATED |
Impl & | get_impl () |
const Impl & | get_impl () const |
![]() | |
sid_t | get_sid () const |
Return the storage id (sid) of the device. More... | |
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_children (View view) |
Get all children of the device. | |
std::vector< const Device * > | get_children (View view) const |
Get all children of the device. More... | |
std::vector< Device * > | get_parents () |
std::vector< const Device * > | get_parents () const |
std::vector< Device * > | get_parents (View view) |
Get all parents of the device. | |
std::vector< const Device * > | get_parents (View view) const |
Get all parents of the device. More... | |
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_descendants (bool itself, View view) |
std::vector< const Device * > | get_descendants (bool itself, View view) 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 () ST_DEPRECATED |
void | remove_descendants (View view) |
Remove all descendants of the device. More... | |
const std::map< std::string, std::string > & | get_userdata () const |
Return the userdata of the device. | |
void | set_userdata (const std::map< std::string, std::string > &userdata) |
Set the userdata of the device. | |
std::string | get_name_sort_key () const |
Get a sort-key based on the device name. More... | |
Devicegraph * | get_devicegraph () |
Return the devicegraph the device belongs to. | |
const Devicegraph * | get_devicegraph () const |
Return the devicegraph the device belongs to. More... | |
Impl & | get_impl () |
const Impl & | get_impl () const |
void | save (xmlNode *node) const ST_DEPRECATED |
Static Public Member Functions | |
static BtrfsSubvolume * | create (Devicegraph *devicegraph, const std::string &path) |
Create a device of type BtrfsSubvolume. More... | |
static BtrfsSubvolume * | load (Devicegraph *devicegraph, const xmlNode *node) |
static bool | compare_by_id (const BtrfsSubvolume *lhs, const BtrfsSubvolume *rhs) |
Compare (less than) two BtrfsSubvolumes by id. More... | |
![]() | |
static std::vector< Mountable * > | get_all (Devicegraph *devicegraph) |
Get all Mountables. | |
static std::vector< const Mountable * > | get_all (const Devicegraph *devicegraph) |
Get all Mountables. More... | |
![]() | |
static std::vector< Device * > | get_all (Devicegraph *devicegraph) |
Get all Devices. | |
static std::vector< const Device * > | get_all (const Devicegraph *devicegraph) |
Get all Devices. More... | |
static bool | compare_by_sid (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by sid. More... | |
static bool | compare_by_name (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by name. More... | |
Protected Member Functions | |
BtrfsSubvolume (Impl *impl) | |
![]() | |
Mountable (Impl *impl) | |
![]() | |
Device (Impl *impl) | |
void | create (Devicegraph *devicegraph) |
Create a device in the devicegraph. More... | |
void | load (Devicegraph *devicegraph) |
Class to represent a btrfs subvolume in the devicegraph.
|
static |
Compare (less than) two BtrfsSubvolumes by id.
|
static |
Create a device of type BtrfsSubvolume.
Usually this function is not called directly. Instead BtrfsSubvolume::create_btrfs_subvolume() is called.
BtrfsQgroup* storage::BtrfsSubvolume::create_btrfs_qgroup | ( | ) |
Create the corresponding level 0 qgroup for the subvolume.
Usually the qgroup already exists (if quota is enabled) unless it was removed by the user. Quota must be enabled.
Exception |
BtrfsSubvolume* storage::BtrfsSubvolume::create_btrfs_subvolume | ( | const std::string & | path | ) |
Create a btrfs subvolume for the btrfs subvolume.
If quota is enabled for the btrfs also the corresponding level 0 qgroup is created.
Exception |
const Btrfs* storage::BtrfsSubvolume::get_btrfs | ( | ) | const |
Return the btrfs filesystem of the btrfs subvolume.
BtrfsQgroup* storage::BtrfsSubvolume::get_btrfs_qgroup | ( | ) |
Return the corresponding level 0 qgroup of the subvolume.
Exception |
const BtrfsQgroup* storage::BtrfsSubvolume::get_btrfs_qgroup | ( | ) | const |
Return the corresponding level 0 qgroup of the subvolume.
Exception |
long storage::BtrfsSubvolume::get_id | ( | ) | const |
Get the id of the btrfs subvolume.
For newly created btrfs subvolumes the id is -1.
BtrfsSubvolume* storage::BtrfsSubvolume::get_origin | ( | ) |
const BtrfsSubvolume* storage::BtrfsSubvolume::get_origin | ( | ) | const |
std::vector<BtrfsSubvolume*> storage::BtrfsSubvolume::get_snapshots | ( | ) |
Get snapshots of the btrfs subvolume.
std::vector<const BtrfsSubvolume*> storage::BtrfsSubvolume::get_snapshots | ( | ) | const |
Get snapshots of the btrfs subvolume.
BtrfsSubvolume* storage::BtrfsSubvolume::get_top_level_btrfs_subvolume | ( | ) |
Return the top-level subvolume.
const BtrfsSubvolume* storage::BtrfsSubvolume::get_top_level_btrfs_subvolume | ( | ) | const |
Return the top-level subvolume.
bool storage::BtrfsSubvolume::has_origin | ( | ) | const |
Check whether the btrfs subvolume has an origin.
In other words, whether it is a snapshot. Note that here a snapshot stops being considered a snapshot if the origin has been removed.
The term "origin" is not used with btrfs but with LVM. Unfortunately btrfs is not consistent with the names: With 'btrfs subvolume snapshot' the thing is called "source", with 'btrfs subvolume list' the thing is called "parent_uuid" (but not "parent_id"). Both "source" and "parent" are already used in libstorage-ng.
void storage::BtrfsSubvolume::set_default_btrfs_subvolume | ( | ) |
Set the subvolume to be the default subvolume.
void storage::BtrfsSubvolume::set_nocow | ( | bool | nocow | ) |
Set the copy-on-write (COW) flag of the btrfs subvolume.