* mdadm write-behind with --grow
@ 2008-09-10 22:34 Tim Janik
0 siblings, 0 replies; only message in thread
From: Tim Janik @ 2008-09-10 22:34 UTC (permalink / raw)
To: neilb; +Cc: linux-raid
On Sun, 08 Jul 2007 18:30:54 -0700, Neil Brown wrote:
> On Tuesday July 3, Ian Dall wrote:
> > There doesn't seem to be any designated place to send bug reports and
> > feature requests to mdadm, so I hope I am doing the right thing by
> > sending it here.
>
> Yes. Exactly the right thing, thanks.
>
> I have applied the patch and pushed it out into .git. It will appear
> in the next release of mdadm.
>
> Thank,
> NeilBrown
>
> >
> > I have a small patch to mdamd which allows the write-behind amount to be
> > set a array grow time (instead of currently only at grow or create
> > time). I have tested this fairly extensively on some arrays built out of
> > loop back devices, and once on a real live array. I haven't lot any data
> > and it seems to work OK, though it is possible I am missing something.
> >
> > --- mdadm-2.6.1/mdadm.c.writebehind 2006-12-21 16:12:50.000000000 +1030
> > +++ mdadm-2.6.1/mdadm.c 2007-06-30 13:16:22.000000000 +0930
> > @@ -827,6 +827,7 @@
> > bitmap_chunk = bitmap_chunk ? bitmap_chunk * 1024 : 512;
> > continue;
> >
> > + case O(GROW, WriteBehind):
> > case O(BUILD, WriteBehind):
> > case O(CREATE, WriteBehind): /* write-behind mode */
> > write_behind = DEFAULT_MAX_WRITE_BEHIND;
This change appears to not be enough:
# mdadm --grow /dev/md0 --write-behind
mdadm: no changes to --grow
# mdadm -X /dev/sdb1 | fgrep Write
Write Mode : Normal
The releavant mdadm code for handling GROW reads:
case GROW:
[...]
else if (bitmap_file) {
if (delay == 0) delay = DEFAULT_BITMAP_DELAY;
rv = Grow_addbitmap(devlist->devname, mdfd, bitmap_file,
bitmap_chunk, delay, write_behind, force);
So the only way to make use of the newly enabled --write-behind
for --grow is:
# mdadm --grow /dev/md0 -b internal --write-behind
mdadm: failed to set internal bitmap.
# mdadm -X /dev/sdb1 | fgrep Write
Write Mode : Allow write behind, max 256
However the "-b internal" produces an error message
for devices with persistent superblocks...
Also, mdadm --grow --help doesn't document the use
of --write-behind (also missing for --build --help and
--create --help).
PS: I'm not subscribed to the mailing list, so please CC: me on replies.
---
ciaoTJ
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-09-10 22:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-10 22:34 mdadm write-behind with --grow Tim Janik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox