On Thu, Nov 17 2016, Wols Lists wrote: > I've just been doing a bit of work on the wiki when I put 2 and 2 > together, and hope I haven't made 5 ... > > Bitmaps interfere with grow operations, I believe ... Used to, yes. Don't any more. > > And mdadm has recently been modified so that bitmaps are switched on by > default, I also believe ... > > Could this be silently blocking the grow, so you don't get any error and > it just sits there doing nothing? Nope. If it was a problem it would explicitly fail. > > But that brings up two points. Should mdadm now explicitly look for a > bitmap when growing an array, and warn that the bitmap needs to be > disabled? Apparently it currently comes up with some errors that hint at > the cause rather than explicitly say so. If you try to reshape an array which has a bitmap, on a kernel that doesn't support reshaping arrays with bitmaps, mdadm hits this line of code: if (err == EBUSY && (array.state & (1<<MD_SB_BITMAP_PRESENT))) cont_err("Bitmap must be removed before size can be changed\n"); or maybe this one pr_err("Cannot set array shape for %s\n", devname); if (err == EBUSY && (info->array.state & (1<<MD_SB_BITMAP_PRESENT))) cont_err(" Bitmap must be removed before shape can be changed\n"); or if (err == EBUSY && (array.state & (1<<MD_SB_BITMAP_PRESENT))) cont_err("Bitmap must be removed before level can be changed\n"); > > And secondly, I'm sure someone sent an email to the list that explained > when a bitmap was created. I can't find it in my archives. The man page > says it's created if the array is over 100G, but I'm sure the email gave > rather more detail than that and that the figure actually varied. if (!s->bitmap_file && s->level >= 1 && st->ss->add_internal_bitmap && (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"; } So it looks like "over 100G" is the only test. > > But I'm sure you can see from this that I'm updating this bit of the > wiki. Is there anything else I ought to know about bitmaps, so I can > document it? :-) If only I could run "diff" between my brain and the wiki.... Thanks for doing this! NeilBrown
Attachment:
signature.asc
Description: PGP signature