cryptospore / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-curl-Remove-erroneous-sleep-waiting-for-curl-complet.patch

05bba0
From 6313c97af86d08de7928433ab29ed4450f49c425 Mon Sep 17 00:00:00 2001
05bba0
From: Richard Jones <rjones@redhat.com>
05bba0
Date: Thu, 11 Jun 2015 11:40:12 +0200
05bba0
Subject: [PATCH 12/30] curl: Remove erroneous sleep waiting for curl
05bba0
 completion
05bba0
05bba0
Message-id: <1434022828-13037-6-git-send-email-rjones@redhat.com>
05bba0
Patchwork-id: 65841
05bba0
O-Subject: [RHEL-7.2 qemu-kvm v3 PATCH 05/21] curl: Remove erroneous sleep waiting for curl completion
05bba0
Bugzilla: 1226684
05bba0
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
05bba0
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
05bba0
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
05bba0
05bba0
From: Matthew Booth <mbooth@redhat.com>
05bba0
05bba0
The driver will not start more than a fixed number of curl sessions.
05bba0
If it needs more, it must wait for the completion of an existing one.
05bba0
The driver was sleeping, which will prevent the main loop from
05bba0
running, and therefore the event it's waiting on. It was also directly
05bba0
calling its internal handler rather than waiting on existing
05bba0
registered handlers to be called from the main loop.
05bba0
05bba0
This change causes it simply to wait for a period of time whilst
05bba0
allowing the main loop to execute.
05bba0
05bba0
Signed-off-by: Matthew Booth <mbooth@redhat.com>
05bba0
Tested-by: Richard W.M. Jones <rjones@redhat.com>
05bba0
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
05bba0
05bba0
Upstream-status: e466183718bfaaf347a3c02499473068a0072114
05bba0
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
05bba0
---
05bba0
 block/curl.c | 3 +--
05bba0
 1 file changed, 1 insertion(+), 2 deletions(-)
05bba0
05bba0
diff --git a/block/curl.c b/block/curl.c
05bba0
index 8c707e1..e06c222 100644
05bba0
--- a/block/curl.c
05bba0
+++ b/block/curl.c
05bba0
@@ -289,8 +289,7 @@ static CURLState *curl_init_state(BDRVCURLState *s)
05bba0
             break;
05bba0
         }
05bba0
         if (!state) {
05bba0
-            g_usleep(100);
05bba0
-            curl_multi_do(s);
05bba0
+            qemu_aio_wait();
05bba0
         }
05bba0
     } while(!state);
05bba0
 
05bba0
-- 
05bba0
1.8.3.1
05bba0