X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=mdmon.c;h=ee68e3c3b5709c0c3b34cfd8e74fe5a18470a64c;hb=42de2ac27d632236909f88bd5309161a32379327;hp=1f39f165d620035aebc06112a7ee872ceb34269b;hpb=51d9a2ce33a6a60a75751a46bb93bf052a2dfc7a;p=thirdparty%2Fmdadm.git diff --git a/mdmon.c b/mdmon.c index 1f39f165..ee68e3c3 100644 --- a/mdmon.c +++ b/mdmon.c @@ -300,7 +300,8 @@ int main(int argc, char *argv[]) /* launch an mdmon instance for each container found */ mdstat = mdstat_read(0, 0); for (e = mdstat; e; e = e->next) { - if (strncmp(e->metadata_version, "external:", 9) == 0 && + if (e->metadata_version && + strncmp(e->metadata_version, "external:", 9) == 0 && !is_subarray(&e->metadata_version[9])) { devname = devnum2devname(e->devnum); /* update cmdline so this mdmon instance can be @@ -513,6 +514,12 @@ static int mdmon(char *devname, int devnum, int must_fork, int takeover) ignore = dup(0); #endif + /* This silliness is to stop the compiler complaining + * that we ignore 'ignore' + */ + if (ignore) + ignore++; + do_manager(container); exit(0); @@ -526,3 +533,26 @@ int child_monitor(int afd, struct mdinfo *sra, struct reshape *reshape, { return 0; } + +int restore_stripes(int *dest, unsigned long long *offsets, + int raid_disks, int chunk_size, int level, int layout, + int source, unsigned long long read_offset, + unsigned long long start, unsigned long long length, + char *src_buf) +{ + return 1; +} + +void abort_reshape(struct mdinfo *sra) +{ + return; +} + +int save_stripes(int *source, unsigned long long *offsets, + int raid_disks, int chunk_size, int level, int layout, + int nwrites, int *dest, + unsigned long long start, unsigned long long length, + char *buf) +{ + return 0; +}