Changed-block tracking and differential backups in QEMU
lwn.net
lwn.net
In ~2002 I scraped together enough money (in college at the time) to replace my desktop. I bought a case/motherboard/cpu, but didn't have enough to buy lots of memory for the new machine (which didn't use the same memory as my old one), so I had 128MB on the new one and ~800MB cobbled together from various dimms on the old one.
Then I read about NBD. Half an hour later I had made a 640MB ramdisk on the old machine and mounted it with NBD on the new machine, and used it as a swap disk. I couldn't believe how well it worked. Fun times.
After you pointed out the NBD protocol I went and looked it up. Wish I'd learned about it a couple years ago!
Found this gem on the libguestfs readme:
> Well-documented, simple plugin API with a stable ABI guarantee. Lets you export “unconventional” block devices easily.
I really want to know what they think "unconventional" block devices are. Could lead to some interesting projects!