On 06/25/2014 12:13 PM, Adam Litke wrote:
On 25/06/14 10:27 -0600, Eric Blake wrote:
> On 06/19/2014 07:59 AM, Peter Krempa wrote:
>> Now that we are able to select images from the backing chain via indexed
>> access we should also convert possible network sources to
>> qemu-compatible strings before passing them to qemu.
>
> Eventually, we'll want to use qemu's node-name functionality, also being
> added (but possibly in qemu 2.2 instead of 2.1, depends on how Jeff's
> series goes). But for the simpler case of all files being local or all
> files being network from the same pool (that is, no mixed-mode chains),
> then this does appear to work at getting a decent name into qemu, at
> which point qemu can indeed commit to the right target.
>
> Wait - the earlier patches said that relative names would be
preserved
> if possible, implying that an absolute name would still be used if a
> relative name was not possible. But this errors out if a relative name
> was not possible. Which is nicer to the end user, treating the flag as
> advisory or mandatory? I'm hoping Adam can answer which he'd prefer, as
> one of the first clients of this new feature.
Thanks Eric. If the flag was specified we need it to fail if a
relative backing path is not possible. Otherwise the backing chain
could be rewritten such that the VM can not be started on a different
host in the future. For us, not honoring the flag is a corruption.
Okay, let's go with mandatory semantics on the respin of this series.
If the flag is present, we fail unless we were able to write a relative
name into the affected file (which implies that using the flag while the
chain already had absolute names is a guaranteed failure).
For those applications that don't mind (or might handle abs
paths
differently than relative ones, they could retry the operation without
the flag. Perhaps we'll want a specific error code for this scenario
to make it easy to handle?
I wouldn't bother with a special error code unless someone specifically
asks for it in their use case. We can always add it later, if needed.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org