Lines Matching refs:granularity
72 int64_t granularity; member
149 uint64_t self_start_chunk = offset / s->granularity; in mirror_wait_on_conflicts()
150 uint64_t self_end_chunk = DIV_ROUND_UP(offset + bytes, s->granularity); in mirror_wait_on_conflicts()
160 uint64_t op_start_chunk = op->offset / s->granularity; in mirror_wait_on_conflicts()
162 s->granularity) - in mirror_wait_on_conflicts()
215 chunk_num = op->offset / s->granularity; in mirror_iteration_done()
216 nb_chunks = DIV_ROUND_UP(op->bytes, s->granularity); in mirror_iteration_done()
289 int max_bytes = s->granularity * s->max_iov; in mirror_cow_align()
291 need_cow = !test_bit(*offset / s->granularity, s->cow_bitmap); in mirror_cow_align()
292 need_cow |= !test_bit((*offset + *bytes - 1) / s->granularity, in mirror_cow_align()
355 max_bytes = s->granularity * s->max_iov; in mirror_co_read()
372 assert(QEMU_IS_ALIGNED(op->offset, s->granularity)); in mirror_co_read()
375 nb_chunks = DIV_ROUND_UP(op->bytes, s->granularity); in mirror_co_read()
392 qemu_iovec_add(&op->qiov, buf, MIN(s->granularity, remaining)); in mirror_co_read()
521 while (nb_chunks * s->granularity < s->buf_size) { in mirror_iteration()
523 int64_t next_offset = offset + nb_chunks * s->granularity; in mirror_iteration()
524 int64_t next_chunk = next_offset / s->granularity; in mirror_iteration()
548 nb_chunks * s->granularity); in mirror_iteration()
560 .bytes = nb_chunks * s->granularity, in mirror_iteration()
566 bitmap_set(s->in_flight_bitmap, offset / s->granularity, nb_chunks); in mirror_iteration()
573 assert(!(offset % s->granularity)); in mirror_iteration()
576 nb_chunks * s->granularity, in mirror_iteration()
580 io_bytes = MIN(nb_chunks * s->granularity, max_io_bytes); in mirror_iteration()
585 io_bytes -= io_bytes % s->granularity; in mirror_iteration()
586 if (io_bytes < s->granularity) { in mirror_iteration()
587 io_bytes = s->granularity; in mirror_iteration()
622 nb_chunks -= DIV_ROUND_UP(io_bytes, s->granularity); in mirror_iteration()
634 int granularity = s->granularity; in mirror_free_init() local
644 buf_size -= granularity; in mirror_free_init()
645 buf += granularity; in mirror_free_init()
860 QEMU_ALIGN_DOWN(INT_MAX, s->granularity)); in mirror_dirty_init()
888 QEMU_ALIGN_DOWN(INT_MAX, s->granularity)); in mirror_dirty_init()
991 length = DIV_ROUND_UP(s->bdev_length, s->granularity); in mirror_run()
1007 s->granularity < s->target_cluster_size) { in mirror_run()
1346 if (!QEMU_IS_ALIGNED(offset, job->granularity) && in do_sync_target_write()
1366 qiov_offset = QEMU_ALIGN_UP(offset, job->granularity) - offset; in do_sync_target_write()
1375 if (!QEMU_IS_ALIGNED(offset + bytes, job->granularity) && in do_sync_target_write()
1378 uint64_t tail = (offset + bytes) % job->granularity; in do_sync_target_write()
1391 bitmap_offset = QEMU_ALIGN_UP(offset, job->granularity); in do_sync_target_write()
1392 bitmap_end = QEMU_ALIGN_DOWN(offset + bytes, job->granularity); in do_sync_target_write()
1433 bitmap_offset = QEMU_ALIGN_DOWN(offset, job->granularity); in do_sync_target_write()
1434 bitmap_end = QEMU_ALIGN_UP(offset + bytes, job->granularity); in do_sync_target_write()
1453 uint64_t start_chunk = offset / s->granularity; in active_write_prepare()
1454 uint64_t end_chunk = DIV_ROUND_UP(offset + bytes, s->granularity); in active_write_prepare()
1492 uint64_t start_chunk = op->offset / op->s->granularity; in active_write_settle()
1494 op->s->granularity); in active_write_settle()
1713 uint32_t granularity, int64_t buf_size, in mirror_start_job() argument
1737 if (granularity == 0) { in mirror_start_job()
1738 granularity = bdrv_get_default_bitmap_granularity(target); in mirror_start_job()
1741 assert(is_power_of_2(granularity)); in mirror_start_job()
1887 s->granularity = granularity; in mirror_start_job()
1888 s->buf_size = ROUND_UP(buf_size, granularity); in mirror_start_job()
1895 s->dirty_bitmap = bdrv_create_dirty_bitmap(s->mirror_top_bs, granularity, in mirror_start_job()
2010 uint32_t granularity, int64_t buf_size, in mirror_start() argument
2036 speed, granularity, buf_size, backing_mode, zero_target, in mirror_start()