Hi Linus, These DM changes happen to be based on linux-block from a few weeks ago (but an expected DM dependency on block turned out to not be needed). And the few block/keyslot-manager changes are accompanied by Jens' Acked-by. The following changes since commit 8358c28a5d44bf0223a55a2334086c3707bb4185: block: fix memory leak of bvec (2021-02-02 08:57:56 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-5.12/dm-changes for you to fetch changes up to a666e5c05e7c4aaabb2c5d58117b0946803d03d2: dm: fix deadlock when swapping to encrypted device (2021-02-11 09:45:28 -0500) Please pull, thanks. Mike ---------------------------------------------------------------- - Fix DM integrity's HMAC support to provide enhanced security of internal_hash and journal_mac capabilities. - Various DM writecache fixes to address performance, fix table output to match what was provided at table creation, fix writing beyond end of device when shrinking underlying data device, and a couple other small cleanups. - Add DM crypt support for using trusted keys. - Fix deadlock when swapping to DM crypt device by throttling number of in-flight REQ_SWAP bios. Implemented in DM core so that other bio-based targets can opt-in by setting ti->limit_swap_bios. - Fix various inverted logic bugs in the .iterate_devices callout functions that are used to assess if specific feature or capability is supported across all devices being combined/stacked by DM. - Fix DM era target bugs that exposed users to lost writes or memory leaks. - Add DM core support for passing through inline crypto support of underlying devices. Includes block/keyslot-manager changes that enable extending this support to DM. - Various small fixes and cleanups (spelling fixes, front padding calculation cleanup, cleanup conditional zoned support in targets, etc). ---------------------------------------------------------------- Ahmad Fatoum (2): dm crypt: replaced #if defined with IS_ENABLED dm crypt: support using trusted keys Colin Ian King (1): dm integrity: fix spelling mistake "flusing" -> "flushing" Geert Uytterhoeven (1): dm crypt: Spelling s/cihper/cipher/ Jeffle Xu (5): dm: cleanup of front padding calculation dm table: fix iterate_devices based device capability checks dm table: fix DAX iterate_devices based device capability checks dm table: fix zoned iterate_devices based device capability checks dm table: remove needless request_queue NULL pointer checks Jinoh Kang (1): dm persistent data: fix return type of shadow_root() Mike Snitzer (2): dm writecache: use bdev_nr_sectors() instead of open-coded equivalent dm: simplify target code conditional on CONFIG_BLK_DEV_ZONED Mikulas Patocka (5): dm integrity: introduce the "fix_hmac" argument dm writecache: fix performance degradation in ssd mode dm writecache: return the exact table values that were set dm writecache: fix writing beyond end of underlying device when shrinking dm: fix deadlock when swapping to encrypted device Nikos Tsironis (7): dm era: Recover committed writeset after crash dm era: Update in-core bitset after committing the metadata dm era: Reinitialize bitset cache before digesting a new writeset dm era: Verify the data block size hasn't changed dm era: Fix bitset memory leaks dm era: Use correct value size in equality function of writeset tree dm era: only resize metadata in preresume Satya Tangirala (5): block/keyslot-manager: Introduce passthrough keyslot manager block/keyslot-manager: Introduce functions for device mapper support dm: add support for passing through inline crypto support dm: support key eviction from keyslot managers of underlying devices dm: set DM_TARGET_PASSES_CRYPTO feature for some targets Tian Tao (1): dm writecache: fix unnecessary NULL check warnings Tom Rix (1): dm dust: remove h from printk format specifier .../admin-guide/device-mapper/dm-crypt.rst | 2 +- .../admin-guide/device-mapper/dm-integrity.rst | 11 + block/blk-crypto.c | 1 + block/keyslot-manager.c | 146 ++++++++ drivers/md/Kconfig | 1 + drivers/md/dm-core.h | 9 + drivers/md/dm-crypt.c | 39 +- drivers/md/dm-dust.c | 2 +- drivers/md/dm-era-target.c | 93 +++-- drivers/md/dm-flakey.c | 6 +- drivers/md/dm-integrity.c | 140 +++++++- drivers/md/dm-linear.c | 8 +- drivers/md/dm-table.c | 399 +++++++++++++++------ drivers/md/dm-writecache.c | 80 +++-- drivers/md/dm.c | 96 ++++- drivers/md/dm.h | 2 +- drivers/md/persistent-data/dm-btree-internal.h | 2 +- drivers/md/persistent-data/dm-btree-spine.c | 2 +- include/linux/device-mapper.h | 32 +- include/linux/keyslot-manager.h | 11 + include/uapi/linux/dm-ioctl.h | 4 +- 21 files changed, 868 insertions(+), 218 deletions(-)