On Thu, 6 Jan 2022, Michal Prívozník wrote:

> On 1/6/22 02:33, Raphael Norwitz wrote:
> > Today if virConnectOpenAuth fails, qemuMigrationSrcPerformPeer2Peer()
> > returns VIR_ERR_OPERATION_FAILED. This change switches that error code
> > to VIR_ERR_NO_CONNECT, which is more accurate.
> >
> > This should help libvirt consumers more intellegently retry migrations
> > on intermittent connection failures.
> >
> > CC: Bhuvnesh Jain <bhuvnesh.j...@nutanix.com>
> > Suggested-by: John Levon <john.le...@nutanix.com>
> > Signed-off-by: Raphael Norwitz <raphael.norw...@nutanix.com>
> > ---
> >  src/qemu/qemu_migration.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> > index b9d7d582f5..f7ced209a4 100644
> > --- a/src/qemu/qemu_migration.c
> > +++ b/src/qemu/qemu_migration.c
> > @@ -5145,7 +5145,7 @@ qemuMigrationSrcPerformPeer2Peer(virQEMUDriver 
> > *driver,
> >          goto cleanup;
> >
> >      if (dconn == NULL) {
> > -        virReportError(VIR_ERR_OPERATION_FAILED,
> > +        virReportError(VIR_ERR_NO_CONNECT,
> >                         _("Failed to connect to remote libvirt URI %s: %s"),
> >                         dconnuri, virGetLastErrorMessage());
> >          return -1;
>
> I'm not exactly sure why we need this virReportError() in the first
> place. Basically, we are just overwriting a more accurate error with
> this generic one. Doesn't removing this virReportError() fix the problem?

Not all failure scenarios in virConnectOpenInternal() are
caught with a virReportError(). Hence, we do need this.

Reply via email to