[PATCH v3 0/7] Fix bio splitting by the crypto fallback code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jens,

When using the crypto fallback code, large bios are split twice. A first
time by bio_split_to_limits() and a second time by the crypto fallback
code. This causes bios not to be submitted in LBA error and hence triggers
write errors for zoned block devices. This patch series fixes this by
splitting bios once. Please consider this patch series for the next merge
window.

Thanks,

Bart.

Changes compared to v2:
 - Added a patch that optimizes blk_crypto_max_io_size().
 - Added three patches that change calling conventions in the crypto fallback
   code.
 - Added a patch to remove crypto_bio_split.
 - Moved the blk_crypto_max_io_size() call into get_max_io_size().

Changes compared to v1:
 - Dropped support for bio-based drivers that do not call bio_split_to_limits().
 - Removed the BLK_FEAT_CALLS_BIO_SPLIT_TO_LIMITS and BIO_HAS_BEEN_SPLIT flags.

Bart Van Assche (7):
  block: Improve blk_crypto_fallback_split_bio_if_needed()
  block: Split blk_crypto_fallback_split_bio_if_needed()
  block: Modify the blk_crypto_bio_prep() calling convention
  block: Modify the blk_crypto_fallback_bio_prep() calling convention
  block: Change the blk_crypto_fallback_encrypt_bio() calling convention
  block: Rework splitting of encrypted bios
  block, crypto: Remove crypto_bio_split

 block/blk-core.c            |  3 --
 block/blk-crypto-fallback.c | 85 ++++++++++++++-----------------------
 block/blk-crypto-internal.h | 25 +++++++----
 block/blk-crypto.c          | 26 ++++++------
 block/blk-merge.c           |  9 +++-
 5 files changed, 68 insertions(+), 80 deletions(-)





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux