summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Monitor.c12
-rw-r--r--mdadm.c2
-rw-r--r--mdadm.h2
-rw-r--r--mdmon.c2
4 files changed, 10 insertions, 8 deletions
diff --git a/Monitor.c b/Monitor.c
index a080390..1c19057 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -632,7 +632,7 @@ int Wait(char *dev)
static char *clean_states[] = {
"clear", "inactive", "readonly", "read-auto", "clean", NULL };
-int WaitClean(char *dev)
+int WaitClean(char *dev, int verbose)
{
int fd;
struct mdinfo *mdi;
@@ -641,15 +641,17 @@ int WaitClean(char *dev)
fd = open(dev, O_RDONLY);
if (fd < 0) {
- fprintf(stderr, Name ": Couldn't open %s: %s\n", dev, strerror(errno));
+ if (verbose)
+ fprintf(stderr, Name ": Couldn't open %s: %s\n", dev, strerror(errno));
return 1;
}
devnum = fd2devnum(fd);
mdi = sysfs_read(fd, devnum, GET_VERSION|GET_LEVEL|GET_SAFEMODE);
if (!mdi) {
- fprintf(stderr, Name ": Failed to read sysfs attributes for "
- "%s\n", dev);
+ if (verbose)
+ fprintf(stderr, Name ": Failed to read sysfs attributes for "
+ "%s\n", dev);
close(fd);
return 0;
}
@@ -714,7 +716,7 @@ int WaitClean(char *dev)
rv = 0;
} else
rv = 1;
- if (rv)
+ if (rv && verbose)
fprintf(stderr, Name ": Error waiting for %s to be clean\n",
dev);
diff --git a/mdadm.c b/mdadm.c
index 9862063..d243620 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -1284,7 +1284,7 @@ int main(int argc, char *argv[])
case 'W':
rv |= Wait(dv->devname); continue;
case Waitclean:
- rv |= WaitClean(dv->devname); continue;
+ rv |= WaitClean(dv->devname, verbose-quiet); continue;
}
mdfd = open_mddev(dv->devname, 1);
if (mdfd>=0) {
diff --git a/mdadm.h b/mdadm.h
index 1eba578..aea7228 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -723,7 +723,7 @@ extern int Monitor(mddev_dev_t devlist,
extern int Kill(char *dev, int force, int quiet, int noexcl);
extern int Wait(char *dev);
-extern int WaitClean(char *dev);
+extern int WaitClean(char *dev, int verbose);
extern int Incremental(char *devname, int verbose, int runstop,
struct supertype *st, char *homehost, int autof);
diff --git a/mdmon.c b/mdmon.c
index 877cf1a..d6b99a2 100644
--- a/mdmon.c
+++ b/mdmon.c
@@ -159,7 +159,7 @@ static void try_kill_monitor(char *devname)
for ( ; mdstat; mdstat = mdstat->next)
if (is_container_member(mdstat, devname)) {
sprintf(buf, "/dev/%s", mdstat->dev);
- WaitClean(buf);
+ WaitClean(buf, 0);
}
free_mdstat(mdstat);
remove_pidfile(devname);