From: Li Nan <linan122@huawei.com> Benjamin Marzinski (2): dm-raid: Fix WARN_ON_ONCE check for sync_thread in raid_resume md/raid5: recheck if reshape has finished with device_lock held Christoph Hellwig (4): md: add a mddev_trace_remap helper md: add a mddev_add_trace_msg helper md: add a mddev_is_dm helper md/raid0: don't free conf on raid0_run failure Christophe JAILLET (1): md-cluster: Constify struct md_cluster_operations Florian-Ewald Mueller (1): md: add check for sleepers in md_wakeup_thread() Heming Zhao (2): md-cluster: fix hanging issue while a new disk adding md-cluster: fix no recovery job when adding/re-adding a disk Joel Granados (1): raid: Remove now superfluous sentinel element from ctl_table array Li Lingfeng (1): md: get rdev->mddev with READ_ONCE() Li Nan (12): md: merge the check of capabilities into md_ioctl_valid() md: changed the switch of RAID_VERSION to if md: return directly before setting did_set_md_closing md: factor out a helper to sync mddev md: sync blockdev before stopping raid or setting readonly md: clean up openers check in do_md_stop() and md_set_readonly() md: check mddev->pers before calling md_set_readonly() md: Fix overflow in is_mddev_idle md: don't account sync_io if iostats of the disk is disabled md: Revert "md: Fix overflow in is_mddev_idle" md: change the return value type of md_write_start to void md: make md_flush_request() more readable Mateusz Jończyk (1): md/raid1: set max_sectors during early return from choose_slow_rdev() Mikulas Patocka (1): md: fix a suspicious RCU usage warning Yang Li (1): md: Remove unneeded semicolon Yu Kuai (37): md: remove redundant check of 'mddev->sync_thread' md: remove redundant md_wakeup_thread() md: Don't ignore suspended array in md_check_recovery() md: Don't ignore read-only array in md_check_recovery() md: Make sure md_do_sync() will set MD_RECOVERY_DONE md: Don't register sync_thread for reshape directly md: Don't suspend the array for interrupted reshape md: add a new helper rdev_has_badblock() md/raid1: factor out helpers to add rdev to conf md/raid1: record nonrot rdevs while adding/removing rdevs to conf md/raid1: fix choose next idle in read_balance() md/raid1-10: add a helper raid1_check_read_range() md/raid1-10: factor out a new helper raid1_should_read_first() md/raid1: factor out read_first_rdev() from read_balance() md/raid1: factor out choose_slow_rdev() from read_balance() md/raid1: factor out choose_bb_rdev() from read_balance() md/raid1: factor out the code to manage sequential IO md/raid1: factor out helpers to choose the best rdev from read_balance() md: don't clear MD_RECOVERY_FROZEN for new dm-raid until resume md: export helpers to stop sync_thread md: export helper md_is_rdwr() md: add a new helper reshape_interrupted() dm-raid: really frozen sync_thread during suspend dm-raid: add a new helper prepare_suspend() in md_personality dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent with reshape md: rearrange recovery_flags md: add a new enum type sync_action md: add new helpers for sync_action md: factor out helper to start reshape from action_store() md: replace sysfs api sync_action with new helpers md: remove parameter check_seq for stop_sync_thread() md: don't fail action_store() if sync_thread is not registered md: use new helpers in md_do_sync() md: replace last_sync_action with new enum type md: factor out helpers for different sync_action in md_do_sync() md: pass in max_sectors for pers->sync_request() md/raid5: fix spares errors about rcu usage drivers/md/md-cluster.h | 2 + drivers/md/md.h | 204 ++++++++-- drivers/md/raid1.h | 1 + drivers/md/dm-raid.c | 66 +++- drivers/md/md-bitmap.c | 9 +- drivers/md/md-cluster.c | 51 ++- drivers/md/md.c | 858 +++++++++++++++++++++++----------------- drivers/md/raid0.c | 24 +- drivers/md/raid1-10.c | 69 ++++ drivers/md/raid1.c | 595 ++++++++++++++++------------ drivers/md/raid10.c | 120 ++---- drivers/md/raid5.c | 215 +++++----- 12 files changed, 1336 insertions(+), 878 deletions(-) -- 2.39.2