]> git.baikalelectronics.ru Git - kernel.git/commit
md: fix possible corruption of array metadata on shutdown.
authorNeilBrown <neilb@suse.de>
Tue, 24 Apr 2012 00:23:16 +0000 (10:23 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 24 Apr 2012 00:23:16 +0000 (10:23 +1000)
commita242dc11cf7179b0861ada6bb0a3d05112d578bf
treed950c723e17399fefd104c5eddcf514d7f3c240a
parent098255f001be2b46ab81bed66f757b0d529dee8e
md: fix possible corruption of array metadata on shutdown.

commit c5b9dc1ee6221ce9ff23cac87
  md: don't set md arrays to readonly on shutdown.

removed the possibility of a 'BUG' when data is written to an array
that has just been switched to read-only, but also introduced the
possibility that the array metadata could be corrupted.

If, when md_notify_reboot gets the mddev lock, the array is
in a state where it is assembled but hasn't been started (as can
happen if the personality module is not available, or in other unusual
situations), then incorrect metadata will be written out making it
impossible to re-assemble the array.

So only call __md_stop_writes() if the array has actually been
activated.

This patch is needed for any stable kernel which has had the above
commit applied.

Cc: stable@vger.kernel.org
Reported-by: Christoph Nelles <evilazrael@evilazrael.de>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c