Hi Linus, The following changes since commit 666eed46769d929c3e13636134ecfc67d75ef548: dm: fix __send_duplicate_bios() to always allow for splitting IO (2023-03-30 15:54:32 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git tags/for-6.4/dm-changes for you to fetch changes up to 38d11da522aacaa05898c734a1cec86f1e611129: dm: don't lock fs when the map is NULL in process of resume (2023-04-19 11:51:37 -0400) Please pull, thanks. Mike ---------------------------------------------------------------- - Split dm-bufio's rw_semaphore and rbtree. Offers improvements to dm-bufio's locking to allow increased concurrent IO -- particularly for read access for buffers already in dm-bufio's cache. - Also split dm-bio-prison-v1's spinlock and rbtree with comparable aim at improving concurrent IO (for the DM thinp target). - Both the dm-bufio and dm-bio-prison-v1 scaling of the number of locks and rbtrees used are managed by dm_num_hash_locks(). And the hash function used by both is dm_hash_locks_index(). - Allow DM targets to require DISCARD, WRITE_ZEROES and SECURE_ERASE to be split at the target specified boundary (in terms of max_discard_sectors, max_write_zeroes_sectors and max_secure_erase_sectors respectively). - DM verity error handling fix for check_at_most_once on FEC. - Update DM verity target to emit audit events on verification failure and more. - DM core ->io_hints improvements needed in support of new discard support that is added to the DM "zero" and "error" targets. - Fix missing kmem_cache_destroy() call in initialization error path of both the DM integrity and DM clone targets. - A couple fixes for DM flakey, also add "error_reads" feature. - Fix DM core's resume to not lock FS when the DM map is NULL; otherwise initial table load can race with FS mount that takes superblock's ->s_umount rw_semaphore. - Various small improvements to both DM core and DM targets. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEJfWUX4UqZ4x1O2wixSPxCi2dA1oFAmRGtWwACgkQxSPxCi2d A1pBqgf/W7op3/PdXBI+tlb7j05MEvMaZx0vz3l+qF36SMglaP1yZLZPiU9MCX2V Sm2t4p7VEn5gAxvmzqa0/pLINC7u/m1IW9O6y3qdOEFAgwJ2st+/yaDqgguN5kiA uOzecyDfR7n0WU5rkaO2EUneO7MrYweLR3IROFNFNHndl4bVJOafDcOJvmsI4YYe 5PIMHb+AGND+O2lIVOvSiPD6e85trcRWkr2X6DUYlllV3XEaBLke5MP1OAp+o/Y5 MFPfznnuiEvcFAzsBoDebC5j7RBQjHw12Bp8ltZV1ZFbdvluw9q1GD2/uyR5UolV jmerZXKThV7lRJYqilUmt74Rxl2JSg== =zPkM -----END PGP SIGNATURE----- ---------------------------------------------------------------- Joe Thornber (8): dm bufio: remove unused dm_bufio_release_move interface dm bufio: add LRU abstraction dm bufio: add dm_buffer_cache abstraction dm bufio: improve concurrent IO performance dm bufio: add lock_history optimization for cache iterators dm thin: speed up cell_defer_no_holder() dm bio prison v1: improve concurrent IO performance dm: improve hash_locks sizing and hash function Li Lingfeng (1): dm: don't lock fs when the map is NULL in process of resume Michael Weiß (1): dm verity: emit audit events on verification failure and more Mike Snitzer (16): dm bufio: use WARN_ON in dm_bufio_client_destroy and dm_bufio_exit dm bufio: never crash if dm_bufio_in_request() dm bufio: don't bug for clear developer oversight dm bufio: move dm_bufio_client members to avoid spanning cachelines dm: split discards further if target sets max_discard_granularity dm bio prison v1: add dm_cell_key_has_valid_range dm: add dm_num_hash_locks() dm bufio: prepare to intelligently size dm_buffer_cache's buffer_trees dm bufio: intelligently size dm_buffer_cache's buffer_trees dm bio prison v1: prepare to intelligently size dm_bio_prison's prison_regions dm bio prison v1: intelligently size dm_bio_prison's prison_regions dm clone: call kmem_cache_destroy() in dm_clone_init() error path dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path dm: allow targets to require splitting WRITE_ZEROES and SECURE_ERASE dm: unexport dm_get_queue_limits() dm ioctl: fix nested locking in table_clear() to remove deadlock concern Mikulas Patocka (8): dm bufio: use waitqueue_active in __free_buffer_wake dm bufio: use multi-page bio vector dm table: allow targets without devices to set ->io_hints dm zero: add discard support dm error: add discard support dm flakey: fix a crash with invalid table line dm flakey: remove trailing space in the table line dm flakey: add an "error_reads" option Tom Rix (1): dm raid: remove unused d variable Yangtao Li (3): dm: push error reporting down to dm_register_target() dm mirror: add DMERR message if alloc_workqueue fails dm: add helper macro for simple DM target module init and exit Yeongjin Gil (1): dm verity: fix error handling for check_at_most_once on FEC Yu Zhe (1): dm: remove unnecessary (void*) conversions .../admin-guide/device-mapper/dm-flakey.rst | 4 + drivers/md/dm-bio-prison-v1.c | 94 +- drivers/md/dm-bio-prison-v1.h | 15 + drivers/md/dm-bufio.c | 1988 ++++++++++++++------ drivers/md/dm-cache-target.c | 1 - drivers/md/dm-clone-target.c | 2 +- drivers/md/dm-crypt.c | 20 +- drivers/md/dm-delay.c | 26 +- drivers/md/dm-dust.c | 19 +- drivers/md/dm-ebs-target.c | 19 +- drivers/md/dm-era-target.c | 22 +- drivers/md/dm-flakey.c | 71 +- drivers/md/dm-integrity.c | 15 +- drivers/md/dm-io.c | 4 +- drivers/md/dm-ioctl.c | 12 +- drivers/md/dm-kcopyd.c | 4 +- drivers/md/dm-linear.c | 6 +- drivers/md/dm-log-writes.c | 21 +- drivers/md/dm-log.c | 24 +- drivers/md/dm-mpath.c | 5 +- drivers/md/dm-raid.c | 22 +- drivers/md/dm-raid1.c | 24 +- drivers/md/dm-snap-persistent.c | 2 +- drivers/md/dm-snap.c | 12 +- drivers/md/dm-stripe.c | 4 +- drivers/md/dm-switch.c | 20 +- drivers/md/dm-table.c | 6 +- drivers/md/dm-target.c | 20 +- drivers/md/dm-thin.c | 125 +- drivers/md/dm-unstripe.c | 14 +- drivers/md/dm-verity-fec.c | 4 +- drivers/md/dm-verity-target.c | 42 +- drivers/md/dm-writecache.c | 22 +- drivers/md/dm-zero.c | 31 +- drivers/md/dm-zoned-metadata.c | 6 +- drivers/md/dm-zoned-target.c | 16 +- drivers/md/dm.c | 47 +- drivers/md/dm.h | 22 + include/linux/device-mapper.h | 40 +- include/linux/dm-bufio.h | 6 - include/uapi/linux/dm-ioctl.h | 4 +- 41 files changed, 1777 insertions(+), 1084 deletions(-)