exit(2);
}
-int mdmon(char *devname, int devnum, int scan, char *switchroot);
+static int mdmon(char *devname, int devnum, int must_fork, char *switchroot);
int main(int argc, char *argv[])
{
char *switchroot = NULL;
int devnum;
char *devname;
- int scan = 0;
int status = 0;
switch (argc) {
struct mdstat_ent *mdstat, *e;
/* launch an mdmon instance for each container found */
- scan = 1;
mdstat = mdstat_read(0, 0);
for (e = mdstat; e; e = e->next) {
if (strncmp(e->metadata_version, "external:", 9) == 0 &&
memset(container_name, 0, strlen(container_name));
sprintf(container_name, "%s", devname);
}
- status |= mdmon(devname, e->devnum, scan,
+ status |= mdmon(devname, e->devnum, 1,
switchroot);
}
}
container_name);
exit(1);
}
- return mdmon(devname, devnum, scan, switchroot);
+ return mdmon(devname, devnum, do_fork(), switchroot);
}
-int mdmon(char *devname, int devnum, int scan, char *switchroot)
+static int mdmon(char *devname, int devnum, int must_fork, char *switchroot)
{
int mdfd;
struct mdinfo *mdi, *di;
}
/* Fork, and have the child tell us when they are ready */
- if (do_fork() || scan) {
+ if (must_fork) {
if (pipe(pfd) != 0) {
fprintf(stderr, "mdmon: failed to create pipe\n");
return 1;