[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 08/14] mirror: Use BlockBackend
From: |
Eric Blake |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 08/14] mirror: Use BlockBackend for I/O |
Date: |
Tue, 24 May 2016 19:48:17 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 05/24/2016 07:47 AM, Kevin Wolf wrote:
> This changes the mirror block job to use the job's BlockBackend for
> performing its I/O. job->bs isn't used by the mirroring code any more
> afterwards.
>
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
> block/mirror.c | 74
> ++++++++++++++++++++++++++++++++--------------------------
> blockdev.c | 4 +---
> 2 files changed, 42 insertions(+), 36 deletions(-)
>
> @@ -295,18 +297,19 @@ static void mirror_do_zero_or_discard(MirrorBlockJob *s,
> s->in_flight++;
> s->sectors_in_flight += nb_sectors;
> if (is_discard) {
> - bdrv_aio_discard(s->target, sector_num, op->nb_sectors,
> - mirror_write_complete, op);
> + blk_aio_discard(s->target, sector_num, op->nb_sectors,
> + mirror_write_complete, op);
Eventually, discard should be converted to bytes. (Did I just get
volunteered?)
> } else {
> - bdrv_aio_write_zeroes(s->target, sector_num, op->nb_sectors,
> - s->unmap ? BDRV_REQ_MAY_UNMAP : 0,
> - mirror_write_complete, op);
> + blk_aio_write_zeroes(s->target, sector_num * BDRV_SECTOR_SIZE,
> + op->nb_sectors * BDRV_SECTOR_SIZE,
> + s->unmap ? BDRV_REQ_MAY_UNMAP : 0,
> + mirror_write_complete, op);
Conflicts with the write_zeroes stuff I just posted, let me know if I
need to rebase mine.
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-block] [PATCH v2 04/14] block: Convert block job core to BlockBackend, (continued)
- [Qemu-block] [PATCH v2 04/14] block: Convert block job core to BlockBackend, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 09/14] backup: Don't leak BackupBlockJob in error path, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 07/14] mirror: Allow target that already has a BlockBackend, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 05/14] block: Make blk_co_preadv/pwritev() public, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 08/14] mirror: Use BlockBackend for I/O, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 06/14] stream: Use BlockBackend for I/O, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 10/14] backup: Pack Notifier within BackupBlockJob, Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 11/14] backup: Remove bs parameter from backup_do_cow(), Kevin Wolf, 2016/05/24
- [Qemu-block] [PATCH v2 14/14] blockjob: Remove BlockJob.bs, Kevin Wolf, 2016/05/24