On Wednesday September 5, [EMAIL PROTECTED] wrote:
> Dear Neil,
>
> > I can see what the problem is. It will take a little while to figure
> > out what the "correct" fix it, but a quick fix to get you out of
> > trouble would be to remove the lines:
> >
> > if (info->array.utime > __le64_to_cpu(bsb.mtime) + 3600 ||
> > info->array.utime < __le64_to_cpu(bsb.mtime))
> > continue; /* time stamp is too bad */
>
> I've applied the patch that you suggested but I'm getting exactly the
> same result:
>
> > [EMAIL PROTECTED]:~/mdadm-2.6.3# ./mdadm --assemble /dev/md1
> > mdadm: Failed to restore critical section for reshape, sorry.
>
> Please advise me on any more information that I should provide or
> make any other suggestions/advices.
>
At the top of Grow_restart (in Grow.c), just put
return 0;
That will definitely get you your array back.
I think the correct fix will be to put:
if (info->reshape_progress > SOME_NUMBER)
return 0;
at the top of Grow_restart. I just have to review exactly how it
works to make sure I pick the correct "SOME_NUMBER".
Also
if (__le64_to_cpu(bsb.length) <
info->reshape_progress)
continue; /* No new data here */
might need to become
if (__le64_to_cpu(bsb.length) <
info->reshape_progress)
return 0; /* No new data here */
but I need to think carefully about that too.
NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html