Revision c16b5a2c block/curl.c

b/block/curl.c
349 349
    return -EINVAL;
350 350
}
351 351

  
352
static void curl_aio_cancel(BlockDriverAIOCB *blockacb)
353
{
354
    // Do we have to implement canceling? Seems to work without...
355
}
356

  
357
static AIOPool curl_aio_pool = {
358
    .aiocb_size         = sizeof(CURLAIOCB),
359
    .cancel             = curl_aio_cancel,
360
};
361

  
352 362
static BlockDriverAIOCB *curl_aio_readv(BlockDriverState *bs,
353 363
        int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,
354 364
        BlockDriverCompletionFunc *cb, void *opaque)
......
359 369
    size_t end;
360 370
    CURLState *state;
361 371

  
362
    acb = qemu_aio_get(bs, cb, opaque);
372
    acb = qemu_aio_get(&curl_aio_pool, bs, cb, opaque);
363 373
    if (!acb)
364 374
        return NULL;
365 375

  
......
406 416
    return &acb->common;
407 417
}
408 418

  
409
static void curl_aio_cancel(BlockDriverAIOCB *blockacb)
410
{
411
    // Do we have to implement canceling? Seems to work without...
412
}
413

  
414 419
static void curl_close(BlockDriverState *bs)
415 420
{
416 421
    BDRVCURLState *s = bs->opaque;
......
450 455
    .bdrv_close      = curl_close,
451 456
    .bdrv_getlength  = curl_getlength,
452 457

  
453
    .aiocb_size      = sizeof(CURLAIOCB),
454 458
    .bdrv_aio_readv  = curl_aio_readv,
455
    .bdrv_aio_cancel = curl_aio_cancel,
456 459
};
457 460

  
458 461
static BlockDriver bdrv_https = {
......
464 467
    .bdrv_close      = curl_close,
465 468
    .bdrv_getlength  = curl_getlength,
466 469

  
467
    .aiocb_size      = sizeof(CURLAIOCB),
468 470
    .bdrv_aio_readv  = curl_aio_readv,
469
    .bdrv_aio_cancel = curl_aio_cancel,
470 471
};
471 472

  
472 473
static BlockDriver bdrv_ftp = {
......
478 479
    .bdrv_close      = curl_close,
479 480
    .bdrv_getlength  = curl_getlength,
480 481

  
481
    .aiocb_size      = sizeof(CURLAIOCB),
482 482
    .bdrv_aio_readv  = curl_aio_readv,
483
    .bdrv_aio_cancel = curl_aio_cancel,
484 483
};
485 484

  
486 485
static BlockDriver bdrv_ftps = {
......
492 491
    .bdrv_close      = curl_close,
493 492
    .bdrv_getlength  = curl_getlength,
494 493

  
495
    .aiocb_size      = sizeof(CURLAIOCB),
496 494
    .bdrv_aio_readv  = curl_aio_readv,
497
    .bdrv_aio_cancel = curl_aio_cancel,
498 495
};
499 496

  
500 497
static BlockDriver bdrv_tftp = {
......
506 503
    .bdrv_close      = curl_close,
507 504
    .bdrv_getlength  = curl_getlength,
508 505

  
509
    .aiocb_size      = sizeof(CURLAIOCB),
510 506
    .bdrv_aio_readv  = curl_aio_readv,
511
    .bdrv_aio_cancel = curl_aio_cancel,
512 507
};
513 508

  
514 509
static void curl_block_init(void)

Also available in: Unified diff