[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 00/10] curl: fix curl read
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v4 00/10] curl: fix curl read |
Date: |
Wed, 22 May 2013 17:32:15 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Rich,
Please try this version with libguestfs. Thanks.
(missing CC due to improper git send-email config)
On Wed, 05/22 11:16, Fam Zheng wrote:
> CURL library API has changed, the current curl driver is not working.
> This patch rewrites the use of API as well as the structure of internal
> states.
>
> BDRVCURLState holds the pointer to curl multi interface (man 3
> libcurl-multi), and 4 lists for internal states:
> - CURLState holds state for libcurl connection (man 3 libcurl-easy)
> - CURLSockInfo holds information for libcurl socket interface (man 3
> curl_multi_socket_action).
> - CURLDataCache holds the user data read from libcurl, it is in a list
> ordered by access, the used cache is moved to list head on access, so
> the tail element is freed first. BDRVCURLState.cache_quota is the
> threshold to start freeing cache.
> - CURLAIOCB holds ongoing aio information.
>
> Changes from v3:
> 01, 06, 07: Add QLIST_INIT in qemu_open to initialize each list.
> 07: Move clean up for s->acbs from later patch to here. Use qemu_aio_relase
> instead of g_free on acb.
> Fix use-after-free bug. [Rich]
>
> Changes from v2:
> 00: Removed previous 09, since changes are included in previous
> commits.
> previous 09: curl: release everything on curl close.
> 01: Add commit message for introducing CURLSockInfo. Remove
> unnecessary pointer type cast.
> 02: Use sizeof instead of macro for s->range len.
> 04: Use pstrcpy and strncasecmp.
> 06: Add commit message for why is there a cache in curl.c.
>
> Changes from v1:
> Split to multiple patches. The final status should be identical to v1.
>
> Fam Zheng (10):
> curl: introduce CURLSockInfo to BDRVCURLState.
> curl: change magic number to sizeof
> curl: change curl_multi_do to curl_fd_handler
> curl: fix curl_open
> curl: add timer to BDRVCURLState
> curl: introduce CURLDataCache
> curl: make use of CURLDataCache.
> curl: use list to store CURLState
> curl: add cache quota.
> curl: introduce ssl_no_cert runtime option.
>
> block/curl.c | 574
> +++++++++++++++++++++++++++++++++++++----------------------
> 1 file changed, 361 insertions(+), 213 deletions(-)
>
> --
> 1.8.2.3
>
>
--
Fam
- [Qemu-devel] [PATCH v4 02/10] curl: change magic number to sizeof, (continued)
- [Qemu-devel] [PATCH v4 02/10] curl: change magic number to sizeof, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 01/10] curl: introduce CURLSockInfo to BDRVCURLState., Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 03/10] curl: change curl_multi_do to curl_fd_handler, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 04/10] curl: fix curl_open, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 05/10] curl: add timer to BDRVCURLState, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 06/10] curl: introduce CURLDataCache, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 07/10] curl: make use of CURLDataCache., Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 08/10] curl: use list to store CURLState, Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 09/10] curl: add cache quota., Fam Zheng, 2013/05/21
- [Qemu-devel] [PATCH v4 10/10] curl: introduce ssl_no_cert runtime option., Fam Zheng, 2013/05/21
- Re: [Qemu-devel] [PATCH v4 00/10] curl: fix curl read,
Fam Zheng <=
- Re: [Qemu-devel] [PATCH v4 00/10] curl: fix curl read, Richard W.M. Jones, 2013/05/22