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: &str,
dm: &DM,
length: Sectors,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
name: &str,
dm: &DM,
length: Sectors,
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: &str,
dm: &DM,
length: Sectors,
data_block_size: Sectors,
low_water_mark: DataBlocks,
meta: LinearDev,
data: LinearDev
) -> DmResult<ThinPoolDev>
name: &str,
dm: &DM,
length: Sectors,
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) -> &str
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.
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