md/raid5: flush out all pending requests before proceeding with reshape.
authorNeilBrown <neilb@suse.de>
Tue, 27 Aug 2013 05:57:47 +0000 (15:57 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 28 Aug 2013 06:58:44 +0000 (16:58 +1000)
commit4d77e3ba88d085836f1e8e475e3131844dd89d04
treea99d40da2a8f0bbfa69ca1d9b41728b8857fe0c6
parentc46501b2deaa06efcaaf82917281941f02c6b307
md/raid5: flush out all pending requests before proceeding with reshape.

Some requests - particularly 'discard' and 'read' are handled
differently depending on whether a reshape is active or not.

It is harmless to assume reshape is active if it isn't but wrong
to act as though reshape is not active when it is.

So when we start reshape - after making clear to all requests that
reshape has started - use mddev_suspend/mddev_resume to flush out all
requests.  This will ensure that no requests will be assuming the
absence of reshape once it really starts.

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