Friday, November 21, 2014

Hibernate Filesystem Corruption in openSUSE 13.2

UPDATE: This bug is fixed with the dracut update to version dracut-037-17.9.1

I was never very fond of dracut, but I did not think it would be so totally untested: openSUSE Bug #906592. Executive summary: hibernate will most likely silently corrupt (at least) your root filesystem during resume from disk.
If you are lucky, a later writeback from buffers / cache will "fix" it, but the way dracut resumes the system is definitely broken and I already had the filesystem corrupted on my test VM, while investigating the issue, so it is not only a theoretical problem.

Until this bug is fixed: Do not hibernate on openSUSE 13.2.

Good luck!

5 comments:

  1. Does this affect suspend (suspend-to-ram) as well or is it only a problem for hibernation (suspend-to-disk) ?

    ReplyDelete
    Replies
    1. This does only affect suspend-to-disk, since suspend-to-ram does not go through the "bootloader -> load kernel -> load image -> restore image" sequence.
      That's also why I did not notice it earlier: I hardly ever use suspend-to-disk anymore :)

      Delete
    2. Excellent, thanks for the clarification. The reason I ask is that I will be deploying 13.2 for a school I work at, and nobody uses suspend-to-disk, but suspend-to-ram is a different story.

      Delete
  2. Is there a way of disabling suspend-to-disk completely? I've been looking for a config option to do that, but without luck. The only workaround I know of is to disable all swap space. Do you know a better way, such as a config setting somewhere?

    ReplyDelete