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 diff --git a/super1.c b/super1.c index bbb9f88..a95c8d0 100644 --- a/super1.c +++ b/super1.c @@ -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);