On 10/21/2015 07:23 AM, Michal Privoznik wrote: > On 21.10.2015 13:19, Peter Krempa wrote: >> On Wed, Oct 21, 2015 at 10:48:13 +0200, Michal Privoznik wrote: >>> So, consider following scenario: >>> >>> virsh # migrate --help >>> >>> In this case migrate help is printed out. So far so good. >>> However, you start writing this long migrate command (I bet you >>> know the arguments there can get quite long), but then, at some >>> point you need to print out the help. Something like this: >>> >>> virsh # migrate --copy-storage-all --migrate-disks --help >>> >>> In this specific case you just want to see the format that >>> --migrate-disks accepts. So you append --help and expect help to >>> be printed out. Well, it will not, because "--help" is taken as >>> data to --migrate-disks. Therefore we will get this error >>> instead: >>> >>> virsh # migrate --copy-storage-all --migrate-disks --help >>> error: command 'migrate' requires <domain> option >>> error: command 'migrate' requires <desturi> option >>> >>> Teach our parsing code, that --help may occur even in argument >>> data, and therefore anywhere on the command line. >>> >>> Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> >>> --- >>> tools/vsh.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >> >> The following then won't be possible: >> >> $ virsh start --domain --help >> Domain --help started >> >> $ virsh list >> Id Name State >> ---------------------------------------------------- >> 2 --help running >> >> $ virsh destroy --domain --help >> Domain --help destroyed >> >> >> If you are curious whether such config is actually valid ... >> >> # virt-xml-validate /etc/libvirt/qemu/--help.xml >> /etc/libvirt/qemu/--help.xml validates >> >> Since the schema looks like: >> <define name="domainName"> >> <data type="string"> >> <!-- Use literal newline instead of \n for bug in libxml2 2.7.6 --> >> <param name="pattern">[^ >> ]+</param> >> </data> >> </define> >> >> Peter >> > > > Well, I'd say <not_personal>if you are that stupid to call your domain > like that, you should suffer</not_personal>, but I don't care that much > if this patch goes in or not. > Well for someone that wants to name their domain '--help', we could require they escape it first - eg '\--help'. Alternatively, can "--?" be used instead? Or is it felt someone would name their domain that too? John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list