On 04/23/2016 08:47 AM, John Ferlan wrote: > > > On 04/22/2016 06:46 PM, Cole Robinson wrote: >> This series adds qemu cli comma escaping to several places that >> are dependent on the VM name, to enable names with embedded commas. >> >> Patch 4 makes use of qemu -name guest=X value to allow names with >> '=' in them. >> >> There's likely other places that are VM name dependent that need >> escaping too, but this hits the mandatory ones. I'm going to through >> the remaining list on the BiteSizedTasks page >> >> Cole Robinson (4): >> qemu: command: escape commas in VM name >> qemu: command: escape commas in secret master path >> qemu: command: escape commas in chardev socket path >> qemu: command: Use -name guest= if available >> >> src/qemu/qemu_capabilities.c | 2 ++ >> src/qemu/qemu_capabilities.h | 1 + >> src/qemu/qemu_command.c | 22 ++++++++++++-------- >> tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 + >> tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 + >> tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 + >> tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 1 + >> .../qemuxml2argvdata/qemuxml2argv-name-escape.args | 24 ++++++++++++++++++++++ >> .../qemuxml2argvdata/qemuxml2argv-name-escape.xml | 18 ++++++++++++++++ >> tests/qemuxml2argvtest.c | 2 ++ >> 10 files changed, 65 insertions(+), 8 deletions(-) >> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-name-escape.args >> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml >> > > > Is "ewww" the proper word here ;-) > Maybe, seems to be popular on the list recently ;) > What about the vmagent path? > ? 'git grep -i vmagent' doesn't give me anything. I guess you mean qemu-ga path... that's handled by the chardev socket= escaping, which is what most <channel> devices will be using. > Since the 'path' that the masterKey uses is essentially the priv->libDir > path, would fixing that path to have escaped chars work? (just typing > without researching, thinking)... Similarly channelTargetDir. IOW: > qemuDomainSetPrivatePaths > Escaping these paths is a qemu command line thing only. Editing libDir directly means that non-cli uses of libDir in the code will be trying to access the wrong path (one with a literal double comma in it, vs the actual single comma) > What about places in qemu_process which use the [obj->]def->name to > build Path's (stateDir). > Those don't matter, they can have embedded comma/equals just fine. Those characters are only a problem on the qemu command line which uses it as a delimiter, so it needs special handling. For regular FS paths those characters are totally legit > Does this work with domain name rename? migrations? If the target host > doesn't support "guest=". > If the target host doesn't support guest= it may fail, but only if the name has an embedded equals sign. I think that's fine. > I guess I'm also somewhat surprised that there'd be no issues w/ cgroups > and systemd interactions. > > Just some quick Saturday morning thoughts with only 1 cup of coffee... > See above, I think maybe you are confusing this 'escaping' with general shell escaping? Or I myself need more coffee, still working on cup #1 :) - Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list