dm: add clone target
authorNikos Tsironis <ntsironis@arrikto.com>
Wed, 11 Sep 2019 14:36:40 +0000 (17:36 +0300)
committerMike Snitzer <snitzer@redhat.com>
Thu, 12 Sep 2019 13:32:31 +0000 (09:32 -0400)
commit7431b7835f554f8608b415a02cf3c3f086309e02
tree8362b989838a798fb1e58fe51dfb348759a0c810
parentc8156fc77d0796ba2618936dbb3084e769e916c1
dm: add clone target

Add the dm-clone target, which allows cloning of arbitrary block
devices.

dm-clone produces a one-to-one copy of an existing, read-only source
device into a writable destination device: It presents a virtual block
device which makes all data appear immediately, and redirects reads and
writes accordingly.

The main use case of dm-clone is to clone a potentially remote,
high-latency, read-only, archival-type block device into a writable,
fast, primary-type device for fast, low-latency I/O. The cloned device
is visible/mountable immediately and the copy of the source device to
the destination device happens in the background, in parallel with user
I/O.

When the cloning completes, the dm-clone table can be removed altogether
and be replaced, e.g., by a linear table, mapping directly to the
destination device.

For further information and examples of how to use dm-clone, please read
Documentation/admin-guide/device-mapper/dm-clone.rst

Suggested-by: Vangelis Koukis <vkoukis@arrikto.com>
Co-developed-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Signed-off-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Signed-off-by: Nikos Tsironis <ntsironis@arrikto.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Documentation/admin-guide/device-mapper/dm-clone.rst [new file with mode: 0644]
drivers/md/Kconfig
drivers/md/Makefile
drivers/md/dm-clone-metadata.c [new file with mode: 0644]
drivers/md/dm-clone-metadata.h [new file with mode: 0644]
drivers/md/dm-clone-target.c [new file with mode: 0644]