dissect.volume.lvm.lvm2#

Module Contents#

Classes#

LVM2

Logical Volume Manager

VolumeGroup

LogicalVolume

Basic buffered stream that provides easy aligned reads.

Attributes#

dissect.volume.lvm.lvm2.log#
dissect.volume.lvm.lvm2.SECTOR_SIZE = 512#
dissect.volume.lvm.lvm2.STATUS_FLAG_ALLOCATABLE = 'ALLOCATABLE'#
dissect.volume.lvm.lvm2.STATUS_FLAG_RESIZEABLE = 'RESIZEABLE'#
dissect.volume.lvm.lvm2.STATUS_FLAG_READ = 'READ'#
dissect.volume.lvm.lvm2.STATUS_FLAG_VISIBLE = 'VISIBLE'#
dissect.volume.lvm.lvm2.STATUS_FLAG_WRITE = 'WRITE'#
class dissect.volume.lvm.lvm2.LVM2(fhs)#

Logical Volume Manager

property vg#
__repr__()#

Return repr(self).

class dissect.volume.lvm.lvm2.VolumeGroup(physical_volumes=None, logical_volumes=None, metadata=None)#
property name#
property id#
property pv#
property lv#
__repr__()#

Return repr(self).

class dissect.volume.lvm.lvm2.LogicalVolume(segments, metadata, vg)#

Bases: dissect.util.stream.AlignedStream

Basic buffered stream that provides easy aligned reads.

Must be subclassed for various stream implementations. Subclasses can implement:
  • _read(offset, length)

  • _seek(pos, whence=io.SEEK_SET)

The offset and length for _read are guaranteed to be aligned. The only time that overriding _seek would make sense is if there’s no known size of your stream, but still want to provide SEEK_END functionality.

Most subclasses of AlignedStream take one or more file-like objects as source. Operations on these subclasses, like reading, will modify the source file-like object as a side effect.

Parameters:
  • size – The size of the stream. This is used in read and seek operations. None if unknown.

  • align – The alignment size. Read operations are aligned on this boundary. Also determines buffer size.

__repr__()#

Return repr(self).

read_sectors(sector, count)#