@@ -949,18 +949,6 @@ int Create(struct supertype *st, struct mddev_ident *ident, int subdevs,
}
}
- if (!s->bitmap_file &&
- !st->ss->external &&
- s->level >= 1 &&
- st->ss->add_internal_bitmap &&
- s->journaldisks == 0 &&
- (s->consistency_policy != CONSISTENCY_POLICY_RESYNC &&
- s->consistency_policy != CONSISTENCY_POLICY_PPL) &&
- (s->write_behind || s->size > 100*1024*1024ULL)) {
- if (c->verbose > 0)
- pr_err("automatically enabling write-intent bitmap on large array\n");
- s->bitmap_file = "internal";
- }
if (s->bitmap_file && str_is_none(s->bitmap_file) == true)
s->bitmap_file = NULL;
@@ -1535,6 +1535,14 @@ int main(int argc, char *argv[])
break;
}
+ if (!s.bitmap_file) {
+ if (c.runstop != 1 && s.level >= 1 &&
+ ask("To optimalize recovery speed, it is recommended to enable write-indent bitmap, do you want to enable it now?"))
+ s.bitmap_file = "internal";
+ else
+ s.bitmap_file = "none";
+ }
+
rv = Create(ss, &ident, devs_found - 1, devlist->next, &s, &c);
break;
case MISC: