Skip to content

Misc improvements to crypto block driver

Daniel P. Berrange qemu-devel 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest6 patches 8 repliesIn review
  2. v37 patches 14 repliesSuperseded
  3. v24 patches 8 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v11 patch4 repliesSuperseded

Changes in v4 from the cover letter

- 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)

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6block: use 1 MB bounce buffers for crypto instead of 16KBblock/crypto.c+15 -132 replies
2/6crypto: expose encryption sector size in APIscrypto/block-luks.c crypto/block-qcow.c crypto/block.c +2 more+27 -20 replies
3/6block: fix data type casting for crypto payload offsetblock/crypto.c+9 -40 replies
4/6block: convert crypto driver to bdrv_co_preadv|pwritevblock/crypto.c+54 -522 replies
5/6block: convert qcrypto_block_encrypt|decrypt to take bytes offsetblock/crypto.c block/qcow.c block/qcow2-cluster.c +6 more+56 -412 replies
6/6block: support passthrough of BDRV_REQ_FUA in crypto driverblock/crypto.c+5 -20 replies

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchMax ReitzEric Blake
1/6R-b R-b R-b
2/6R-b R-b
3/6R-b R-b
4/6R-b R-b
5/6R-b R-b
6/6R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [Qemu-devel] [PATCH v4 0/6] Misc improvements to crypto block driver

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(-)
Signature · 1 line
2.13.5