diff options
author | Guoqing Jiang <gqjiang@suse.com> | 2016-05-02 17:33:13 +0200 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-05-04 21:39:35 +0200 |
commit | ab5a98b132fd1a08ca35e95498fb45f4a8f3b0c4 (patch) | |
tree | 727c304bc6cffb0efcfab886411beac01ae65c8e | |
parent | md-cluster: fix locking when node joins cluster during message broadcast (diff) | |
download | linux-ab5a98b132fd1a08ca35e95498fb45f4a8f3b0c4.tar.xz linux-ab5a98b132fd1a08ca35e95498fb45f4a8f3b0c4.zip |
md-cluster: change array_sectors and update size are not supported
Currently, some features are not supported yet,
such as change array_sectors and update size, so
return EINVAL for them and listed it in document.
Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
-rw-r--r-- | Documentation/md-cluster.txt | 6 | ||||
-rw-r--r-- | drivers/md/md.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/md-cluster.txt b/Documentation/md-cluster.txt index c100c7163507..38883276d31c 100644 --- a/Documentation/md-cluster.txt +++ b/Documentation/md-cluster.txt @@ -316,3 +316,9 @@ The algorithm is: nodes are using the raid which is achieved by lock all bitmap locks within the cluster, and also those locks are unlocked accordingly. + +7. Unsupported features + +There are somethings which are not supported by cluster MD yet. + +- update size and change array_sectors. diff --git a/drivers/md/md.c b/drivers/md/md.c index dd83a50d892c..8cc4bbcf9bf8 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4817,6 +4817,10 @@ array_size_store(struct mddev *mddev, const char *buf, size_t len) if (err) return err; + /* cluster raid doesn't support change array_sectors */ + if (mddev_is_clustered(mddev)) + return -EINVAL; + if (strncmp(buf, "default", 7) == 0) { if (mddev->pers) sectors = mddev->pers->size(mddev, 0, 0); @@ -6438,6 +6442,10 @@ static int update_size(struct mddev *mddev, sector_t num_sectors) int rv; int fit = (num_sectors == 0); + /* cluster raid doesn't support update size */ + if (mddev_is_clustered(mddev)) + return -EINVAL; + if (mddev->pers->resize == NULL) return -EINVAL; /* The "num_sectors" is the number of sectors of each device that |