]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.c
imsm: write bad block log on metadata sync
[thirdparty/mdadm.git] / mdadm.c
diff --git a/mdadm.c b/mdadm.c
index cca093318d8d2d5f81e09188f624e06a575e2fba..c3a265b80947bfee847d4de53e1f2d920d6e3664 100644 (file)
--- a/mdadm.c
+++ b/mdadm.c
@@ -89,7 +89,8 @@ int main(int argc, char *argv[])
        int oneshot = 0;
        int spare_sharing = 1;
        struct supertype *ss = NULL;
-       int writemostly = 0;
+       enum flag_mode writemostly = FlagDefault;
+       enum flag_mode failfast = FlagDefault;
        char *shortopt = short_options;
        int dosyslog = 0;
        int rebuild_map = 0;
@@ -295,6 +296,7 @@ int main(int argc, char *argv[])
                                        dv->devname = optarg;
                                        dv->disposition = devmode;
                                        dv->writemostly = writemostly;
+                                       dv->failfast = failfast;
                                        dv->used = 0;
                                        dv->next = NULL;
                                        *devlistend = dv;
@@ -351,6 +353,7 @@ int main(int argc, char *argv[])
                        dv->devname = optarg;
                        dv->disposition = devmode;
                        dv->writemostly = writemostly;
+                       dv->failfast = failfast;
                        dv->used = 0;
                        dv->next = NULL;
                        *devlistend = dv;
@@ -409,12 +412,20 @@ int main(int argc, char *argv[])
                case O(CREATE,'W'):
                case O(CREATE,WriteMostly):
                        /* set write-mostly for following devices */
-                       writemostly = 1;
+                       writemostly = FlagSet;
                        continue;
 
                case O(MANAGE,'w'):
                        /* clear write-mostly for following devices */
-                       writemostly = 2;
+                       writemostly = FlagClear;
+                       continue;
+
+               case O(MANAGE,FailFast):
+               case O(CREATE,FailFast):
+                       failfast = FlagSet;
+                       continue;
+               case O(MANAGE,NoFailFast):
+                       failfast = FlagClear;
                        continue;
 
                case O(GROW,'z'):