summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-06-02 05:53:22 +0000
committerNeil Brown <neilb@suse.de>2006-06-02 05:53:22 +0000
commitab56093f3b0fd59c49a5cdef22c0480e589f0989 (patch)
tree4eeefdb882f6d691adf7e46079199c90ffb6bd98
parent0ae03b8ad8257e310a06bf3c496b8ce1fa6afb48 (diff)
downloadmdadm-ab56093f3b0fd59c49a5cdef22c0480e589f0989.tar.gz
mdadm-ab56093f3b0fd59c49a5cdef22c0480e589f0989.tar.xz
mdadm-ab56093f3b0fd59c49a5cdef22c0480e589f0989.zip
Get --stop to honour --quiet
And as a side effect, if --quiet isn't given, stopped devices are reported. Signed-off-by: Neil Brown <neilb@suse.de>
-rw-r--r--Manage.c4
-rw-r--r--mdadm.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/Manage.c b/Manage.c
index 660580b..a1e152c 100644
--- a/Manage.c
+++ b/Manage.c
@@ -106,11 +106,13 @@ int Manage_runstop(char *devname, int fd, int runstop, int quiet)
}
} else if (runstop < 0){
if (ioctl(fd, STOP_ARRAY, NULL)) {
- if (!quiet)
+ if (quiet==0)
fprintf(stderr, Name ": fail to stop array %s: %s\n",
devname, strerror(errno));
return 1;
}
+ if (quiet <= 0)
+ fprintf(stderr, Name ": stopped %s\n", devname);
}
return 0;
}
diff --git a/mdadm.c b/mdadm.c
index 2583ee2..c5035b8 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -931,7 +931,7 @@ int main(int argc, char *argv[])
if (!rv && readonly < 0)
rv = Manage_ro(devlist->devname, mdfd, readonly);
if (!rv && runstop)
- rv = Manage_runstop(devlist->devname, mdfd, runstop, 0);
+ rv = Manage_runstop(devlist->devname, mdfd, runstop, quiet);
break;
case ASSEMBLE:
if (devs_found == 1 && ident.uuid_set == 0 &&
@@ -1164,7 +1164,7 @@ int main(int argc, char *argv[])
}
mdfd = open_mddev(name, 1);
if (mdfd >= 0) {
- if (Manage_runstop(name, mdfd, -1, !last))
+ if (Manage_runstop(name, mdfd, -1, quiet?1:last?0:-1))
err = 1;
else
progress = 1;
@@ -1195,9 +1195,9 @@ int main(int argc, char *argv[])
if (mdfd>=0) {
switch(dv->disposition) {
case 'R':
- rv |= Manage_runstop(dv->devname, mdfd, 1, 0); break;
+ rv |= Manage_runstop(dv->devname, mdfd, 1, quiet); break;
case 'S':
- rv |= Manage_runstop(dv->devname, mdfd, -1, 0); break;
+ rv |= Manage_runstop(dv->devname, mdfd, -1, quiet); break;
case 'o':
rv |= Manage_ro(dv->devname, mdfd, 1); break;
case 'w':