Originally written by
- The basis for all of the abstractions of the device mapper is the dm-table.
- This table contains a list of devices that comprise a mapping, and a btree
(sorted by virtual sector number) showing where each slice of the device
is mapped to.
- Each component of the device-mapper (dm-stripe, dm-snap, etc) uses
a am-table internally, and configures it based on its requirements.
- When a device-mapper component gets an I/O request, it consults its
internal dm-table to see which dm-device to map the request to. This
process might repeat recursively until we get to the underlying block