]> git.baikalelectronics.ru Git - kernel.git/commit
md: allow upper limit for resync/reshape to be set when array is read-only
authorNeilBrown <neilb@suse.de>
Thu, 13 Aug 2009 00:41:50 +0000 (10:41 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 13 Aug 2009 00:41:50 +0000 (10:41 +1000)
commit689951d311bb5893c288292a6c7e8bfd68ef7df7
tree9fe49a23117adc2d475711f39a16c1718bab4b7f
parent588ee72402f965904c179460467f8785d9b4d204
md: allow upper limit for resync/reshape to be set when array is read-only

Normally we only allow the upper limit for a reshape to be decreased
when the array not performing a sync/recovery/reshape, otherwise there
could be races.  But if an array is part-way through a reshape when it
is assembled the reshape is started immediately leaving no window
to set an upper bound.

If the array is started read-only, the reshape will be suspended until
the array becomes writable, so that provides a window during which it
is perfectly safe to reduce the upper limit of a reshape.

So: allow the upper limit (sync_max) to be reduced even if the reshape
thread is running, as long as the array is still read-only.

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