|
Packit |
2ba279 |
Features
|
|
Packit |
2ba279 |
=========
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
*libblockdev* is a C library supporting GObject introspection for manipulation
|
|
Packit |
2ba279 |
of block devices. It has a plugin-based architecture where each technology (like
|
|
Packit |
2ba279 |
LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly
|
|
Packit |
2ba279 |
with multiple implementations (e.g. using LVM CLI or the new LVM DBus
|
|
Packit |
2ba279 |
API). Every plugin is also usable as a standalone shared library.
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
partitions
|
|
Packit |
2ba279 |
-----------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
MBR, GPT, partition manipulation on partitionable devices
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* mklabel
|
|
Packit |
2ba279 |
* create_part
|
|
Packit |
2ba279 |
* resize_part
|
|
Packit |
2ba279 |
* remove_part
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
filesystems
|
|
Packit |
2ba279 |
------------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
* DONE: ext2, ext3, ext4, xfs, vfat, ntfs
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* make_FSTYPE
|
|
Packit |
2ba279 |
* resize_FSTYPE
|
|
Packit |
2ba279 |
* check_FSTYPE
|
|
Packit |
2ba279 |
* repair_FSTYPE
|
|
Packit |
2ba279 |
* change_label_FSTYPE
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* wipefs
|
|
Packit |
2ba279 |
* mount
|
|
Packit |
2ba279 |
* unmount
|
|
Packit |
2ba279 |
* generic_resize
|
|
Packit |
2ba279 |
* freeze
|
|
Packit |
2ba279 |
* unfreeze
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
LVM
|
|
Packit |
2ba279 |
----
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
"plain LVM", LVM Thin Provisioning
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:TODO:
|
|
Packit |
2ba279 |
* read-only locking and default config
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* get_global_config
|
|
Packit |
2ba279 |
* set_global_config
|
|
Packit |
2ba279 |
* get_possible_pe_sizes
|
|
Packit |
2ba279 |
* is_supported_pe_size
|
|
Packit |
2ba279 |
* get_max_lv_size
|
|
Packit |
2ba279 |
* round_size_to_pe
|
|
Packit |
2ba279 |
* get_lv_physical_size
|
|
Packit |
2ba279 |
* get_thpool_padding
|
|
Packit |
2ba279 |
* is_valid_thpool_metadata_size
|
|
Packit |
2ba279 |
* is_valid_thpool_chunk_size
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* pvcreate
|
|
Packit |
2ba279 |
* pvresize
|
|
Packit |
2ba279 |
* pvremove
|
|
Packit |
2ba279 |
* pvmove
|
|
Packit |
2ba279 |
* pvscan
|
|
Packit |
2ba279 |
* pvinfo
|
|
Packit |
2ba279 |
* pvs
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* vgcreate
|
|
Packit |
2ba279 |
* vgextend
|
|
Packit |
2ba279 |
* vgremove
|
|
Packit |
2ba279 |
* vgactivate
|
|
Packit |
2ba279 |
* vgdeactivate
|
|
Packit |
2ba279 |
* vgreduce
|
|
Packit |
2ba279 |
* vginfo
|
|
Packit |
2ba279 |
* vgs
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* lvorigin
|
|
Packit |
2ba279 |
* lvcreate
|
|
Packit |
2ba279 |
* lvremove
|
|
Packit |
2ba279 |
* lvresize
|
|
Packit |
2ba279 |
* lvactivate
|
|
Packit |
2ba279 |
* lvdeactivate
|
|
Packit |
2ba279 |
* lvsnapshotcreate
|
|
Packit |
2ba279 |
* lvsnapshotmerge
|
|
Packit |
2ba279 |
* lvinfo
|
|
Packit |
2ba279 |
* lvs
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* thpoolcreate
|
|
Packit |
2ba279 |
* thlvcreate
|
|
Packit |
2ba279 |
* thlvpoolname
|
|
Packit |
2ba279 |
* thsnapshotcreate
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* cache_get_default_md_size
|
|
Packit |
2ba279 |
* cache_get_mode_str
|
|
Packit |
2ba279 |
* cache_get_mode_from_str
|
|
Packit |
2ba279 |
* cache_create_pool
|
|
Packit |
2ba279 |
* cache_attach
|
|
Packit |
2ba279 |
* cache_detach
|
|
Packit |
2ba279 |
* cache_create_cached_lv
|
|
Packit |
2ba279 |
* cache_pool_name
|
|
Packit |
2ba279 |
* cache_stats
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* data_lv_name
|
|
Packit |
2ba279 |
* metadata_lv_name
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* thpool_convert
|
|
Packit |
2ba279 |
* cache_pool_convert
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
BTRFS
|
|
Packit |
2ba279 |
------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
btrfs as both filesystem and multi-device volume, subvolumes, snapshots
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* create_volume
|
|
Packit |
2ba279 |
* add_device
|
|
Packit |
2ba279 |
* remove_device
|
|
Packit |
2ba279 |
* list_devices
|
|
Packit |
2ba279 |
* create_subvolume
|
|
Packit |
2ba279 |
* delete_subvolume
|
|
Packit |
2ba279 |
* list_subvolumes
|
|
Packit |
2ba279 |
* get_default_subvolume
|
|
Packit |
2ba279 |
* set_default_subvolume
|
|
Packit |
2ba279 |
* create_snapshot
|
|
Packit |
2ba279 |
* filesystem_info
|
|
Packit |
2ba279 |
* mkfs
|
|
Packit |
2ba279 |
* resize
|
|
Packit |
2ba279 |
* check
|
|
Packit |
2ba279 |
* repair
|
|
Packit |
2ba279 |
* change_label
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
SWAP
|
|
Packit |
2ba279 |
-----
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
swap partitions/LVs, swap files
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* mkswap
|
|
Packit |
2ba279 |
* swapon
|
|
Packit |
2ba279 |
* swapoff
|
|
Packit |
2ba279 |
* swapstatus
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
MDRAID
|
|
Packit |
2ba279 |
-------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
all RAID levels supported by the MD RAID
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* get_superblock_size
|
|
Packit |
2ba279 |
* create
|
|
Packit |
2ba279 |
* destroy
|
|
Packit |
2ba279 |
* activate
|
|
Packit |
2ba279 |
* deactivate
|
|
Packit |
2ba279 |
* run
|
|
Packit |
2ba279 |
* nominate
|
|
Packit |
2ba279 |
* denominate
|
|
Packit |
2ba279 |
* add
|
|
Packit |
2ba279 |
* remove
|
|
Packit |
2ba279 |
* examine
|
|
Packit |
2ba279 |
* canonicalize_uuid
|
|
Packit |
2ba279 |
* get_md_uuid
|
|
Packit |
2ba279 |
* detail
|
|
Packit |
2ba279 |
* node_from_name
|
|
Packit |
2ba279 |
* name_from_node
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
CRYPTO/LUKS
|
|
Packit |
2ba279 |
------------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
LUKS1 and LUKS2 encrypted devices, TrueCrypt/VeraCrypt devices (open/close only)
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* generate_backup_passphrase
|
|
Packit |
2ba279 |
* device_is_luks
|
|
Packit |
2ba279 |
* luks_uuid
|
|
Packit |
2ba279 |
* luks_status
|
|
Packit |
2ba279 |
* luks_format
|
|
Packit |
2ba279 |
* luks_open
|
|
Packit |
2ba279 |
* luks_close
|
|
Packit |
2ba279 |
* luks_add_key
|
|
Packit |
2ba279 |
* luks_remove_key
|
|
Packit |
2ba279 |
* luks_change_key
|
|
Packit |
2ba279 |
* luks_resize
|
|
Packit |
2ba279 |
* luks_suspend
|
|
Packit |
2ba279 |
* luks_resume
|
|
Packit |
2ba279 |
* luks_header_backup
|
|
Packit |
2ba279 |
* luks_header_restore
|
|
Packit |
2ba279 |
* luks_kill_slot
|
|
Packit |
2ba279 |
* luks_info
|
|
Packit |
2ba279 |
* integrity_info
|
|
Packit |
2ba279 |
* escrow_device
|
|
Packit |
2ba279 |
* tc_open
|
|
Packit |
2ba279 |
* tc_close
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
MULTIPATH
|
|
Packit |
2ba279 |
----------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
just very basic functionality
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* flush_mpaths
|
|
Packit |
2ba279 |
* device_is_mpath_member
|
|
Packit |
2ba279 |
* get_mpath_members
|
|
Packit |
2ba279 |
* set_friendly_names
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
LOOP
|
|
Packit |
2ba279 |
-----
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
basic operations with loop devices
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* get_backing_file
|
|
Packit |
2ba279 |
* get_loop_name
|
|
Packit |
2ba279 |
* loop_setup
|
|
Packit |
2ba279 |
* loop_teardown
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
DEVICE MAPPER
|
|
Packit |
2ba279 |
--------------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
basic operations with raw device mapper and DM RAID sets
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* create_linear
|
|
Packit |
2ba279 |
* remove
|
|
Packit |
2ba279 |
* node_from_name
|
|
Packit |
2ba279 |
* name_from_node
|
|
Packit |
2ba279 |
* map_exists
|
|
Packit |
2ba279 |
* get_member_raid_sets
|
|
Packit |
2ba279 |
* activate_raid_set
|
|
Packit |
2ba279 |
* deactivate_raid_set
|
|
Packit |
2ba279 |
* get_raid_set_type
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
s390
|
|
Packit |
2ba279 |
-----
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
DASD, zFCP
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* s390_dasd_format
|
|
Packit |
2ba279 |
* s390_dasd_needs_format
|
|
Packit |
2ba279 |
* s390_dasd_online
|
|
Packit |
2ba279 |
* s390_dasd_is_ldl
|
|
Packit |
2ba279 |
* s390_dasd_is_fba
|
|
Packit |
2ba279 |
* s390_sanitize_dev_input
|
|
Packit |
2ba279 |
* s390_zfcp_sanitize_wwpn_input
|
|
Packit |
2ba279 |
* s390_zfcp_sanitize_lun_input
|
|
Packit |
2ba279 |
* s390_zfcp_online
|
|
Packit |
2ba279 |
* s390_zfcp_scsi_offline
|
|
Packit |
2ba279 |
* s390_zfcp_offline
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
KBD (Kernel Block Devices)
|
|
Packit |
2ba279 |
---------------------------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
bcache, zram
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* bcache_create
|
|
Packit |
2ba279 |
* bcache_destroy
|
|
Packit |
2ba279 |
* bcache_attach
|
|
Packit |
2ba279 |
* bcache_detach
|
|
Packit |
2ba279 |
* bcache_status
|
|
Packit |
2ba279 |
* bcache_set_mode
|
|
Packit |
2ba279 |
* bcache_get_mode
|
|
Packit |
2ba279 |
* bcache_get_backing_device
|
|
Packit |
2ba279 |
* bcache_get_cache_device
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
* zram_create_devices
|
|
Packit |
2ba279 |
* zram_destroy_devices
|
|
Packit |
2ba279 |
* zram_get_stats
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
NVDIMM
|
|
Packit |
2ba279 |
-------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:supported technologies:
|
|
Packit |
2ba279 |
namespaces
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* namespace_enable
|
|
Packit |
2ba279 |
* namespace_disable
|
|
Packit |
2ba279 |
* namespace_info
|
|
Packit |
2ba279 |
* namespace_reconfigure
|
|
Packit |
2ba279 |
* list_namespaces
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
VDO
|
|
Packit |
2ba279 |
---
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
Standalone VDO plugin is deprecated since 2.24 and will be removed in upcoming 3.0.
|
|
Packit |
2ba279 |
Deduplication and compression support is now provided by LVM VDO volumes and pools with
|
|
Packit |
2ba279 |
support for these added in 2.23.
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* info
|
|
Packit |
2ba279 |
* create
|
|
Packit |
2ba279 |
* remove
|
|
Packit |
2ba279 |
* change_write_policy
|
|
Packit |
2ba279 |
* enable_compression
|
|
Packit |
2ba279 |
* disable_compression
|
|
Packit |
2ba279 |
* enable_deduplication
|
|
Packit |
2ba279 |
* disable_deduplication
|
|
Packit |
2ba279 |
* activate
|
|
Packit |
2ba279 |
* deactivate
|
|
Packit |
2ba279 |
* start
|
|
Packit |
2ba279 |
* stop
|
|
Packit |
2ba279 |
* grow_logical
|
|
Packit |
2ba279 |
* grow_physical
|
|
Packit |
2ba279 |
* get_statistics
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
utils
|
|
Packit |
2ba279 |
------
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
Library (not a plugin) providing utility functions usable for multiple plugins
|
|
Packit |
2ba279 |
and any third-party code.
|
|
Packit |
2ba279 |
|
|
Packit |
2ba279 |
:functions:
|
|
Packit |
2ba279 |
* exec_and_report_error
|
|
Packit |
2ba279 |
* exec_and_capture_output
|
|
Packit |
2ba279 |
* size_human_readable
|
|
Packit |
2ba279 |
* size_from_spec
|
|
Packit |
2ba279 |
* init_logging
|
|
Packit |
2ba279 |
* version_cmp
|
|
Packit |
2ba279 |
* check_util_version
|