Grow: allow monitor thread to exit when there is nothing more to do.

When an array using native metadata is increasing in size, we don't
need to keep monitoring it after the initial 'critical section'.
So detect that case.
If a final level-change is still needed mdadm will wait for that,
otherwise it will simply exit.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2011-03-10 15:59:24 +11:00
parent b3cf095a94
commit 2d4de5f980
1 changed files with 5 additions and 0 deletions

5
Grow.c
View File

@ -3016,6 +3016,11 @@ int child_monitor(int afd, struct mdinfo *sra, struct reshape *reshape,
done = 1;
break;
}
if (rv == 0 && increasing && !st->ss->external) {
/* No longer need to monitor this reshape */
done = 1;
break;
}
while (rv) {
unsigned long long offset;