md/bitmap: always wait for writes on unplug.
authorNeilBrown <neilb@suse.de>
Tue, 9 Sep 2014 04:13:51 +0000 (14:13 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jan 2015 18:27:45 +0000 (10:27 -0800)
commite16c6f715c7730567b07deeb3346f1646f29406e
tree60a65ad5d7563ddfaa6f37d2dce0aa6d99152b58
parent348befcbfe38b5a46860384313e6387658e6546f
md/bitmap: always wait for writes on unplug.

commit 4b5060ddae2b03c5387321fafc089d242225697a upstream.

If two threads call bitmap_unplug at the same time, then
one might schedule all the writes, and the other might
decide that it doesn't need to wait.  But really it does.

It rarely hurts to wait when it isn't absolutely necessary,
and the current code doesn't really focus on 'absolutely necessary'
anyway.  So just wait always.

This can potentially lead to data corruption if a crash happens
at an awkward time and data was written before the bitmap was
updated.  It is very unlikely, but this should go to -stable
just to be safe.  Appropriate for any -stable.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/bitmap.c