This series allows using qemu-img rebase on images that do not have a backing file. Right now, this fails with the rather cryptic error message:
$ qemu-img rebase -b base.qcow2 foo.qcow2 qemu-img: Could not open old backing file '': The 'file' block driver requires a file name Yeah, well, OK. With how rebase currently works, this would lead to the overlay being filled with zeroes, however. This is where patch 2 comes in and instead makes rebase use blk_pwrite_zeroes() whenever it handles an area past the input’s backing file’s EOF. (Note that additionally we could try to punch holes in the overlay whenever it matches the new backing file, but that’s something I’ll put off for later. (We don’t even have a reliable method for punching holes into an overlay yet, although I would like to have such because it could make active commit more efficient.)) And patch 3 adds the usual test. Max Reitz (3): qemu-img: Allow rebase with no input base qemu-img: Use zero writes after source backing EOF iotests: Add test for rebase without input base qemu-img.c | 72 +++++++++++++++++++++++--------------- tests/qemu-iotests/024 | 70 ++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/024.out | 37 ++++++++++++++++++++ 3 files changed, 150 insertions(+), 29 deletions(-) -- 2.17.1