The full story is that in 2015, qemu probably did not note that it
failed to open the overlay () because it failed to open the
backing file. It does that, now, though:
$ qemu-img rebase -b new.qcow2 top.qcow2
qemu-img: Could not open 'top.qcow2': Could not open backing file: Could not
open 'bas
I'm pretty sure this is working as intended.
If you observe the code, qemu-img first opens filename. When qemu opens a file,
it needs full access to it's chain of backing files - Hence, if the old backing
file does not exist, opening filename fails.
(Not an active qemu dev, just passing through)