qemu-irix/block
Eric Blake 51b0a48888 block: Make bdrv_is_allocated_above() byte-based
We are gradually moving away from sector-based interfaces, towards
byte-based.  In the common case, allocation is unlikely to ever use
values that are not naturally sector-aligned, but it is possible
that byte-based values will let us be more precise about allocation
at the end of an unaligned file that can do byte-based access.

Changing the signature of the function to use int64_t *pnum ensures
that the compiler enforces that all callers are updated.  For now,
the io.c layer still assert()s that all callers are sector-aligned,
but that can be relaxed when a later patch implements byte-based
block status.  Therefore, for the most part this patch is just the
addition of scaling at the callers followed by inverse scaling at
bdrv_is_allocated().  But some code, particularly stream_run(),
gets a lot simpler because it no longer has to mess with sectors.
Leave comments where we can further simplify by switching to
byte-based iterations, once later patches eliminate the need for
sector-aligned operations.

For ease of review, bdrv_is_allocated() was tackled separately.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2017-07-10 13:18:07 +02:00
..
Makefile.objs qed: Remove GenericCB 2017-06-26 14:51:14 +02:00
accounting.c
backup.c block: Make bdrv_is_allocated() byte-based 2017-07-10 13:18:07 +02:00
blkdebug.c blkdebug: Support .bdrv_co_get_block_status 2017-07-10 13:18:05 +02:00
blkreplay.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
blkverify.c blkverify: Catch bs->exact_filename overflow 2017-06-26 14:54:46 +02:00
block-backend.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
bochs.c
cloop.c
commit.c block: Make bdrv_is_allocated_above() byte-based 2017-07-10 13:18:07 +02:00
crypto.c
curl.c
dirty-bitmap.c
dmg-bz2.c
dmg.c
dmg.h
file-posix.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
file-win32.c
gluster.c
io.c block: Make bdrv_is_allocated_above() byte-based 2017-07-10 13:18:07 +02:00
iscsi-opts.c
iscsi.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
linux-aio.c
mirror.c block: Make bdrv_is_allocated_above() byte-based 2017-07-10 13:18:07 +02:00
nbd-client.c nbd: fix NBD over TLS 2017-07-04 14:30:03 +02:00
nbd-client.h block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
nbd.c block: Do not strcmp() with NULL uri->scheme 2017-06-26 14:54:46 +02:00
nfs.c block: Do not strcmp() with NULL uri->scheme 2017-06-26 14:54:46 +02:00
null.c
parallels.c
qapi.c
qcow.c
qcow2-cache.c
qcow2-cluster.c
qcow2-refcount.c
qcow2-snapshot.c
qcow2.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
qcow2.h
qed-check.c
qed-cluster.c qed: Add coroutine_fn to I/O path functions 2017-06-26 14:51:15 +02:00
qed-l2-cache.c
qed-table.c qed: Remove callback from qed_write_table() 2017-06-26 14:51:14 +02:00
qed.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
qed.h qed: Add coroutine_fn to I/O path functions 2017-06-26 14:51:15 +02:00
quorum.c
raw-format.c block: Simplify use of BDRV_BLOCK_RAW 2017-07-10 13:18:05 +02:00
rbd.c block: change variable names in BlockDriverState 2017-06-26 14:54:46 +02:00
replication.c block: Make bdrv_is_allocated_above() byte-based 2017-07-10 13:18:07 +02:00
sheepdog.c block: Do not strcmp() with NULL uri->scheme 2017-06-26 14:54:46 +02:00
snapshot.c
ssh.c block: Do not strcmp() with NULL uri->scheme 2017-06-26 14:54:46 +02:00
stream.c block: Make bdrv_is_allocated_above() byte-based 2017-07-10 13:18:07 +02:00
throttle-groups.c
trace-events trace: Show blockjob actions via bytes, not sectors 2017-07-10 13:18:06 +02:00
vdi.c
vhdx-endian.c
vhdx-log.c
vhdx.c
vhdx.h
vmdk.c
vpc.c block: Simplify use of BDRV_BLOCK_RAW 2017-07-10 13:18:05 +02:00
vvfat.c block: Make bdrv_is_allocated() byte-based 2017-07-10 13:18:07 +02:00
vxhs.c
win32-aio.c
write-threshold.c