md: integrate spares into array at earliest opportunity.
authorNeilBrown <neilb@suse.de>
Mon, 14 Dec 2009 01:50:06 +0000 (12:50 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 14 Dec 2009 01:51:41 +0000 (12:51 +1100)
commit93be75ffde6dfd1ad17cc3ff1dbd135bd711baf4
tree56006efccad176da1b806978faf60d77c817e6ac
parentaa98aa31987ad9831711ae71ea2270228ab62532
md: integrate spares into array at earliest opportunity.

As v1.x metadata can record that a member of the array is
not completely recovered, it make sense to record that a
spare has become a regular member of the array at the earliest
opportunity.
So remove the tests on "recovery_offset > 0" in super_1_sync
as they really aren't needed, and schedule a metadata update
immediately after adding spares to a degraded array.

This means that if a crash happens immediately after a recovery
starts, the new device will be included in the array and recovery will
continue from wherever it was up to.  Previously this didn't happen
unless recovery was at least 1/16 of the way through.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c