dissect.volume.lvm.metadata#

Module Contents#

Classes#

class dissect.volume.lvm.metadata.MetaBase#
classmethod from_dict(obj: dict, name: str | None = None, parent: MetaBase | None = None) MetaBase#
class dissect.volume.lvm.metadata.VolumeGroup#

Bases: MetaBase

property name: str#
property pv: list[PhysicalVolume]#
property lv: list[LogicalVolume]#
id: str#
seqno: int#
status: list[str]#
flags: list[str]#
extent_size: int#
max_lv: int#
max_pv: int#
physical_volumes: dict[str, PhysicalVolume]#
logical_volumes: dict[str, LogicalVolume]#
system_id: str | None#
allocation_policy: str | None#
profile: str | None#
metadata_copies: int | None#
tags: list[str] | None#
historical_logical_volumes: dict[str, HistoricalLogicalVolume] | None#
format: str | None#
lock_type: str | None#
lock_args: str | None#
__repr__() str#

Return repr(self).

attach(devices: dict[str, dissect.volume.lvm.physical.LVM2Device]) None#
class dissect.volume.lvm.metadata.PhysicalVolume#

Bases: MetaBase

property name: str#
property vg: VolumeGroup#
property volume_group: VolumeGroup#
property dev: dissect.volume.lvm.physical.LVM2Device | None#
id: str#
status: list[str]#
pe_start: int#
pe_count: int#
dev_size: int | None#
device: str | None#
device_id: str | None#
device_id_type: str | None#
ba_start: int | None#
ba_size: int | None#
tags: list[str] | None#
__repr__() str#

Return repr(self).

class dissect.volume.lvm.metadata.LogicalVolume#

Bases: MetaBase

property name: str#
property vg: VolumeGroup#
property volume_group: VolumeGroup#
property segments: list[Segment]#
property is_visible: bool#
property type: str | None#
id: str#
status: list[str]#
flags: list[str]#
segment_count: int#
creation_time: datetime.datetime | None#
creation_host: str | None#
lock_args: str | None#
allocation_policy: str | None#
profile: str | None#
read_ahead: int | None#
tags: list[str] | None#
__repr__() str#

Return repr(self).

open() BinaryIO#
class dissect.volume.lvm.metadata.HistoricalLogicalVolume#

Bases: MetaBase

property vg: VolumeGroup#
property volume_group: VolumeGroup#
id: str#
name: str | None#
creation_time: datetime.datetime | None#
removal_time: datetime.datetime | None#
origin: str | None#
descendants: list[str] | None#
__repr__() str#

Return repr(self).

class dissect.volume.lvm.metadata.Segment#

Bases: MetaBase

property name: str#
property lv: LogicalVolume#
property logical_volume: LogicalVolume#
property flags: list[str]#
start_extent: int#
extent_count: int#
type: str#
reshape_count: int | None#
data_copies: int | None#
tags: list[str] | None#
__repr__() str#

Return repr(self).

abstract open() BinaryIO#
classmethod from_dict(obj: dict, name: str | None = None, parent: MetaBase | None = None) Segment#
class dissect.volume.lvm.metadata.StripedSegment#

Bases: Segment

stripe_count: int#
stripe_size: int | None#
stripes: list[tuple[str, int]]#
open() BinaryIO#
class dissect.volume.lvm.metadata.MirrorSegment#

Bases: Segment

mirror_count: int#
extents_moved: int | None#
region_size: int | None#
mirror_log: str | None#
mirrors: list[tuple[str, int]] | None#
open() BinaryIO#
class dissect.volume.lvm.metadata.SnapshotSegment#

Bases: Segment

chunk_size: int#
merging_store: str | None#
cow_store: str | None#
origin: str | None#
class dissect.volume.lvm.metadata.ThinSegment#

Bases: Segment

thin_pool: str#
transaction_id: int#
origin: str | None#
merge: str | None#
device_id: int | None#
external_origin: str | None#
open() BinaryIO#
class dissect.volume.lvm.metadata.ThinPoolSegment#

Bases: Segment

metadata: str#
pool: str#
transaction_id: int#
chunk_size: int#
discards: str | None#
zero_new_blocks: int | None#
crop_metadata: int | None#
open() BinaryIO#
open_pool() dissect.volume.dm.thin.ThinPool#
class dissect.volume.lvm.metadata.CacheSegment#

Bases: Segment

cache_pool: str#
origin: str#
cleaner: int | None#
chunk_size: int | None#
cache_mode: str | None#
policy: str | None#
policy_settings: dict[str, int] | None#
metadata_format: int | None#
metadata_start: int | None#
metadata_len: int | None#
data_start: int | None#
data_len: int | None#
metadata_id: str | None#
data_id: str | None#
class dissect.volume.lvm.metadata.CachePoolSegment#

Bases: Segment

data: str#
metadata: str#
metadata_format: int | None#
chunk_size: int | None#
cache_mode: str | None#
policy: str | None#
policy_settings: dict[str, int] | None#
class dissect.volume.lvm.metadata.WriteCacheSegment#

Bases: Segment

origin: str#
writecache: str#
writecache_block_size: int#
high_watermark: int | None#
low_watermark: int | None#
writeback_jobs: int | None#
autocommit_blocks: int | None#
autocommit_time: int | None#
fua: int | None#
nofua: int | None#
cleaner: int | None#
max_age: int | None#
metadata_only: int | None#
pause_writeback: int | None#
writecache_setting_key: str | None#
writecache_setting_val: str | None#
class dissect.volume.lvm.metadata.IntegritySegment#

Bases: Segment

origin: str#
data_sectors: int#
mode: str#
tag_size: int#
block_size: int#
internal_hash: str#
meta_dev: str | None#
recalculate: int | None#
journal_sectors: int | None#
interleave_sectors: int | None#
buffer_sectors: int | None#
journal_watermark: int | None#
commit_time: int | None#
bitmap_flush_interval: int | None#
sectors_per_bit: int | None#
class dissect.volume.lvm.metadata.ErrorSegment#

Bases: Segment

class dissect.volume.lvm.metadata.FreeSegment#

Bases: Segment

class dissect.volume.lvm.metadata.ZeroSegment#

Bases: Segment

class dissect.volume.lvm.metadata.VdoSegment#

Bases: Segment

vdo_pool: str#
vdo_offset: int#
class dissect.volume.lvm.metadata.VdoPoolSegment#

Bases: Segment

data: str#
header_size: int#
virtual_extents: int#
use_compression: bool#
use_deduplication: bool#
use_metadata_hints: bool#
minimum_io_size: int#
block_map_cache_size_mb: int#
block_map_era_length: int#
use_sparse_index: int#
index_memory_size_mb: int#
max_discard: int#
slab_size_mb: int#
ack_threads: int#
bio_threads: int#
bio_rotation: int#
cpu_threads: int#
hash_zone_threads: int#
logical_threads: int#
physical_threads: int#
write_policy: str | None#
class dissect.volume.lvm.metadata.RAIDSegment#

Bases: Segment

device_count: int#
stripe_count: int#
region_size: int#
stripe_size: int#
writebehind: int#
min_recovery_rate: int#
max_recovery_rate: int#
data_copies: int | None#
data_offset: int | None#
raids: list[str] | None#
raid0_lvs: list[str] | None#