summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.h
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2018-07-02 10:26:24 +0200
committerShaohua Li <shli@fb.com>2018-07-05 20:17:01 +0200
commit010228e4a932ca1e8365e3b58c8e1e44c16ff793 (patch)
treef8d8ae841370481e52b254a50f54b23b44157cb1 /drivers/md/md.h
parentMerge tag 'acpi-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/ra... (diff)
downloadlinux-010228e4a932ca1e8365e3b58c8e1e44c16ff793.tar.xz
linux-010228e4a932ca1e8365e3b58c8e1e44c16ff793.zip
md-cluster: clear another node's suspend_area after the copy is finished
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>
Diffstat (limited to 'drivers/md/md.h')
0 files changed, 0 insertions, 0 deletions