[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block/curl: Implement the libcurl timer callbac
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH] block/curl: Implement the libcurl timer callback interface |
Date: |
Fri, 24 Jan 2014 16:01:03 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 24.01.2014 um 14:56 hat Paolo Bonzini geschrieben:
> From: Peter Maydell <address@hidden>
>
> libcurl versions 7.16.0 and later have a timer callback interface which
> must be implemented in order for libcurl to make forward progress (it
> will sometimes rely on being called back on the timeout if there are
> no file descriptors registered). Implement the callback, and use a
> QEMU AIO timer to ensure we prod libcurl again when it asks us to.
>
> Based on Peter's original patch plus my fix to add curl_multi_timeout_do.
> Should compile just fine even on older versions of libcurl.
>
> I also tried copy-on-read and streaming:
>
> $ ./qemu-img create -f qcow2 -o \
>
> backing_file=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso
> \
> foo.qcow2 1G
> $ x86_64-softmmu/qemu-system-x86_64 \
> -drive if=none,file=foo.qcow2,copy-on-read=on,id=cd \
> -device ide-cd,drive=cd --enable-kvm -m 1024
>
> Direct http usage is probably too slow, but with copy-on-read ultimately
> the image does boot!
>
> After some time, streaming gets canceled by an EIO, which needs further
> investigation.
>
> Signed-off-by: Peter Maydell <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
Thanks, applied to the block branch.
Kevin
[Qemu-devel] [PATCH] block/curl: Implement the libcurl timer callback interface, Paolo Bonzini, 2014/01/24
- Re: [Qemu-devel] [PATCH] block/curl: Implement the libcurl timer callback interface,
Kevin Wolf <=