Comment 0 for bug 1892728

Revision history for this message
Andrea Righi (arighi) wrote :

With commit 30460e1ea3e6 ("fs: Enable bmap() function to properly return errors"), applied to v5.6-rc1, running swapon on a file that has holes returns an error (EINVAL); hibinit-agent is creating the swap file just using fallocate(), without touching the whole file by deafult, so there might be holes, swapon fails and hibernation cannot be performed.

To prevent this problem we need to touch the swap file before using it and this can be done setting "touch-swap = True" in /etc/hibinit-config.cfg.

The downside of this setting is that a new instance requires more time to be properly "initialized" the first time it boots due to the extra I/O required to touch the swap file (this additional I/O can be quite consistent in large instances, like c5.18xlarge for example), but I don't see a better way to make sure the file is all allocated without holes, so I guess we need to turn on this option if we want to use hibernation w/ kernels >= 5.6.