Files
linux/drivers/md
Guoqing Jiang 0e085b03e6 md-cluster: clear another node's suspend_area after the copy is finished
[ Upstream commit 010228e4a9 ]

When one node leaves cluster or stops the resyncing
(resync or recovery) array, then other nodes need to
call recover_bitmaps to continue the unfinished task.

But we need to clear suspend_area later after other
nodes copy the resync information to their bitmap
(by call bitmap_copy_from_slot). Otherwise, all nodes
could write to the suspend_area even the suspend_area
is not handled by any node, because area_resyncing
returns 0 at the beginning of raid1_write_request.
Which means one node could write suspend_area while
another node is resyncing the same area, then data
could be inconsistent.

So let's clear suspend_area later to avoid above issue
with the protection of bm lock. Also it is straightforward
to clear suspend_area after nodes have copied the resync
info to bitmap.

Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-03 17:01:43 -07:00
..
2014-01-14 23:23:03 -05:00
2018-04-08 12:12:43 +02:00
2016-06-07 13:41:38 -06:00
2016-08-07 14:41:02 -06:00
2016-08-07 14:41:02 -06:00
2007-10-20 02:01:26 +01:00
2017-04-12 12:41:12 +02:00
2016-08-07 14:41:02 -06:00
2016-07-20 23:49:49 -04:00
2016-01-20 13:52:20 -08:00
2017-10-21 17:21:35 +02:00
2016-09-21 09:09:44 -07:00
2016-08-07 14:41:02 -06:00
2016-08-07 14:41:02 -06:00
2015-08-13 12:31:57 -06:00
2018-05-30 07:50:31 +02:00