Re: Memory consumption difference between in-kernel and userspace hibernation

Rafael J. Wysocki
2009-11-13T20:05:07Z

On Thursday 12 November 2009, Thomas Petazzoni wrote:
> Hello,
>
> Thanks for your feedback.
>
> Le Thu, 12 Nov 2009 21:52:02 +0100,
> "Rafael J. Wysocki" <rjw@sisk.pl> a écrit :
>
> > The userspace interface doesn't really allow you to write to a file.
> > You can write into the area the file occupies on the partition, but
> > you can't use the filesystem code for the actual writing. At least
> > you shouldn't do that.
>
> Ah. But it seems to work fairly nicely. Why can't the filesystem code
> could be used to store the resume image ? Note that my file is stored
> in a separate partition, fully dedicated to storing the resume file and
> mounted only at very specific points in the system lifetime.

That doesn't really matter.

The problem is that the image is likely to contain filesystem data (eg.
superblocks etc.) that correspond to the state before the image has been
created. Now, your using the filesystem code for writing the image modifies
the on-disk metadata which become inconsistent with the filesystem data in
the image. This inconsistencies may very well result in an unfixable
corruption of the file system after the resume (that actually happened to
a number of people, so it's not just pure theory).

That really depends on the fileystem used, though.

Thanks,
Rafael