md: add explicit method to signal the end of a reshape.
authorNeilBrown <neilb@suse.de>
Tue, 31 Mar 2009 04:15:05 +0000 (15:15 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 31 Mar 2009 04:15:05 +0000 (15:15 +1100)
commitcea9c22800773cecb1d41f4a6139f9eb6a95368b
treed070d22390b86768fefb8ba04c64d74993ed28e9
parent7ec0547838976d088dfb9cb0adb073e6e8a15aa3
md: add explicit method to signal the end of a reshape.

Currently raid5 (the only module that supports restriping)
notices that the reshape has finished be sync_request being
given a large value, and handles any cleanup them.

This patch changes it so md_check_recovery calls into an
explicit finish_reshape method as well.

The clean-up from sync_request can do things that need to be
done promptly, typically things local to the raid5_conf_t
structure.

The "finish_reshape" method is called under the mddev_lock
so it can do things involving reconfiguring the device.

This allows us to get rid of md_set_array_sectors_locked, which
would have caused a deadlock if you tried to stop and array
while a reshape was happening.

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