** Description changed:

- 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.
+ SRU Justification
+ 
+ Impact: Running swapon on ext4 with a file with holes fails in the
+ Groovy 5.8 kernel. This prevents using swap files created using
+ fallocate(), which prevents hibernation in EC2.
+ 
+ Fix: Commit 424de74af0d0679e99660904a5f472acd85bdb73 from linux-next
+ implements swap_activate aops to fix this issue.
+ 
+ Test Case: Run swapon with a file allocated using fallocate() in an ext4
+ filesystem. With the fix this should be successful, and it should be
+ possible to hibernate/resume an EC2 instance using such a swapfile.
+ 
+ Regression Potential: The code changes only impact activating swap on
+ ext4, so regressions are possible for this operation. All other
+ operations should not be impacted.
+ 
+ ---
+ 
+ 
+ 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.

** Changed in: linux (Ubuntu Groovy)
       Status: Incomplete => In Progress

** Changed in: linux (Ubuntu Groovy)
     Assignee: (unassigned) => Seth Forshee (sforshee)

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

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

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to