Linus Torvalds accepted into the kernel branch, on the basis of which release 5.4 is formed, the implementation of the dm-clone module with the implementation of a new handler based on Device-Mapper, which allows you to clone an existing block device. The module makes it possible to create a local copy based on a read-only block device that can be recorded during the cloning process.
As a typical application of dm-clone, is a network cloning of remote archive devices, read-only and processing I / O with large delays, to a local fast device that supports recording and processing requests with minimal delays.
The key difference from the solutions based on Unionfs and OverlayFS is that dm-clone works at the block device level, regardless of the file system used on this device, and forms a complete copy of the source device, and does not impose an additional layer in which changes are tracked. Unlike dm-mirror, the dm-clone module was originally designed to work only with the original section in read-only mode, without translating write operations to it. In dm-snapshot, a full copy is not created and there is no support for background copying. In dm-cache, a full copy is not created, write operations are forwarded, and the work boils down to caching hits. The closest in functionality is dm-thin, but it does not support background copy operations and is limited only by the use of certain types of partitions (thin-provisioning).