]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
md: don't set md arrays to readonly on shutdown.
authorNeilBrown <neilb@suse.de>
Mon, 19 Mar 2012 01:46:37 +0000 (12:46 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 2 Apr 2012 17:31:56 +0000 (10:31 -0700)
commited1b69c5592d1fcb4e3151fd5900e22772f22919
tree55fd1a8b13a027060e89a7a877c56062dbb73e29
parent87567f2eb2ef89fca77d97b36d854d34cb565ca0
md: don't set md arrays to readonly on shutdown.

commit c744a65c1e2d59acc54333ce80a5b0702a98010b upstream.

It seems that with recent kernel, writeback can still be happening
while shutdown is happening, and consequently data can be written
after the md reboot notifier switches all arrays to read-only.
This causes a BUG.

So don't switch them to read-only - just mark them clean and
set 'safemode' to '2' which mean that immediately after any
write the array will be switch back to 'clean'.

This could result in the shutdown happening when array is marked
dirty, thus forcing a resync on reboot.  However if you reboot
without performing a "sync" first, you get to keep both halves.

This is suitable for any stable kernel (though there might be some
conflicts with obvious fixes in earlier kernels).

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