[Bug 1892728] [NEW] ec2-hibinit-agent needs to properly initialize swap file

Andrea Righi 1892728 at bugs.launchpad.net
Mon Aug 24 14:22:06 UTC 2020


Public bug reported:

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.

** Affects: ec2-hibinit-agent (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: ec2-hibinit-agent (Ubuntu)
   Importance: Undecided
       Status: New

** No longer affects: linux-aws (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ec2-hibinit-agent in Ubuntu.
https://bugs.launchpad.net/bugs/1892728

Title:
  ec2-hibinit-agent needs to properly initialize swap file

Status in ec2-hibinit-agent package in Ubuntu:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ec2-hibinit-agent/+bug/1892728/+subscriptions



More information about the foundations-bugs mailing list