md: Fix unfortunate interaction with evms
authorNeilBrown <neilb@suse.de>
Wed, 30 Dec 2009 01:08:49 +0000 (12:08 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 30 Dec 2009 01:08:49 +0000 (12:08 +1100)
commitcbd1998377504df005302ac90d49db72a48552a6
treef5c0d83ebe8534477bd252204da804640fd5413b
parent6b7b284958d47b77d06745b36bc7f36dab769d9b
md: Fix unfortunate interaction with evms

evms configures md arrays by:
  open device
  send ioctl
  close device

for each different ioctl needed.
Since 2.6.29, the device can disappear after the 'close'
unless a significant configuration has happened to the device.
The change made by "SET_ARRAY_INFO" can too minor to stop the device
from disappearing, but important enough that losing the change is bad.

So: make sure SET_ARRAY_INFO sets mddev->ctime, and keep the device
active as long as ctime is non-zero (it gets zeroed with lots of other
things when the array is stopped).

This is suitable for -stable kernels since 2.6.29.

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