qed.c (4359255ad39fdf116f0cf70a77ef5330c217e4da) | qed.c (061ca8a368165fae300748c17971824a089f521f) |
---|---|
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> --- 1453 unchanged lines hidden (view full) --- 1462 iov.iov_len = bytes; 1463 1464 qemu_iovec_init_external(&qiov, &iov, 1); 1465 return qed_co_request(bs, offset >> BDRV_SECTOR_BITS, &qiov, 1466 bytes >> BDRV_SECTOR_BITS, 1467 QED_AIOCB_WRITE | QED_AIOCB_ZERO); 1468} 1469 | 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> --- 1453 unchanged lines hidden (view full) --- 1462 iov.iov_len = bytes; 1463 1464 qemu_iovec_init_external(&qiov, &iov, 1); 1465 return qed_co_request(bs, offset >> BDRV_SECTOR_BITS, &qiov, 1466 bytes >> BDRV_SECTOR_BITS, 1467 QED_AIOCB_WRITE | QED_AIOCB_ZERO); 1468} 1469 |
1470static int bdrv_qed_truncate(BlockDriverState *bs, int64_t offset, 1471 PreallocMode prealloc, Error **errp) | 1470static int coroutine_fn bdrv_qed_co_truncate(BlockDriverState *bs, 1471 int64_t offset, 1472 PreallocMode prealloc, 1473 Error **errp) |
1472{ 1473 BDRVQEDState *s = bs->opaque; 1474 uint64_t old_image_size; 1475 int ret; 1476 1477 if (prealloc != PREALLOC_MODE_OFF) { 1478 error_setg(errp, "Unsupported preallocation mode '%s'", 1479 PreallocMode_str(prealloc)); --- 193 unchanged lines hidden (view full) --- 1673 .bdrv_child_perm = bdrv_format_default_perms, 1674 .bdrv_co_create = bdrv_qed_co_create, 1675 .bdrv_co_create_opts = bdrv_qed_co_create_opts, 1676 .bdrv_has_zero_init = bdrv_has_zero_init_1, 1677 .bdrv_co_block_status = bdrv_qed_co_block_status, 1678 .bdrv_co_readv = bdrv_qed_co_readv, 1679 .bdrv_co_writev = bdrv_qed_co_writev, 1680 .bdrv_co_pwrite_zeroes = bdrv_qed_co_pwrite_zeroes, | 1474{ 1475 BDRVQEDState *s = bs->opaque; 1476 uint64_t old_image_size; 1477 int ret; 1478 1479 if (prealloc != PREALLOC_MODE_OFF) { 1480 error_setg(errp, "Unsupported preallocation mode '%s'", 1481 PreallocMode_str(prealloc)); --- 193 unchanged lines hidden (view full) --- 1675 .bdrv_child_perm = bdrv_format_default_perms, 1676 .bdrv_co_create = bdrv_qed_co_create, 1677 .bdrv_co_create_opts = bdrv_qed_co_create_opts, 1678 .bdrv_has_zero_init = bdrv_has_zero_init_1, 1679 .bdrv_co_block_status = bdrv_qed_co_block_status, 1680 .bdrv_co_readv = bdrv_qed_co_readv, 1681 .bdrv_co_writev = bdrv_qed_co_writev, 1682 .bdrv_co_pwrite_zeroes = bdrv_qed_co_pwrite_zeroes, |
1681 .bdrv_truncate = bdrv_qed_truncate, | 1683 .bdrv_co_truncate = bdrv_qed_co_truncate, |
1682 .bdrv_getlength = bdrv_qed_getlength, 1683 .bdrv_get_info = bdrv_qed_get_info, 1684 .bdrv_refresh_limits = bdrv_qed_refresh_limits, 1685 .bdrv_change_backing_file = bdrv_qed_change_backing_file, 1686 .bdrv_co_invalidate_cache = bdrv_qed_co_invalidate_cache, 1687 .bdrv_co_check = bdrv_qed_co_check, 1688 .bdrv_detach_aio_context = bdrv_qed_detach_aio_context, 1689 .bdrv_attach_aio_context = bdrv_qed_attach_aio_context, 1690 .bdrv_co_drain_begin = bdrv_qed_co_drain_begin, 1691}; 1692 1693static void bdrv_qed_init(void) 1694{ 1695 bdrv_register(&bdrv_qed); 1696} 1697 1698block_init(bdrv_qed_init); | 1684 .bdrv_getlength = bdrv_qed_getlength, 1685 .bdrv_get_info = bdrv_qed_get_info, 1686 .bdrv_refresh_limits = bdrv_qed_refresh_limits, 1687 .bdrv_change_backing_file = bdrv_qed_change_backing_file, 1688 .bdrv_co_invalidate_cache = bdrv_qed_co_invalidate_cache, 1689 .bdrv_co_check = bdrv_qed_co_check, 1690 .bdrv_detach_aio_context = bdrv_qed_detach_aio_context, 1691 .bdrv_attach_aio_context = bdrv_qed_attach_aio_context, 1692 .bdrv_co_drain_begin = bdrv_qed_co_drain_begin, 1693}; 1694 1695static void bdrv_qed_init(void) 1696{ 1697 bdrv_register(&bdrv_qed); 1698} 1699 1700block_init(bdrv_qed_init); |