All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] dm raid: fix raid set extensions not being synchronized
@ 2019-10-01 15:47 Heinz Mauelshagen
  2019-10-01 15:47 ` [PATCH 1/4] dm raid: change rs_set_dev_and_array_sectors API and callers Heinz Mauelshagen
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Heinz Mauelshagen @ 2019-10-01 15:47 UTC (permalink / raw)
  To: heinzm, dm-devel, snitzer

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-10-01 15:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-01 15:47 [PATCH 0/4] dm raid: fix raid set extensions not being synchronized Heinz Mauelshagen
2019-10-01 15:47 ` [PATCH 1/4] dm raid: change rs_set_dev_and_array_sectors API and callers Heinz Mauelshagen
2019-10-01 15:47 ` [PATCH 2/4] dm raid: to ensure resynchronization, perform raid set grow in preresume Heinz Mauelshagen
2019-10-01 15:47 ` [PATCH 3/4] dm raid: simplify rs_setup_recovery call chain Heinz Mauelshagen
2019-10-01 15:47 ` [PATCH 4/4] dm raid: streamline rs_get_progress() and its raid_status() caller side Heinz Mauelshagen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.