-destination. Here's a case study of optimizing that, starting with a
-baseline of straightline copying, which matches qemu 3.0 behavior.
-XXX Is that correct version? what date?
-Let's convert a 100M image, which alternates between data and holes at
-each megabyte.
-
-* Heading: Dissecting that command
-- 41x0 - series of html pages to highlight aspects of the ./convert command
- - nbkdit, plugin server, --run command
- - delay filter
- - blocksize filter
- - stats, log filters
- - noextents filter
- - nozero filter
-
-Okay, I went a bit fast on that ./convert command. Looking closer, it
-is using nbdkit as a server with the memory plugin as the data sink,
-tied to a single invocation of qemu-img convert as the source over a
-Unix socket. There are lots of nbdkit filters: we want to slow down
-the operation so a small disk can still be useful in performance
-testing, and where the server defaults to a zero operation that is
-faster than writes. We want to demonstrate the fact that a single
-write zero operation (with no explicit network payload) can often
-cover a larger swath of the file in one operation than writes (which
-have a maximum payload per operation), by forcing writes to split
-smaller than the 1M striping of the source image. We want to collect
-statistics, both of the overall time spent, and which operations the
-client attempted, and include a sleep to avoid an output race. For
-this case study, we disable BLOCK_STATUS with noextents (more on why
-later). And finally we use the nozero filter as our knob for what the
-server advertises to the client, as well as how it responds to various
-zero-related requests.
+destination. Here's a case study of our last three years in
+optimizing that, starting with a baseline of straightline copying,
+which matches qemu 2.7 behavior (Sep 2016). Let's convert a 100M
+image, which alternates between data and holes at each megabyte.
+
+The ./convert command show here is rather long; if you're interested
+in its origins, my patch submission in Aug 2019 goes into more
+details. But for now, just think of it as a fancy way to run
+'qemu-img convert' against a server where I can tweak server behavior
+to control which zeroing-related features are advertised or
+implemented.