Subject: Tracking down suspend/resume ext3/mmc issues on imx233

From: [email-masked] (Theodore Ts'o)
Date: Wed, 19 Sep 2012 20:01:10 -0400

On Thu, Sep 20, 2012 at 01:23:49AM +0200, Pavel Machek wrote:
> 
> I'm not sure I agree.
> 
> If you treat root fs as removable, you'll get "crash". You'll need to
> replay the journal, but data is safe.
> 
> If you treat it as non-removable, and someone manages to remove it,
> mount, and reinsert, you'll get silent data corruption.

We could detect this case; if the file system gets mounted, the last
mount time will change.  So one of the things we could do is have the
file system code freeze the file system at suspend time, so the file
system is consistent (which will reduce the probability of data loss
if the system never comes back up after the suspend), and save the
last mount time and last write time in memory.  When the system comes
back from resume, have the file system code check the last mount and
last write time, and if they have changed, it can refuse the resume
and abort the system to avoid data corruption.  It would require
making ext3/ext4 suspend-aware, but it would be doable, if we really
wanted to support this.

						- Ted