Trait disk_types::PartitionExt
source · pub trait PartitionExt: BlockDeviceExt {
Show 17 methods
fn get_file_system(&self) -> Option<FileSystem>;
fn get_partition_flags(&self) -> &[PartitionFlag];
fn get_partition_label(&self) -> Option<&str>;
fn get_partition_type(&self) -> PartitionType;
fn get_sector_end(&self) -> u64;
fn get_sector_start(&self) -> u64;
fn get_sectors(&self) -> u64 { ... }
fn is_esp_partition(&self) -> bool { ... }
fn is_linux_compatible(&self) -> bool { ... }
fn is_luks(&self) -> bool { ... }
fn is_swap(&self) -> bool { ... }
fn probe<T, F>(&self, func: F) -> T
where
F: FnMut(Option<(&Path, UnmountDrop<Mount>)>) -> T,
{ ... }
fn probe_os(&self) -> Option<OS> { ... }
fn sectors_differ_from<P: PartitionExt>(&self, other: &P) -> bool { ... }
fn sector_lies_within(&self, sector: u64) -> bool { ... }
fn sectors_overlap(&self, start: u64, end: u64) -> bool { ... }
fn sectors_used(&self) -> Result<u64> { ... }
}
Expand description
Trait to provide methods for interacting with partition-based block device.
Required Methods§
sourcefn get_file_system(&self) -> Option<FileSystem>
fn get_file_system(&self) -> Option<FileSystem>
Defines the file system that this device was partitioned with.
sourcefn get_partition_flags(&self) -> &[PartitionFlag]
fn get_partition_flags(&self) -> &[PartitionFlag]
Ped partition flags that this disk has been assigned.
sourcefn get_partition_label(&self) -> Option<&str>
fn get_partition_label(&self) -> Option<&str>
The label of the partition, if it has one.
sourcefn get_partition_type(&self) -> PartitionType
fn get_partition_type(&self) -> PartitionType
Whether this partition is primary, logical, or extended.
This only applies to MBR partition tables. Partitions are always Primary
on GPT.
sourcefn get_sector_end(&self) -> u64
fn get_sector_end(&self) -> u64
The sector where this partition ends on the parent block device.
sourcefn get_sector_start(&self) -> u64
fn get_sector_start(&self) -> u64
The sector where this partition begins on the parent block device..
Provided Methods§
sourcefn get_sectors(&self) -> u64
fn get_sectors(&self) -> u64
Returns the length of the partition in sectors.
sourcefn is_esp_partition(&self) -> bool
fn is_esp_partition(&self) -> bool
True if the partition is an ESP partition.
sourcefn is_linux_compatible(&self) -> bool
fn is_linux_compatible(&self) -> bool
True if the partition is compatible for Linux to be installed on it.
sourcefn probe<T, F>(&self, func: F) -> Twhere
F: FnMut(Option<(&Path, UnmountDrop<Mount>)>) -> T,
fn probe<T, F>(&self, func: F) -> Twhere
F: FnMut(Option<(&Path, UnmountDrop<Mount>)>) -> T,
Mount the file system at a temporary directory, and allow the caller to scan it.
sourcefn probe_os(&self) -> Option<OS>
fn probe_os(&self) -> Option<OS>
Detects if an OS is installed to this partition, and if so, what the OS is named.
sourcefn sectors_differ_from<P: PartitionExt>(&self, other: &P) -> bool
fn sectors_differ_from<P: PartitionExt>(&self, other: &P) -> bool
True if the sectors in the compared partition differs from the source.
sourcefn sector_lies_within(&self, sector: u64) -> bool
fn sector_lies_within(&self, sector: u64) -> bool
True if the given sector lies within this partition.
sourcefn sectors_overlap(&self, start: u64, end: u64) -> bool
fn sectors_overlap(&self, start: u64, end: u64) -> bool
True if there is an overlap in sectors between both partitions.
sourcefn sectors_used(&self) -> Result<u64>
fn sectors_used(&self) -> Result<u64>
Executes a given file system’s dump command to obtain the minimum shrink size
Returns io::ErrorKind::NotFound
if getting usage is not supported.