[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 06/11] curl: introduce CURLDataCache
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v5 06/11] curl: introduce CURLDataCache |
Date: |
Fri, 24 May 2013 11:00:56 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, 05/23 16:09, Stefan Hajnoczi wrote:
> On Thu, May 23, 2013 at 11:38:04AM +0800, Fam Zheng wrote:
> > +typedef struct CURLDataCache {
> > + char *data;
> > + size_t base_pos;
>
> Must be int64_t. QEMU compiled on 32-bit hosts would only allow 4 GB
> images with size_t!
OK.
>
> > + size_t data_len;
> > + size_t write_pos;
> > + /* Ref count for CURLState */
> > + int use_count;
>
> It's better to introduce this field when you add code to use it. When
> possible, don't add unused code in a patch, it makes it harder to
> review.
Moving to later patch.
>
> > +static void curl_complete_io(BDRVCURLState *bs, CURLAIOCB *acb,
> > + CURLDataCache *cache)
> > +{
> > + size_t aio_base = acb->sector_num * SECTOR_SIZE;
>
> int64_t
>
> > + size_t aio_bytes = acb->nb_sectors * SECTOR_SIZE;
> > + size_t off = aio_base - cache->base_pos;
> > +
> > + qemu_iovec_from_buf(acb->qiov, 0, cache->data + off, aio_bytes);
> > + acb->common.cb(acb->common.opaque, 0);
> > + DPRINTF("AIO Request OK: %10zd %10zd\n", aio_base, aio_bytes);
>
> PRId64 for 64-bit aio_base
OK, thanks.
>
> > @@ -589,26 +577,24 @@ static const AIOCBInfo curl_aiocb_info = {
> > static void curl_readv_bh_cb(void *p)
> > {
> > CURLState *state;
> > -
> > + CURLDataCache *cache = NULL;
> > CURLAIOCB *acb = p;
> > BDRVCURLState *s = acb->common.bs->opaque;
> > + size_t aio_base, aio_bytes;
>
> int64_t aio_base;
Yes, will change.
--
Fam
- [Qemu-devel] [PATCH v5 01/11] curl: introduce CURLSockInfo to BDRVCURLState., (continued)
- [Qemu-devel] [PATCH v5 01/11] curl: introduce CURLSockInfo to BDRVCURLState., Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 02/11] curl: change magic number to sizeof, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 03/11] curl: change curl_multi_do to curl_fd_handler, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 04/11] curl: fix curl_open, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 05/11] curl: add timer to BDRVCURLState, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 06/11] curl: introduce CURLDataCache, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 07/11] curl: make use of CURLDataCache., Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 08/11] curl: use list to store CURLState, Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 09/11] curl: add cache quota., Fam Zheng, 2013/05/22
- [Qemu-devel] [PATCH v5 10/11] curl: introduce ssl_no_cert runtime option., Fam Zheng, 2013/05/22