[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v5 10/21] mirror: Update signature of mirror_clip_se
From: |
Eric Blake |
Subject: |
[Qemu-block] [PATCH v5 10/21] mirror: Update signature of mirror_clip_sectors() |
Date: |
Fri, 7 Jul 2017 07:44:48 -0500 |
Rather than having a void function that modifies its input
in-place as the output, change the signature to reduce a layer
of indirection and return the result.
Suggested-by: John Snow <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
---
v3-v4: no change
v2: new patch
---
block/mirror.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/block/mirror.c b/block/mirror.c
index 60eefbd..a41ef25 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -176,12 +176,12 @@ static void mirror_read_complete(void *opaque, int ret)
aio_context_release(blk_get_aio_context(s->common.blk));
}
-static inline void mirror_clip_sectors(MirrorBlockJob *s,
- int64_t sector_num,
- int *nb_sectors)
+static inline int mirror_clip_sectors(MirrorBlockJob *s,
+ int64_t sector_num,
+ int nb_sectors)
{
- *nb_sectors = MIN(*nb_sectors,
- s->bdev_length / BDRV_SECTOR_SIZE - sector_num);
+ return MIN(nb_sectors,
+ s->bdev_length / BDRV_SECTOR_SIZE - sector_num);
}
/* Round sector_num and/or nb_sectors to target cluster if COW is needed, and
@@ -216,7 +216,8 @@ static int mirror_cow_align(MirrorBlockJob *s,
}
/* Clipping may result in align_nb_sectors unaligned to chunk boundary, but
* that doesn't matter because it's already the end of source image. */
- mirror_clip_sectors(s, align_sector_num, &align_nb_sectors);
+ align_nb_sectors = mirror_clip_sectors(s, align_sector_num,
+ align_nb_sectors);
ret = align_sector_num + align_nb_sectors - (*sector_num + *nb_sectors);
*sector_num = align_sector_num;
@@ -445,7 +446,7 @@ static uint64_t coroutine_fn
mirror_iteration(MirrorBlockJob *s)
return 0;
}
- mirror_clip_sectors(s, sector_num, &io_sectors);
+ io_sectors = mirror_clip_sectors(s, sector_num, io_sectors);
switch (mirror_method) {
case MIRROR_METHOD_COPY:
io_sectors = mirror_do_read(s, sector_num, io_sectors);
--
2.9.4
- [Qemu-block] [PATCH v5 00/21] make bdrv_is_allocated[_above] byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 01/21] blockjob: Track job ratelimits via bytes, not sectors, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 03/21] stream: Switch stream_populate() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 02/21] trace: Show blockjob actions via bytes, not sectors, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 04/21] stream: Drop reached_end for stream_complete(), Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 05/21] stream: Switch stream_run() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 06/21] commit: Switch commit_populate() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 07/21] commit: Switch commit_run() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 08/21] mirror: Switch MirrorBlockJob to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 09/21] mirror: Switch mirror_do_zero_or_discard() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 10/21] mirror: Update signature of mirror_clip_sectors(),
Eric Blake <=
- [Qemu-block] [PATCH v5 11/21] mirror: Switch mirror_cow_align() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 12/21] mirror: Switch mirror_do_read() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 13/21] mirror: Switch mirror_iteration() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 14/21] block: Drop unused bdrv_round_sectors_to_clusters(), Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 15/21] backup: Switch BackupBlockJob to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 16/21] backup: Switch block_backup.h to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 17/21] backup: Switch backup_do_cow() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 18/21] backup: Switch backup_run() to byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 19/21] block: Make bdrv_is_allocated() byte-based, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 20/21] block: Minimize raw use of bds->total_sectors, Eric Blake, 2017/07/07