diff options
author | Guoqing Jiang <gqjiang@suse.com> | 2015-06-10 13:42:10 +0800 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-06-17 09:33:18 +1000 |
commit | 06bd679317a2a514aa7d51b54b5ad2a01742e42e (patch) | |
tree | 4425641354c1abb9261a9fc000ddb136fa6aae1a | |
parent | 7c25f4d706ac14165fd8d85b169f491f1f14b7cc (diff) | |
download | mdadm-06bd679317a2a514aa7d51b54b5ad2a01742e42e.tar.gz |
Skip clustered devices in incremental
We want the clustered devices to be started exclusively by a cluster
resource-agent. So, avoid starting using the incremental option.
This also skips a clustered md from starting during boot in inactive mode.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | Incremental.c | 5 | ||||
-rw-r--r-- | super1.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Incremental.c b/Incremental.c index 0c9a9a4..5450a5c 100644 --- a/Incremental.c +++ b/Incremental.c @@ -232,6 +232,11 @@ int Incremental(struct mddev_dev *devlist, struct context *c, devname); goto out; } + /* Skip the clustered ones. This should be started by + * clustering resource agents + */ + if (info.array.state & (1 << MD_SB_CLUSTERED)) + goto out; /* 3a/ if not, check for homehost match. If no match, continue * but don't trust the 'name' in the array. Thus a 'random' minor @@ -891,6 +891,8 @@ static void getinfo_super1(struct supertype *st, struct mdinfo *info, char *map) info->array.state = (__le64_to_cpu(sb->resync_offset) == MaxSector) ? 1 : 0; + if (__le32_to_cpu(bsb->nodes) > 1) + info->array.state |= (1 << MD_SB_CLUSTERED); info->data_offset = __le64_to_cpu(sb->data_offset); info->component_size = __le64_to_cpu(sb->size); |