• E
    virsh: fix regression in 'virsh event' by domain · 44fdfbb0
    Eric Blake 提交于
    https://bugzilla.redhat.com/show_bug.cgi?id=1212620
    
    Commit a0670aef caused a regression in 'virsh event' and
    'virsh qemu-monitor-event' - if a user tries to filter the
    command to a specific domain, an error message is printed:
    
    $ virsh event dom --loop
    error: internal error: virsh qemu-monitor-event: no domain VSH_OT_DATA option
    
    and then the command continues as though no domain had been
    supplied (giving events for ALL domains, instead of the
    requested one).  This is because the code was incorrectly
    assuming that all "domain" options would be supplied via a
    mandatory VSH_OT_DATA, even though "domain" is optional for
    these two commands, so we had changed them to VSH_OT_STRING
    to quit failing for other reasons (ever since it was decided
    that VSH_OT_DATA and VSH_OT_STRING should no longer be
    synonyms).
    
    In looking at the situation, though, the code for looking up
    a domain was making a pointless check for whether the option
    exists prior to finding the option's string value, as
    vshCommandOptStringReq does just fine at reporting any errors
    when looking up a string whether or not the option was present.
    
    So this is a case of regression fixing by pure code deletion :)
    
    * tools/virsh-domain.c (vshCommandOptDomainBy): Drop useless filter.
    * tools/virsh-interface.c (vshCommandOptInterfaceBy): Likewise.
    * tools/virsh-network.c (vshCommandOptNetworkBy): Likewise.
    * tools/virsh-nwfilter.c (vshCommandOptNWFilterBy): Likewise.
    * tools/virsh-secret.c (vshCommandOptSecret): Likewise.
    * tools/virsh.h (vshCmdHasOption): Drop unused function.
    * tools/virsh.c (vshCmdHasOption): Likewise.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    (cherry picked from commit 31ef0836)
    44fdfbb0
virsh-network.c 39.6 KB