This is a followup to v1: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg00781.html v2: https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06464.html v3: https://lists.gnu.org/archive/html/qemu-devel/2017-09/msg02923.html
This collection of patches first improves the performance of the crypto block driver and then does various cleanups to improve ongoing maint work. Changed in v4: - Drop intermediate patch that replaced '512' with a constant (Max) - Use MIN() macro where needed (Max) - Fix bounce buffer size at 1MB instead of varying per sector size (Max) - Convert missing qcrypto_block_encrypt call to sectors in qcow.c (Max) Changed in v3: - Support passthrough of BDRV_REQ_FUA (Eric) - Fix potential truncation of payload offset values (Eric) - Use encryption scheme sector size instead of BDRV_SECTOR_SIZE (Kevin) - Use QEMU_IS_ALIGNED where appropriate (Eric) - Remove unused 'sector_num' variable (Eric) - Fix whitespace alignment (Eric) - Fix math error in qcow conversion (Eric) Daniel P. Berrange (6): block: use 1 MB bounce buffers for crypto instead of 16KB crypto: expose encryption sector size in APIs block: fix data type casting for crypto payload offset block: convert crypto driver to bdrv_co_preadv|pwritev block: convert qcrypto_block_encrypt|decrypt to take bytes offset block: support passthrough of BDRV_REQ_FUA in crypto driver block/crypto.c | 130 ++++++++++++++++++++++++++----------------------- block/qcow.c | 11 +++-- block/qcow2-cluster.c | 8 ++- block/qcow2.c | 4 +- crypto/block-luks.c | 18 ++++--- crypto/block-qcow.c | 13 +++-- crypto/block.c | 26 +++++++--- crypto/blockpriv.h | 5 +- include/crypto/block.h | 29 ++++++++--- 9 files changed, 148 insertions(+), 96 deletions(-) -- 2.13.5