[libvirt] [PATCHv2 3/6] virsh: optimize creation of default connection

Matthias Bolte matthias.bolte at googlemail.com
Wed May 18 15:40:23 UTC 2011


2011/5/18 Eric Blake <eblake at redhat.com>:
> Ramon de Carvalho Valle reported a problem with:
> virsh connect qemu:///system
> as a non-root user.  The real root problem appears to be a regression
> in libvirtd being auto-started on the default qemu:///session URI;
> however, the symptom points to an independent flaw in virsh - we
> shouldn't be wasting efforts on making a connection if we aren't going
> to be using that connection.  Fixing virsh avoids Ramon's issue, while
> I work in the meantime to fix the real libvirtd regression.
>
> This patch looks big, but that's because 'gcc -Wmissing-field-initializers'
> gets triggered by './autobuild.sh --enable-compile-warnings=error', so I
> had to add 0 initialization to everyone (rather than my preference of
> just adding the non-zero flags to virshCmds and to cmdConnect).
>
> Meanwhile, if you use 'virsh -c URI', the connection must succeed; this
> patch _only_ optimizes the default connection to be deferred to a later
> point where we know if a particular command to be run needs a connection.
>
> * tools/virsh.c (VSH_CMD_FLAG_NOCONNECT): New flag.
> (vshCmdDef): Add new flags field.
> (vshCommandRun): Honor new flag.
> (domManagementCmds, domMonitoringCmds, storagePoolCmds)
> (storageVolCmds, networkCmds, nodedevCmds, ifaceCmds)
> (nwfilterCmds, secretCmds, virshCmds, snapshotCmds)
> (hostAndHypervisorCmds): Populate new field.
> (vshReconnect): Don't warn on initial connection.
> ---
>
> v2: rebased to handle virsh commands added in meantime
> v1: https://www.redhat.com/archives/libvir-list/2011-March/msg00633.html
>
>  tools/virsh.c |  429 +++++++++++++++++++++++++++++++++------------------------
>  1 fhttps://www.redhat.com/archives/libvir-list/2011-March/msg00iles changed, 250 insertions(+), 179 deletions(-)

I tested that virsh help doesn't open a connection.

ACK.

Matthias




More information about the libvir-list mailing list