Merge tag 'md-6.15-20250312' of https://git.kernel.org/pub/scm/linux/kernel/git/mdrai...
authorJens Axboe <axboe@kernel.dk>
Thu, 13 Mar 2025 11:34:51 +0000 (05:34 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 13 Mar 2025 11:34:51 +0000 (05:34 -0600)
Merge MD changes from Yu:

"- fix recovery can preempt resync (Li Nan)
 - fix md-bitmap IO limit (Su Yue)
 - fix raid10 discard with REQ_NOWAIT (Xiao Ni)
 - fix raid1 memory leak (Zheng Qixing)
 - fix mddev uaf (Yu Kuai)
 - fix raid1,raid10 IO flags (Yu Kuai)
 - some refactor and cleanup (Yu Kuai)"

* tag 'md-6.15-20250312' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux:
  md/raid10: wait barrier before returning discard request with REQ_NOWAIT
  md/md-bitmap: fix wrong bitmap_limit for clustermd when write sb
  md/raid1,raid10: don't ignore IO flags
  md/raid5: merge reshape_progress checking inside get_reshape_loc()
  md: fix mddev uaf while iterating all_mddevs list
  md: switch md-cluster to use md_submodle_head
  md: don't export md_cluster_ops
  md/md-cluster: cleanup md_cluster_ops reference
  md: switch personalities to use md_submodule_head
  md: introduce struct md_submodule_head and APIs
  md: only include md-cluster.h if necessary
  md: merge common code into find_pers()
  md/raid1: fix memory leak in raid1_run() if no active rdev
  md: ensure resync is prioritized over recovery

1  2 
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1-10.c
drivers/md/raid1.c
drivers/md/raid10.c

diff --cc drivers/md/md.c
Simple merge
diff --cc drivers/md/md.h
@@@ -289,11 -315,12 +315,12 @@@ static inline int rdev_has_badblock(str
        return is_badblock(rdev, s, sectors, &first_bad, &bad_sectors);
  }
  
 -extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
 -                            int is_new);
 -extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
 -                              int is_new);
 +extern bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
 +                             int is_new);
 +extern void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
 +                               int is_new);
  struct md_cluster_info;
+ struct md_cluster_operations;
  
  /**
   * enum mddev_flags - md device flags.
Simple merge
Simple merge
Simple merge