2020-08-24 14:22:06 |
Andrea Righi |
bug |
|
|
added bug |
2020-08-24 14:23:46 |
Andrea Righi |
bug task added |
|
ec2-hibinit-agent (Ubuntu) |
|
2020-08-24 14:24:07 |
Andrea Righi |
bug task deleted |
linux-aws (Ubuntu) |
|
|
2020-08-25 15:21:20 |
Brian Murray |
tags |
|
rls-gg-incoming |
|
2020-08-25 16:57:11 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu): status |
New |
Confirmed |
|
2020-08-27 15:26:26 |
Łukasz Zemczak |
nominated for series |
|
Ubuntu Groovy |
|
2020-08-27 15:26:26 |
Łukasz Zemczak |
bug task added |
|
ec2-hibinit-agent (Ubuntu Groovy) |
|
2020-08-27 15:26:32 |
Łukasz Zemczak |
tags |
rls-gg-incoming |
|
|
2020-09-02 12:32:44 |
Francis Ginther |
tags |
|
id-5f47d0f8b8ce963bb1e25973 |
|
2020-09-22 15:03:26 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu Groovy): importance |
Undecided |
Critical |
|
2020-09-22 15:03:28 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu Groovy): importance |
Critical |
High |
|
2020-10-01 18:01:32 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu Groovy): assignee |
|
Balint Reczey (rbalint) |
|
2020-10-01 18:01:35 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu Groovy): status |
Confirmed |
In Progress |
|
2020-10-02 19:45:39 |
Balint Reczey |
ec2-hibinit-agent (Ubuntu Groovy): status |
In Progress |
Incomplete |
|
2020-10-14 15:48:04 |
Matthieu Clemenceau |
tags |
id-5f47d0f8b8ce963bb1e25973 |
fr-205 id-5f47d0f8b8ce963bb1e25973 |
|
2020-10-14 16:33:37 |
Balint Reczey |
affects |
ec2-hibinit-agent (Ubuntu Groovy) |
linux (Ubuntu Groovy) |
|
2020-10-14 16:33:49 |
Balint Reczey |
linux (Ubuntu Groovy): assignee |
Balint Reczey (rbalint) |
|
|
2020-10-14 20:31:01 |
Seth Forshee |
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. |
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. |
|
2020-10-14 20:31:08 |
Seth Forshee |
linux (Ubuntu Groovy): status |
Incomplete |
In Progress |
|
2020-10-14 20:31:08 |
Seth Forshee |
linux (Ubuntu Groovy): assignee |
|
Seth Forshee (sforshee) |
|
2020-10-19 15:02:36 |
Launchpad Janitor |
linux (Ubuntu Groovy): status |
In Progress |
Fix Released |
|
2020-10-19 15:02:36 |
Launchpad Janitor |
cve linked |
|
2020-12351 |
|
2020-10-19 15:02:36 |
Launchpad Janitor |
cve linked |
|
2020-12352 |
|
2020-10-19 15:02:36 |
Launchpad Janitor |
cve linked |
|
2020-24490 |
|