Re: [RFC][PATCH] md: avoid fullsync if a faulty member missed a dirty transition

From: Mike Snitzer
Date: Fri May 09 2008 - 01:27:21 EST


On Fri, May 9, 2008 at 1:08 AM, Mike Snitzer <snitzer@xxxxxxxxx> wrote:
> On Fri, May 9, 2008 at 12:42 AM, Mike Snitzer <snitzer@xxxxxxxxx> wrote:
>
> > Was I supposed to use this latest patch in combination with your
> > previous patch (to validate_super)? Because you'll note that with
> > your most recent patch nbd0's events (ev1) is still one less than
> > sdq's events_cleared. As such the validate_super's "ev1 <
> > mddev->bitmap->events_cleared" check triggers a full rebuild.
> >
> > The kernel log shows:
> > md: md0 stopped.
> > md: bind<nbd0>
> > md: bind<sdq>
> > md: kicking non-fresh nbd0 from array!
> > md: unbind<nbd0>
> > md: export_rdev(nbd0)
> > raid1: raid set md0 active with 1 out of 2 mirrors
> > md0: bitmap initialized from disk: read 13/13 pages, set 0 bits, status: 0
>
> Also, no bits were set in the bitmap.. bitmap_create() must've thrown
> away the dirty bits. Given your latest patch, does bitmap_create()'s
> "bitmap->events_cleared == mddev->events" check need to be adjusted?
>
> Before I would always see something like:
> md0: bitmap initialized from disk: read 13/13 pages, set 1 bits, status: 0

Actually, the mdadm -X output I provided shows that sdq's bitmap
doesn't have any bits set:
Bitmap : 409600 bits (chunks), 0 dirty (0.0%)

This can't be right, considering nbd0 was marked faulty and the array
became degraded, can it?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/