From: Yu Kuai <yukuai3@xxxxxxxxxx> Changes in v2: - fix some typos; - add review tag; This patchset do following things: - make io accounting for all raid levels consistent, patch 1, 3-5; - enable io accounting for all raid levels, patch 6-8; - hold 'active_io' before io start to dispatch, and release 'active_io' when io is done, make mddev_suspend() will wait for io to be done, patch 2 This patch set also prepare to synchronize io and raid configuration, make it possible to use 'active_io' in common layer to judge if normal io is in flight. Yu Kuai (8): md: move initialization and destruction of 'io_acct_set' to md.c md: also clone new io if io accounting is disabled raid5: fix missing io accounting in raid5_align_endio() md/raid1: switch to use md_account_bio() for io accounting md/raid10: switch to use md_account_bio() for io accounting md/md-multipath: enable io accounting md/md-linear: enable io accounting md/md-faulty: enable io accounting drivers/md/md-faulty.c | 2 + drivers/md/md-linear.c | 1 + drivers/md/md-multipath.c | 1 + drivers/md/md.c | 78 +++++++++++++++++++-------------------- drivers/md/md.h | 6 +-- drivers/md/raid0.c | 16 +------- drivers/md/raid1.c | 14 +++---- drivers/md/raid1.h | 1 - drivers/md/raid10.c | 20 +++++----- drivers/md/raid10.h | 1 - drivers/md/raid5.c | 70 ++++++++++------------------------- 11 files changed, 79 insertions(+), 131 deletions(-) -- 2.39.2