Hi Jens, Please consider pulling the following changes for md-6.12 on top of your for-6.12/block branch. Major changes in this set are: 1. md-bitmap refactoring, by Yu Kuai; 2. raid5 performance optimization, by Artur Paszkiewicz; 3. Other small fixes, by Yu Kuai and Chen Ni. Thanks, Song The following changes since commit a28dc358e28fb0738dd23e401cd7646cb4b0f7f1: block: constify ext_pi_ref_escape() (2024-08-13 06:20:02 -0600) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git tags/md-6.12-20240829 for you to fetch changes up to fb16787b396c46158e46b588d357dea4e090020b: Merge branch 'md-6.12-raid5-opt' into md-6.12 (2024-08-29 11:22:13 -0700) ---------------------------------------------------------------- Artur Paszkiewicz (3): md/raid5: use wait_on_bit() for R5_Overlap md/raid5: only add to wq if reshape is in progress md/raid5: rename wait_for_overlap to wait_for_reshape Chen Ni (1): md: convert comma to semicolon Song Liu (2): Merge branch 'md-6.12-bitmap' into md-6.12 Merge branch 'md-6.12-raid5-opt' into md-6.12 Yu Kuai (45): md: Don't flush sync_work in md_write_start() md/raid1: Clean up local variable 'b' from raid1_read_request() md/raid1: use md_bitmap_wait_behind_writes() in raid1_read_request() md/md-bitmap: replace md_bitmap_status() with a new helper md_bitmap_get_stats() md: use new helper md_bitmap_get_stats() in update_array_info() md/md-bitmap: add 'events_cleared' into struct md_bitmap_stats md/md-cluster: fix spares warnings for __le64 md/md-bitmap: add 'sync_size' into struct md_bitmap_stats md/md-bitmap: add 'file_pages' into struct md_bitmap_stats md/md-bitmap: add 'behind_writes' and 'behind_wait' into struct md_bitmap_stats md/md-cluster: use helper md_bitmap_get_stats() to get pages in resize_bitmaps() md/md-bitmap: add a new helper md_bitmap_set_pages() md/md-bitmap: introduce struct bitmap_operations md/md-bitmap: simplify md_bitmap_create() + md_bitmap_load() md/md-bitmap: merge md_bitmap_create() into bitmap_operations md/md-bitmap: merge md_bitmap_load() into bitmap_operations md/md-bitmap: merge md_bitmap_destroy() into bitmap_operations md/md-bitmap: merge md_bitmap_flush() into bitmap_operations md/md-bitmap: make md_bitmap_print_sb() internal md/md-bitmap: merge md_bitmap_update_sb() into bitmap_operations md/md-bitmap: merge md_bitmap_status() into bitmap_operations md/md-bitmap: remove md_bitmap_setallbits() md/md-bitmap: merge bitmap_write_all() into bitmap_operations md/md-bitmap: merge md_bitmap_dirty_bits() into bitmap_operations md/md-bitmap: merge md_bitmap_startwrite() into bitmap_operations md/md-bitmap: merge md_bitmap_endwrite() into bitmap_operations md/md-bitmap: merge md_bitmap_start_sync() into bitmap_operations md/md-bitmap: remove the parameter 'aborted' for md_bitmap_end_sync() md/md-bitmap: merge md_bitmap_end_sync() into bitmap_operations md/md-bitmap: merge md_bitmap_close_sync() into bitmap_operations md/md-bitmap: merge md_bitmap_cond_end_sync() into bitmap_operations md/md-bitmap: merge md_bitmap_sync_with_cluster() into bitmap_operations md/md-bitmap: merge md_bitmap_unplug_async() into md_bitmap_unplug() md/md-bitmap: merge bitmap_unplug() into bitmap_operations md/md-bitmap: merge md_bitmap_daemon_work() into bitmap_operations md/md-bitmap: pass in mddev directly for md_bitmap_resize() md/md-bitmap: merge md_bitmap_resize() into bitmap_operations md/md-bitmap: merge get_bitmap_from_slot() into bitmap_operations md/md-bitmap: merge md_bitmap_copy_from_slot() into struct bitmap_operation. md/md-bitmap: merge md_bitmap_set_pages() into struct bitmap_operations md/md-bitmap: merge md_bitmap_free() into bitmap_operations md/md-bitmap: merge md_bitmap_wait_behind_writes() into bitmap_operations md/md-bitmap: merge md_bitmap_enabled() into bitmap_operations md/md-bitmap: make in memory structure internal md: Remove flush handling drivers/md/dm-raid.c | 7 +++- drivers/md/md-bitmap.c | 568 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------- drivers/md/md-bitmap.h | 268 +++++++++++++++++++++++------------------------------------------------------------------------------------------------------- drivers/md/md-cluster.c | 91 +++++++++++++++++++++++++------------------ drivers/md/md.c | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------ drivers/md/md.h | 13 +------ drivers/md/raid1-10.c | 9 ++--- drivers/md/raid1.c | 99 +++++++++++++++++++++-------------------------- drivers/md/raid10.c | 75 +++++++++++++++++++---------------- drivers/md/raid5-cache.c | 14 +++---- drivers/md/raid5.c | 157 +++++++++++++++++++++++++++++++++++++++----------------------------------- drivers/md/raid5.h | 2 +- 12 files changed, 832 insertions(+), 765 deletions(-)