Struct devicemapper::ThinPoolDev
[−]
[src]
pub struct ThinPoolDev { /* fields omitted */ }DM construct to contain thin provisioned devices
Methods
impl ThinPoolDev[src]
Use DM to create a "thin-pool". A "thin-pool" is shared space for other thin provisioned devices to use.
See section "Setting up a fresh pool device": https://www.kernel.org/doc/Documentation/device-mapper/thin-provisioning.txt
fn new(
name: &DmName,
dm: &DM,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
name: &DmName,
dm: &DM,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
Construct a new ThinPoolDev with the given data and meta devs. TODO: If the device already exists, verify that kernel's model matches arguments.
fn meta_dev(&self) -> &LinearDev
Obtain the meta device that backs this thin pool device.
fn data_dev(&self) -> &LinearDev
Obtain the data device that backs this thin pool device.
fn data_block_size(&self) -> Sectors
Obtain the data block size for this thin pool device.
fn setup(
name: &DmName,
dm: &DM,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
name: &DmName,
dm: &DM,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
Set up an existing ThinPoolDev. By "existing" is here meant that metadata for the thinpool already exists on the thinpool's metadata device.
fn message(&self, dm: &DM, message: &str) -> DmResult<()>
send a message to DM thin pool
fn name(&self) -> &DmName
name of the thin pool device
fn dstr(&self) -> String
Get the "x:y" device string for this LinearDev
fn devnode(&self) -> DmResult<PathBuf>
path of the device node
fn status(&self, dm: &DM) -> DmResult<ThinPoolStatus>
Get the current status of the thinpool. Returns an error if there was an error getting the status value. Panics if there is an error parsing the status value.
fn extend_meta(&mut self, dm: &DM, new_segs: Vec<Segment>) -> DmResult<()>
Extend an existing meta device with additional new segments.
fn extend_data(&mut self, dm: &DM, new_segs: Vec<Segment>) -> DmResult<()>
Extend an existing data device with additional new segments.
fn teardown(self, dm: &DM) -> DmResult<()>
Remove the device from DM