qemu/block
Eric Blake 9f1963b3f7 block: Convert bdrv_co_discard() to byte-based
Another step towards byte-based interfaces everywhere.  Replace
the sector-based bdrv_co_discard() with a new byte-based
bdrv_co_pdiscard(), which silently ignores any unaligned head
or tail.  Driver callbacks will be converted in followup patches.

By calculating the alignment outside of the loop, and clamping
the max discard to an aligned value, we can simplify the actions
done within the loop.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1468624988-423-2-git-send-email-eblake@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2016-07-20 14:11:54 +01:00
..
accounting.c block: Clean up includes 2016-01-20 13:36:23 +01:00
archipelago.c coccinelle: Remove unnecessary variables for function return value 2016-06-20 16:38:13 +02:00
backup.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
blkdebug.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
blkreplay.c block: Convert bdrv_co_discard() to byte-based 2016-07-20 14:11:54 +01:00
blkverify.c block: Convert bdrv_aio_writev() to BdrvChild 2016-07-05 16:46:26 +02:00
block-backend.c block: Convert bdrv_co_discard() to byte-based 2016-07-20 14:11:54 +01:00
bochs.c block: Convert bdrv_co_preadv/pwritev to BdrvChild 2016-07-05 16:46:27 +02:00
cloop.c block: Convert bdrv_pread(v) to BdrvChild 2016-07-05 16:46:27 +02:00
commit.c Improve block job rate limiting for small bandwidth values 2016-07-13 13:41:38 +02:00
crypto.c QAPI patches for 2016-07-06 2016-07-06 11:38:09 +01:00
curl.c block: always compile-check debug prints 2016-05-12 15:22:08 +02:00
dirty-bitmap.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
dmg.c block: Convert bdrv_pread(v) to BdrvChild 2016-07-05 16:46:27 +02:00
gluster.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
io.c block: Convert bdrv_co_discard() to byte-based 2016-07-20 14:11:54 +01:00
iscsi.c iscsi: Rely on block layer to break up large requests 2016-07-20 14:11:54 +01:00
linux-aio.c linux-aio: prevent submitting more than MAX_EVENTS 2016-07-18 15:10:52 +01:00
Makefile.objs block: Move bdrv_commit() to block/commit.c 2016-07-05 16:46:27 +02:00
mirror.c Improve block job rate limiting for small bandwidth values 2016-07-13 13:41:38 +02:00
nbd-client.c nbd: Drop unused offset parameter 2016-07-20 14:11:54 +01:00
nbd-client.h nbd: Simplify client FUA handling 2016-05-12 15:22:09 +02:00
nbd.c nbd: Rely on block layer to break up large requests 2016-07-20 14:11:54 +01:00
nfs.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
null.c block/null: Implement bdrv_refresh_filename() 2016-06-16 15:20:37 +02:00
parallels.c block: Convert bdrv_pwrite_zeroes() to BdrvChild 2016-07-05 16:46:27 +02:00
qapi.c qapi: Add new visit_complete() function 2016-07-06 10:52:04 +02:00
qcow2-cache.c block: Convert bdrv_pwrite(v/_sync) to BdrvChild 2016-07-05 16:46:27 +02:00
qcow2-cluster.c qcow2: Fix qcow2_get_cluster_offset() 2016-07-13 13:41:38 +02:00
qcow2-refcount.c block/qcow2: Don't use cpu_to_*w() 2016-07-05 16:54:04 +02:00
qcow2-snapshot.c block: Convert bdrv_pwrite(v/_sync) to BdrvChild 2016-07-05 16:46:27 +02:00
qcow2.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
qcow2.h qcow2: Implement .bdrv_co_pwritev() 2016-06-16 15:19:55 +02:00
qcow.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
qed-check.c qed: Use DIV_ROUND_UP 2016-06-07 18:19:24 +03:00
qed-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-gencb.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-l2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-table.c block: Convert bdrv_aio_writev() to BdrvChild 2016-07-05 16:46:26 +02:00
qed.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
qed.h util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
quorum.c block: Convert bdrv_aio_writev() to BdrvChild 2016-07-05 16:46:26 +02:00
raw_bsd.c block: Convert bdrv_co_discard() to byte-based 2016-07-20 14:11:54 +01:00
raw-posix.c linux-aio: share one LinuxAioState within an AioContext 2016-07-18 15:09:31 +01:00
raw-win32.c linux-aio: share one LinuxAioState within an AioContext 2016-07-18 15:09:31 +01:00
rbd.c coccinelle: Remove unnecessary variables for function return value 2016-06-20 16:38:13 +02:00
sheepdog.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
snapshot.c error: Remove NULL checks on error_propagate() calls 2016-06-20 16:38:13 +02:00
ssh.c coroutine: move entry argument to qemu_coroutine_create 2016-07-13 13:26:02 +02:00
stream.c Improve block job rate limiting for small bandwidth values 2016-07-13 13:41:38 +02:00
throttle-groups.c block: Move I/O throttling configuration functions to BlockBackend 2016-05-19 16:45:30 +02:00
trace-events trace: split out trace events for block/ directory 2016-06-20 17:22:14 +01:00
vdi.c block: Convert bdrv_co_preadv/pwritev to BdrvChild 2016-07-05 16:46:27 +02:00
vhdx-endian.c qemu-common: stop including qemu/bswap.h from qemu-common.h 2016-05-19 16:42:28 +02:00
vhdx-log.c block: Convert bdrv_pwrite(v/_sync) to BdrvChild 2016-07-05 16:46:27 +02:00
vhdx.c block: Convert bdrv_pwrite(v/_sync) to BdrvChild 2016-07-05 16:46:27 +02:00
vhdx.h block: vhdx - update PAYLOAD_BLOCK_UNMAPPED value to match 1.00 spec 2014-12-12 15:42:22 +00:00
vmdk.c vmdk: fix metadata write regression 2016-07-13 13:41:39 +02:00
vpc.c block: Convert bdrv_co_preadv/pwritev to BdrvChild 2016-07-05 16:46:27 +02:00
vvfat.c vvfat: Fix qcow write target driver specification 2016-07-13 13:41:39 +02:00
win32-aio.c linux-aio: share one LinuxAioState within an AioContext 2016-07-18 15:09:31 +01:00
write-threshold.c block: Clean up includes 2016-01-20 13:36:23 +01:00