Thread (4 messages) 4 messages, 2 authors, 2008-05-09

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

From: Mike Snitzer <hidden>
Date: 2008-05-09 05:27:19
Also in: lkml

On Fri, May 9, 2008 at 1:08 AM, Mike Snitzer [off-list ref] wrote:
On Fri, May 9, 2008 at 12:42 AM, Mike Snitzer [off-list ref] 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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help