Point-in-time snapshots of a live, mounted disk
Windows has had shadow copy since 2003. On Linux, a consistent block-level snapshot has always meant putting the data on the right filesystem or the right volume manager first. Plain ext4 or XFS on a bare partition, which is most of the servers in the world, has had no answer that does not freeze the filesystem or move the mount.
This is our answer: a small kernel module that intercepts writes at the block layer, copies the original block aside before it is overwritten, and exposes the frozen image as a read-only device. No freeze. No remount. No change to how the disk is laid out.
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.