Hi. Please try/review the attached patch. The problem is that TuxOnIce adds a BUG_ON() to catch non-TuxOnIce I/O during hibernation, as a method of seeking to stop on-disk data getting corrupted by the writing of data that has potentially been overwritten by the atomic copy. Stopping the md devices from being marked readonly is the right thing to do - if we don't resume, we want recovery to be run. If we do resume, they should still be in the pre-hibernate state. Regards, Nigel
diff --git a/drivers/md/md.c b/drivers/md/md.c index af0e52c..25af0a8 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -8056,7 +8056,7 @@ static int md_notify_reboot(struct notifier_block *this, struct list_head *tmp; mddev_t *mddev; - if ((code == SYS_DOWN) || (code == SYS_HALT) || (code == SYS_POWER_OFF)) { + if (((code == SYS_DOWN) || (code == SYS_HALT) || (code == SYS_POWER_OFF)) && !freezer_state) { printk(KERN_INFO "md: stopping all md devices.\n");