Messages in this thread |  | | | Date | Tue, 1 Jul 2008 09:20:29 +0200 (CEST) | | From | Jan Engelhardt <> | | Subject | Re: [PATCH 001 of 29] md: Ensure interrupted recovery completed properly (v1 metadata plus bitmap) | |
On Friday 2008-06-27 08:49, NeilBrown wrote:
>
>[...] In this case it tells recovery to ignore the bitmap
>and recovery all blocks.
>
>So without this fix, a raid1 ir raid4/5/6 array with version 1.x
>metadata and a write intent bitmaps, that is stopped in the middle
>of a recovery, will appear to complete the recovery instantly
>after it is reassembled, but the recovery will not be correct.
If the array is stopped in the middle of a recovery, should not
it restart recovery where it left off when reassembled?
That's what the write intent bitmap is for, is not it? Like..
wait_for(assemble)
for_all('1' bits in bitmap)
if (resync == success)
bitmap[pos] = '0';
if (signalled)
break;
and stopping the resync in the middle, the bitmap should still
have '1' bits left to be processed on the next assemble.
Or, where did I go wrong?
|  |