]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: cmdScreenshot: fix cbdata passing to virshStreamSink
authorJán Tomko <jtomko@redhat.com>
Wed, 9 Sep 2020 08:55:40 +0000 (10:55 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 9 Sep 2020 12:37:19 +0000 (14:37 +0200)
The changes for sparse stream support started passing
virshStreamCallbackDataPtr to virshStreamSink
instead of passing a simple file descriptor, but
forgot to adjust all the callers.

Fix it in cmdScreenshot as well.

https://bugzilla.redhat.com/show_bug.cgi?id=1875195

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 9e745a97171e10f050962c166082439d6724e245
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
tools/virsh-domain.c

index 31597ee46972d8beb7961d8d4415c9ec80cadc8a..d1d3f8e566d394746dc7ba1cb95bafb74013d574 100644 (file)
@@ -5628,6 +5628,7 @@ cmdScreenshot(vshControl *ctl, const vshCmd *cmd)
     bool generated = false;
     char *mime = NULL;
     virshControlPtr priv = ctl->privData;
+    virshStreamCallbackData cbdata;
 
     if (vshCommandOptStringReq(ctl, cmd, "file", (const char **) &file) < 0)
         return false;
@@ -5663,7 +5664,10 @@ cmdScreenshot(vshControl *ctl, const vshCmd *cmd)
         created = true;
     }
 
-    if (virStreamRecvAll(st, virshStreamSink, &fd) < 0) {
+    cbdata.ctl = ctl;
+    cbdata.fd = fd;
+
+    if (virStreamRecvAll(st, virshStreamSink, &cbdata) < 0) {
         vshError(ctl, _("could not receive data from domain %s"), name);
         goto cleanup;
     }