Re: Fix SWSUSP & !SWAP

Andrew Morton
2003-04-24T09:33:16Z

Pavel Machek <pavel@suse.cz> wrote:
>
> Hi!
>
> > > No, ext3 will be "unclean" during resume (you can't really unmount it
> > > during suspend!) and r-o mounting of ext3 will replay journal and
> > > cause data corruption.
> >
> > Sorry, I still don't get it. Go through the steps for me:
> >
> > 1) suspend writes pages to disk
> >
> > 2) machine is shutdown
> >
> > 3) restart, journal replay
> >
> > 4) resume reads pages from disk.
>
> And now you have kernel which expects data still in journal (that was
> state before suspend), but reality on disk is quite different (journal
> was replayed). Data corruption.

swapfiles are not journalled - the swap a_ops write direct to the swapfile's
blocks with submit_bio(). Journal replay wouldn't touch the swapfile.

I can see that locating the swapfile for the resume-time swapon could be a
problem, but the corruption thing still escapes me.