[dm-devel] [PATCH 0/4] dm raid: fix raid set extensions not being synchronized
Heinz Mauelshagen
heinzm at redhat.com
Tue Oct 1 15:47:51 UTC 2019
This patch series fixes flaws causing raid set extensions not to be
synchronized in case a grown MD bitmap has to allocate additional pages.
When a raid set's grown, additional pages in the MD write-intent bitmap
may have to be allocated as a result. Because so far no md_bitmap_resize()
occurs in that process, additional new regions (aka MD bitmap chunks) aren't
set dirty during creation, thus they fail to be synchronized. Solve by
using md_bitmap_resize() in raid set size extensions to ensure dirtying
of additional, new regions.
Also address another flaw causing new regions not to be synchronized
after a raid set size reduction followed by an extension and streamline
recovery setup and progress status functions.
Passes all lvm2 test suite RAID tests.
Heinz Mauelshagen (4):
dm raid: change rs_set_dev_and_array_sectors API and callers
dm raid: to ensure resynchronization, perform raid set grow in preresume
dm raid: simplify rs_setup_recovery call chain
dm raid: streamline rs_get_progress() and its raid_status() caller side
.../admin-guide/device-mapper/dm-raid.rst | 2 +
drivers/md/dm-raid.c | 168 ++++++++++--------
2 files changed, 91 insertions(+), 79 deletions(-)
--
2.21.0
More information about the dm-devel
mailing list