Comment 3 for bug 1894910

Revision history for this message
Ryan Harper (raharper) wrote : Re: fallocate swapfile has holes on 5.8 ext4

Turns out it's unrelated to bcache; it is trivially reproducible:

lxc launch ubuntu-daily:groovy g1 --vm
lxc exec g1 bash
fallocate -l 1024M /swap.img
mkswap /swap.img
swapon --verbose /swap.img
cat /proc/swaps

On the 5.4 kernel that groovy had a few weeks back this works, on daily (5.8) this fails:

root@g2vm:/home/ubuntu# uname -r
5.8.0-18-generic
root@g2vm:/home/ubuntu# fallocate -l 1024M /swap.img
root@g2vm:/home/ubuntu# mkswap /swap.img
mkswap: /swap.img: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=dafabd56-1137-459c-8e61-b6335eac1d1a
root@g2vm:/home/ubuntu# swapon --verbose /swap.img
swapon: /swap.img: insecure permissions 0644, 0600 suggested.
swapon: /swap.img: found signature [pagesize=4096, signature=swap]
swapon: /swap.img: pagesize=4096, swapsize=1073741824, devsize=1073741824
swapon /swap.img
swapon: /swap.img: swapon failed: Invalid argument
root@g2vm:/home/ubuntu# cat /proc/swaps
Filename Type Size Used Priority
root@g2vm:/home/ubuntu# dmesg | tail -n 2
[ 7.778887] EXT4-fs (sda1): resized filesystem to 2412985
[ 32.766796] swapon: swapfile has holes

Here's groovy from a few weeks back

root@g1fat:/home/ubuntu# cat /etc/cloud/build.info
build_name: server
serial: 20200819.1
root@g1fat:/home/ubuntu# uname -r
5.4.0-42-generic
root@g1fat:/home/ubuntu# cat /proc/swaps
Filename Type Size Used Priority
root@g1fat:/home/ubuntu# fallocate -l 1024M /swap.img
root@g1fat:/home/ubuntu# mkswap /swap.img
mkswap: /swap.img: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=aef79113-dd6b-4029-b558-f5269150d853
root@g1fat:/home/ubuntu# swapon --verbose /swap.img
swapon: /swap.img: insecure permissions 0644, 0600 suggested.
swapon: /swap.img: found signature [pagesize=4096, signature=swap]
swapon: /swap.img: pagesize=4096, swapsize=1073741824, devsize=1073741824
swapon /swap.img
root@g1fat:/home/ubuntu# dmesg | tail -n 2
[431543.292314] Adding 1048572k swap on /swap.img. Priority:-2 extents:5 across:1187840k FS
root@g1fat:/home/ubuntu# cat /proc/swaps
Filename Type Size Used Priority
/swap.img file 1048572 0 -2