pub struct ThinPoolDev { /* private fields */ }
Expand description

DM construct to contain thin provisioned devices

Implementations§

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”

Construct a new ThinPoolDev with the given data and meta devs. Returns an error if the device is already known to the kernel. Returns an error if data_block_size is not within required range. Precondition: the metadata device does not contain any pool metadata.

Obtain the meta device that backs this thin pool device.

Obtain the data device that backs this thin pool device.

Obtain the data block size for this thin pool device.

Set up a thin pool from the given metadata and data device. Returns an error if data_block_size is not within required range. Precondition: There is existing metadata for this thinpool device on the metadata device. If the metadata is corrupted, subsequent errors will result, so it is expected that the metadata is well-formed and consistent with the data on the data device.

Set the low water mark. This action puts the device in a state where it is ready to be resumed.

Get the current status of the thinpool. Returns an error if there was an error getting the status value.

Set the table for the existing metadata device. This action puts the device in a state where it is ready to be resumed. Warning: It is the client’s responsibility to make sure the designated table is compatible with the device’s existing table. If are not, this function will still succeed, but some kind of data corruption will be the inevitable result.

Set the data device’s existing table. This action puts the device in a state where it is ready to be resumed. Warning: It is the client’s responsibility to make sure the designated table is compatible with the device’s existing table. If not, this function will still succeed, but some kind of data corruption will be the inevitable result.

Default behavior for devicemapper thin pools is to queue requests if the thin pool is out of space to allow time for the thin pool to extend. This behavior can be changed by adding the feature argument error_if_no_space to the devicemapper table.

This method will add error_if_no_space from the devicemapper table if it is not present.

Default behavior for devicemapper thin pools is to queue requests if the thin pool is out of space to allow time for the thin pool to extend. This behavior can be changed by adding the feature argument error_if_no_space to the devicemapper table.

This method will remove error_if_no_space from the devicemapper table if it is present.

Default behavior for devicemapper thin pools is to zero newly allocated data blocks. This behavior can be changed by adding the feature argument skip_block_zeroing to the devicemapper table.

This method will add skip_block_zeroing from the devicemapper table if it is not present.

Default behavior for devicemapper thin pools is to zero newly allocated data blocks. This behavior can be changed by adding the feature argument skip_block_zeroing to the devicemapper table.

This method will remove skip_block_zeroing from the devicemapper table if it is present.

Default behavior for devicemapper thin pools is to pass down discards. This behavior can be changed by adding the feature argument no_discard_passdown to the devicemapper table.

This method will add no_discard_passdown to the devicemapper table if it is not present.

Default behavior for devicemapper thin pools is to pass down discards. This behavior can be changed by adding the feature argument no_discard_passdown to the devicemapper table.

This method will remove no_discard_passdown from the devicemapper table if it is present.

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.