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

From: Neil Brown
Date: Tue May 06 2008 - 02:54:23 EST


On Wednesday April 2, snitzer@xxxxxxxxx wrote:
> resync via bitmap if faulty's events+1 == bitmap's events_cleared
>
> For more background please see:
> http://marc.info/?l=linux-raid&m=120703208715865&w=2
>
> Without this change validate_super() will prevent the previously faulty
> member from recovering via bitmap, e.g.:

I can't help thinking that you are misinterpreting something. I don't
think there is a clean->dirty transition happening here.
You could confirm this by using --examine on both devices after the
messy shutdown and before re-assembling the array.

Even allowing for that possible confusion, I cannot quite see what is
going on.
It is fairly clear from the event counts that the NBD device is marked
clean, but if this is happening at array-shutdown time, I cannot see
why md would try to write to the NBD device and thereby detect an
error...

Do you have an internal bitmap or a bitmap in an external file?

In general, I would not like to make decisions based on the
oddness/evenness of the event counter. I consider that to be an
internal implementation detail. I am happy to make decisions based on
a difference-of-1. I need to understand the big picture first though.

NeilBrown
--
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/