
On 08/27/2012 08:05 PM, Zhou Zheng Sheng wrote:
When passing kernel command line arguments, it is possible to have spaces. The arguments should be protected in qoutes.
NACK.
If the contents in <cmdline> are passed as-is to qemu, then qemu will see qemu ... -append console=ttyS0 ks=http://example.com/f8-i386/os/ ...
That's what shows in the guest log, because we don't (yet) properly quote arguments in the log. But if you look at what we actually pass to the exec() family,...
if (def->os.cmdline) - virCommandAddArgList(cmd, "-append", def->os.cmdline, NULL);
...this code properly passes def->os.cmdline as a single exec() argument. Remember, virCommand is NOT subject to further shell interpretation. You are getting confused by trying to treat the log output as though libvirt were invoking /bin/sh to start the command, instead of calling exec() directly. If anything, the real bug to fix would be virCommandToString to have a mode that lists the output with shell quoting as needed, and to use that mode when outputting log file information. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org