[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