From: Yu Kuai <yuku...@huawei.com> Changes in v5: - rebase on the top of md-6.17; - fix compile problem if md-mod is build as module; - fix two problems for lvm2 dm-raid tests, patch 5,13 - other cleanups; Changes in v4: - rebase on the top of other patchset; Changes in v3: - update commit message. Changes in v2: - don't export apis, and don't support build md-bitmap as module
Due to known performance issues with md-bitmap and the unreasonable implementations like following: - self-managed pages, bitmap_storage->filemap; - self-managed IO submitting like filemap_write_page(); - global spin_lock ... I have decided not to continue optimizing based on the current bitmap implementation, and plan to invent a new lock-less bitmap. And a new kconfig option is a good way for isolation. However, we still encourage anyone who wants to continue optimizing the current implementation Yu Kuai (15): md/raid1: change r1conf->r1bio_pool to a pointer type md/raid1: remove struct pool_info and related code md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize() md/md-bitmap: merge md_bitmap_group into bitmap_operations md/md-bitmap: add a new parameter 'flush' to bitmap_ops->enabled md/md-bitmap: add md_bitmap_registered/enabled() helper md/md-bitmap: handle the case bitmap is not enabled before start_sync() md/md-bitmap: handle the case bitmap is not enabled before end_sync() md/raid1: check bitmap before behind write md/raid1: check before referencing mddev->bitmap_ops md/raid10: check before referencing mddev->bitmap_ops md/raid5: check before referencing mddev->bitmap_ops md/dm-raid: check before referencing mddev->bitmap_ops md: check before referencing mddev->bitmap_ops md/md-bitmap: introduce CONFIG_MD_BITMAP drivers/md/Kconfig | 18 +++++ drivers/md/Makefile | 3 +- drivers/md/dm-raid.c | 18 +++-- drivers/md/md-bitmap.c | 74 +++++++++--------- drivers/md/md-bitmap.h | 62 ++++++++++++++- drivers/md/md-cluster.c | 2 +- drivers/md/md.c | 112 +++++++++++++++++++-------- drivers/md/md.h | 4 +- drivers/md/raid1-10.c | 2 +- drivers/md/raid1.c | 163 +++++++++++++++++++--------------------- drivers/md/raid1.h | 22 +----- drivers/md/raid10.c | 49 ++++++------ drivers/md/raid5.c | 30 ++++---- 13 files changed, 330 insertions(+), 229 deletions(-) -- 2.39.2