summaryrefslogtreecommitdiff
path: root/Documentation/md
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2017-03-01 11:42:40 +0300
committerShaohua Li <shli@fb.com>2017-03-17 02:55:50 +0300
commit818da59f97d6764edb91fa9d1f63d333d54eb999 (patch)
treec63c89cc1e0293d75685f3639c41a381acf7be13 /Documentation/md
parentb98938d16a108d0201d54b8db1337dac71aebfdd (diff)
downloadlinux-818da59f97d6764edb91fa9d1f63d333d54eb999.tar.xz
md-cluster: add the support for resize
To update size for cluster raid, we need to make sure all nodes can perform the change successfully. However, it is possible that some of them can't do it due to failure (bitmap_resize could fail). So we need to consider the issue before we set the capacity unconditionally, and we use below steps to perform sanity check. 1. A change the size, then broadcast METADATA_UPDATED msg. 2. B and C receive METADATA_UPDATED change the size excepts call set_capacity, sync_size is not update if the change failed. Also call bitmap_update_sb to sync sb to disk. 3. A checks other node's sync_size, if sync_size has been updated in all nodes, then send CHANGE_CAPACITY msg otherwise send msg to revert previous change. 4. B and C call set_capacity if receive CHANGE_CAPACITY msg, otherwise pers->resize will be called to restore the old value. Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'Documentation/md')
-rw-r--r--Documentation/md/md-cluster.txt2
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/md/md-cluster.txt b/Documentation/md/md-cluster.txt
index 38883276d31c..2663d49dd8a0 100644
--- a/Documentation/md/md-cluster.txt
+++ b/Documentation/md/md-cluster.txt
@@ -321,4 +321,4 @@ The algorithm is:
There are somethings which are not supported by cluster MD yet.
-- update size and change array_sectors.
+- change array_sectors.