qed.c (72daa72eeecb6b2ee06ab7d836ac3aa01ad7e6df) | qed.c (d34682cd4a06efe9ee3fc8cb7e8a0ea445299989) |
---|---|
1/* 2 * QEMU Enhanced Disk Format 3 * 4 * Copyright IBM, Corp. 2010 5 * 6 * Authors: 7 * Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> 8 * Anthony Liguori <aliguori@us.ibm.com> --- 481 unchanged lines hidden (view full) --- 490 491 ret = qed_check(s, &result, true); 492 if (ret) { 493 goto out; 494 } 495 } 496 } 497 | 1/* 2 * QEMU Enhanced Disk Format 3 * 4 * Copyright IBM, Corp. 2010 5 * 6 * Authors: 7 * Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> 8 * Anthony Liguori <aliguori@us.ibm.com> --- 481 unchanged lines hidden (view full) --- 490 491 ret = qed_check(s, &result, true); 492 if (ret) { 493 goto out; 494 } 495 } 496 } 497 |
498 bs->bl.write_zeroes_alignment = s->header.cluster_size >> BDRV_SECTOR_BITS; | |
499 s->need_check_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, 500 qed_need_check_timer_cb, s); 501 502out: 503 if (ret) { 504 qed_free_l2_cache(&s->l2_cache); 505 qemu_vfree(s->l1_table); 506 } 507 return ret; 508} 509 | 498 s->need_check_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, 499 qed_need_check_timer_cb, s); 500 501out: 502 if (ret) { 503 qed_free_l2_cache(&s->l2_cache); 504 qemu_vfree(s->l1_table); 505 } 506 return ret; 507} 508 |
509static int bdrv_qed_refresh_limits(BlockDriverState *bs) 510{ 511 BDRVQEDState *s = bs->opaque; 512 513 bs->bl.write_zeroes_alignment = s->header.cluster_size >> BDRV_SECTOR_BITS; 514 515 return 0; 516} 517 |
|
510/* We have nothing to do for QED reopen, stubs just return 511 * success */ 512static int bdrv_qed_reopen_prepare(BDRVReopenState *state, 513 BlockReopenQueue *queue, Error **errp) 514{ 515 return 0; 516} 517 --- 1093 unchanged lines hidden (view full) --- 1611 .bdrv_co_get_block_status = bdrv_qed_co_get_block_status, 1612 .bdrv_make_empty = bdrv_qed_make_empty, 1613 .bdrv_aio_readv = bdrv_qed_aio_readv, 1614 .bdrv_aio_writev = bdrv_qed_aio_writev, 1615 .bdrv_co_write_zeroes = bdrv_qed_co_write_zeroes, 1616 .bdrv_truncate = bdrv_qed_truncate, 1617 .bdrv_getlength = bdrv_qed_getlength, 1618 .bdrv_get_info = bdrv_qed_get_info, | 518/* We have nothing to do for QED reopen, stubs just return 519 * success */ 520static int bdrv_qed_reopen_prepare(BDRVReopenState *state, 521 BlockReopenQueue *queue, Error **errp) 522{ 523 return 0; 524} 525 --- 1093 unchanged lines hidden (view full) --- 1619 .bdrv_co_get_block_status = bdrv_qed_co_get_block_status, 1620 .bdrv_make_empty = bdrv_qed_make_empty, 1621 .bdrv_aio_readv = bdrv_qed_aio_readv, 1622 .bdrv_aio_writev = bdrv_qed_aio_writev, 1623 .bdrv_co_write_zeroes = bdrv_qed_co_write_zeroes, 1624 .bdrv_truncate = bdrv_qed_truncate, 1625 .bdrv_getlength = bdrv_qed_getlength, 1626 .bdrv_get_info = bdrv_qed_get_info, |
1627 .bdrv_refresh_limits = bdrv_qed_refresh_limits, |
|
1619 .bdrv_change_backing_file = bdrv_qed_change_backing_file, 1620 .bdrv_invalidate_cache = bdrv_qed_invalidate_cache, 1621 .bdrv_check = bdrv_qed_check, 1622}; 1623 1624static void bdrv_qed_init(void) 1625{ 1626 bdrv_register(&bdrv_qed); 1627} 1628 1629block_init(bdrv_qed_init); | 1628 .bdrv_change_backing_file = bdrv_qed_change_backing_file, 1629 .bdrv_invalidate_cache = bdrv_qed_invalidate_cache, 1630 .bdrv_check = bdrv_qed_check, 1631}; 1632 1633static void bdrv_qed_init(void) 1634{ 1635 bdrv_register(&bdrv_qed); 1636} 1637 1638block_init(bdrv_qed_init); |