On 04/01/2015 10:16 AM, John Snow wrote: > Kevin, what's the correct behavior for qemu-img and relative paths when > creating a new qcow2 file? > > Example: > > (in e.g. /home/qemu/build/ or anywhere not /home: ) > qemu-img create -f qcow2 base.qcow2 32G creates /home/qemu/build/base.qcow2 > qemu-img create -f qcow2 -F qcow2 -b base.qcow2 /home/overlay.qcow2 Tries to create /home/overlay.qcow2; requires /home/base.qcow2 to exist for the creation to be well-formed. (Any use of /home/qemu/build/base.qcow2 should be wrong) If you want, you could do: qemu-img create -f qcow2 /home/overlay.qcow2 $size qemu-img rebase -u -f qcow2 -F qcow2 -b base.qcow2 /home/overlay.qcow2 to create the file that would relatively point to /home/base.qcow2, whether or not that file already exists; and it could be argued that we may even want to support that via a single create command (that is, 'create an image with this string as the backing file, but without actually chasing through that string') > > In 1.7.0., this produces a warning that the base object cannot be found > (because it does not exist at that location relative to overlay.qcow2), > but qemu-img will create the qcow2 for you regardless. Sounds almost ideal (or at least an argument for the 'create with an unsafe string for backing) - but how did it pick the size for that image? > > 2.0, 2.1 and 2.2 all will create the image successfully, with no warnings. Oops. > > 2.3-rc1/master as they exist now will emit an error message and create > no image. Sounds like a bug fix, not a regression. > > Since this is a change in behavior for the pending release, is this the > correct/desired behavior? Yes, I think so. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org