Why this needs a kernel module
We wanted to avoid shipping a driver. Copy-on-write without a freeze means sitting in the write path and holding a write back while the original block is copied, and nothing outside the kernel can do that. Here is what every alternative actually costs.
Where a native snapshot exists, use it. The agent tiers automatically: Btrfs and ZFS first, LVM next, and this driver only for the layouts nothing else covers.
How it works
What it will not do to your server
Code that sits in the write path of a production disk has to be judged on its failure modes, not its happy path. These are the rules the driver is built around.
How we know it works
A backup product that loses data quietly is worse than no backup product. The test suite is built to catch the quiet failures specifically, and the numbers below are what it currently proves.
Kernel coverage that tests itself
The block layer changes between kernel releases, and a driver that hooks into it breaks quietly when it does. Rather than checking version numbers, the build compiles a set of probes against the target kernel and asks it directly which interfaces it has, which is the only method that survives enterprise distributions whose version numbers do not describe their contents.
The test matrix is not a list somebody maintains. It queries the upstream archive for every kernel series that currently exists, downloads each one, and builds and boots against it. When a new kernel or release candidate appears, it is tested without anybody editing a file, because a stale list stays green while the kernel your servers actually run is missing from it.