summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Kuai <yukuai3@huawei.com>2024-12-02 02:59:12 +0100
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>2024-12-03 15:55:15 +0100
commite97c4e18c847803016aa60066cb6e57c528d83a6 (patch)
tree89b1486ef073cbd084e4d0a156a419849b79a2cd
parentManage: forbid re-add to the array without metadata (diff)
downloadmdadm-e97c4e18c847803016aa60066cb6e57c528d83a6.tar.xz
mdadm-e97c4e18c847803016aa60066cb6e57c528d83a6.zip
mdadm: ask user if bitmap is not set
Instead of auto-forcing bitmap only for large arrays, it is more reasonable to let user do the chooice if bimtap is not set. Signed-off-by: Yu Kuai <yukuai3@huawei.com> Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-rw-r--r--Create.c12
-rw-r--r--mdadm.c8
2 files changed, 8 insertions, 12 deletions
diff --git a/Create.c b/Create.c
index 140a7098..f6d14f76 100644
--- a/Create.c
+++ b/Create.c
@@ -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;
diff --git a/mdadm.c b/mdadm.c
index 8cb4ba66..b7bcb336 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -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: