]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Get --stop to honour --quiet
authorNeil Brown <neilb@suse.de>
Fri, 2 Jun 2006 05:53:22 +0000 (05:53 +0000)
committerNeil Brown <neilb@suse.de>
Fri, 2 Jun 2006 05:53:22 +0000 (05:53 +0000)
And as a side effect, if --quiet isn't given, stopped devices are
reported.

Signed-off-by: Neil Brown <neilb@suse.de>
Manage.c
mdadm.c

index 660580b9c4ed247a75534b8758f25e8ba5770bf3..a1e152c8ea8b09da79b1d3092d841f6f0d2aefdb 100644 (file)
--- 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 2583ee2959cfe4924446ad00acc764f7cdad23e3..c5035b86592e92190658d3a8daf27dd8c6f9f36d 100644 (file)
--- 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':