summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.h
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2018-07-02 16:26:24 +0800
committerShaohua Li <shli@fb.com>2018-07-05 11:17:01 -0700
commit010228e4a932ca1e8365e3b58c8e1e44c16ff793 (patch)
treef8d8ae841370481e52b254a50f54b23b44157cb1 /drivers/md/md.h
parent06c85639897cf3ea6a11c5cb6929fb0d9d7efea5 (diff)
downloadlinux-010228e4a932ca1e8365e3b58c8e1e44c16ff793.tar.bz2
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