aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
Diffstat (limited to 'block')
-rw-r--r--block/curl.c28
-rw-r--r--block/meson.build22
2 files changed, 11 insertions, 39 deletions
diff --git a/block/curl.c b/block/curl.c
index d24a4c5897..4ff895df8f 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -37,26 +37,6 @@
// #define DEBUG_VERBOSE
-#if LIBCURL_VERSION_NUM >= 0x071000
-/* The multi interface timer callback was introduced in 7.16.0 */
-#define NEED_CURL_TIMER_CALLBACK
-#define HAVE_SOCKET_ACTION
-#endif
-
-#ifndef HAVE_SOCKET_ACTION
-/* If curl_multi_socket_action isn't available, define it statically here in
- * terms of curl_multi_socket. Note that ev_bitmask will be ignored, which is
- * less efficient but still safe. */
-static CURLMcode __curl_multi_socket_action(CURLM *multi_handle,
- curl_socket_t sockfd,
- int ev_bitmask,
- int *running_handles)
-{
- return curl_multi_socket(multi_handle, sockfd, running_handles);
-}
-#define curl_multi_socket_action __curl_multi_socket_action
-#endif
-
#define PROTOCOLS (CURLPROTO_HTTP | CURLPROTO_HTTPS | \
CURLPROTO_FTP | CURLPROTO_FTPS)
@@ -140,7 +120,6 @@ typedef struct BDRVCURLState {
static void curl_clean_state(CURLState *s);
static void curl_multi_do(void *arg);
-#ifdef NEED_CURL_TIMER_CALLBACK
/* Called from curl_multi_do_locked, with s->mutex held. */
static int curl_timer_cb(CURLM *multi, long timeout_ms, void *opaque)
{
@@ -156,7 +135,6 @@ static int curl_timer_cb(CURLM *multi, long timeout_ms, void *opaque)
}
return 0;
}
-#endif
/* Called from curl_multi_do_locked, with s->mutex held. */
static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action,
@@ -433,7 +411,6 @@ static void curl_multi_do(void *arg)
static void curl_multi_timeout_do(void *arg)
{
-#ifdef NEED_CURL_TIMER_CALLBACK
BDRVCURLState *s = (BDRVCURLState *)arg;
int running;
@@ -446,9 +423,6 @@ static void curl_multi_timeout_do(void *arg)
curl_multi_check_completion(s);
qemu_mutex_unlock(&s->mutex);
-#else
- abort();
-#endif
}
/* Called with s->mutex held. */
@@ -598,10 +572,8 @@ static void curl_attach_aio_context(BlockDriverState *bs,
s->multi = curl_multi_init();
s->aio_context = new_context;
curl_multi_setopt(s->multi, CURLMOPT_SOCKETFUNCTION, curl_sock_cb);
-#ifdef NEED_CURL_TIMER_CALLBACK
curl_multi_setopt(s->multi, CURLMOPT_TIMERDATA, s);
curl_multi_setopt(s->multi, CURLMOPT_TIMERFUNCTION, curl_timer_cb);
-#endif
}
static QemuOptsList runtime_opts = {
diff --git a/block/meson.build b/block/meson.build
index 7595d86c41..d44c92ab04 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -60,7 +60,7 @@ block_ss.add(when: 'CONFIG_QED', if_true: files(
block_ss.add(when: [libxml2, 'CONFIG_PARALLELS'], if_true: files('parallels.c'))
block_ss.add(when: 'CONFIG_WIN32', if_true: files('file-win32.c', 'win32-aio.c'))
block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit])
-block_ss.add(when: 'CONFIG_LIBISCSI', if_true: files('iscsi-opts.c'))
+block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c'))
block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c'))
block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c'))
block_ss.add(when: 'CONFIG_SHEEPDOG', if_true: files('sheepdog.c'))
@@ -71,14 +71,14 @@ block_modules = {}
modsrc = []
foreach m : [
- ['CONFIG_CURL', 'curl', [curl, glib], 'curl.c'],
- ['CONFIG_GLUSTERFS', 'gluster', glusterfs, 'gluster.c'],
- ['CONFIG_LIBISCSI', 'iscsi', libiscsi, 'iscsi.c'],
- ['CONFIG_LIBNFS', 'nfs', libnfs, 'nfs.c'],
- ['CONFIG_LIBSSH', 'ssh', libssh, 'ssh.c'],
- ['CONFIG_RBD', 'rbd', rbd, 'rbd.c'],
+ [curl, 'curl', [curl, glib], 'curl.c'],
+ [glusterfs, 'gluster', glusterfs, 'gluster.c'],
+ [libiscsi, 'iscsi', libiscsi, 'iscsi.c'],
+ [libnfs, 'nfs', libnfs, 'nfs.c'],
+ [libssh, 'ssh', libssh, 'ssh.c'],
+ [rbd, 'rbd', rbd, 'rbd.c'],
]
- if config_host.has_key(m[0])
+ if m[0].found()
if enable_modules
modsrc += files(m[3])
endif
@@ -91,10 +91,10 @@ endforeach
# those are not exactly regular block modules, so treat them apart
if 'CONFIG_DMG' in config_host
foreach m : [
- ['CONFIG_LZFSE', 'dmg-lzfse', liblzfse, 'dmg-lzfse.c'],
- ['CONFIG_BZIP2', 'dmg-bz2', [glib, libbzip2], 'dmg-bz2.c']
+ [liblzfse, 'dmg-lzfse', liblzfse, 'dmg-lzfse.c'],
+ [libbzip2, 'dmg-bz2', [glib, libbzip2], 'dmg-bz2.c']
]
- if config_host.has_key(m[0])
+ if m[0].found()
module_ss = ss.source_set()
module_ss.add(when: m[2], if_true: files(m[3]))
block_modules += {m[1] : module_ss}