Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#2951 - x86_64 ext4 generic: online resizing of root partition fails #7729

Open
openwrt-bot opened this issue Mar 31, 2020 · 7 comments
Open

FS#2951 - x86_64 ext4 generic: online resizing of root partition fails #7729

openwrt-bot opened this issue Mar 31, 2020 · 7 comments
Labels

Comments

@openwrt-bot
Copy link

@openwrt-bot openwrt-bot commented Mar 31, 2020

jneuhauser:

Used HW/SW:

  • PCEngines APU2C4
  • OpenWrt SNAPSHOT, r12776-437eb41f23

Steps to reproduce:

  • Install needed packages:
    root@OpenWrt:~# opkg update && opkg install fdisk resize2fs
  • Extend root partition from 104 MB to 256 MB with fdisk:
    root@OpenWrt:~# fdisk /dev/mmcblk0 << EOF
    p
    d
    2
    n
    p
    2
    33792
    +256M

w
EOF

  • Extend ext4 filesystem:
    root@OpenWrt:~# resize2fs /dev/mmcblk0p2

Here are the output of resize2fs:
root@OpenWrt:~# resize2fs /dev/mmcblk0p2
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mmcblk0p2 to 65664 (4k) blocks.
resize2fs: Invalid argument While trying to add group #1

Here are the dmesg output:
root@OpenWrt:~# dmesg | tail -n 6
[50698.949591] EXT4-fs (mmcblk0p2): resizing filesystem from 32768 to 65664 blocks
[50698.957030] EXT4-fs (mmcblk0p2): resizing filesystem from 32768 to 65536 blocks
[50698.969299] EXT4-fs warning (device mmcblk0p2): reserve_backup_gdb:1033: reserved block 8 not at offset 7
[50698.978959] EXT4-fs warning (device mmcblk0p2): ext4_resize_fs:2120: error (-22) occurred during file system resize
[50698.989429] EXT4-fs (mmcblk0p2): resized filesystem to 32768
[50698.999227] EXT4-fs warning (device mmcblk0p2): reserve_backup_gdb:1033: reserved block 8 not at offset 7

Offline resizing does work as expected.

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Mar 31, 2020

jneuhauser:

Some time ago i´m able to install all needed packages into my rootfs partition without the need of resizing.

The following commits changed the old size of 256 MB first to 128 MB and later to 104 MB.
469ba33
61c57af

This really sucks as i do not understand the reason for such small and not resizeable rootfs partiitons on the x86_64 target.

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Sep 19, 2020

cronix:

I can confirm this issue,
having exactly the same outputs with todays trunk builds on my APU2 hardware as reported by the user above.

root@OpenWrt:~# resize2fs /dev/sda2
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
resize2fs: Invalid argument While checking for on-line resizing support

[ 275.145363] EXT4-fs (sda2): resizing filesystem from 26624 to 3905430 blocks
[ 275.153734] EXT4-fs warning (device sda2): reserve_backup_gdb:1033: reserved block 8 not at offset 7
[ 275.162926] EXT4-fs warning (device sda2): ext4_resize_fs:2120: error (-22) occurred during file system resize
[ 275.172949] EXT4-fs (sda2): resized filesystem to 32768
[ 275.178220] EXT4-fs warning (device sda2): ext4_group_extend:1804: can't shrink FS - resize aborted

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Mar 10, 2021

MarioT:

Issue was already present in the x86_64 image on 19.07.7
(Using CompuLab fit-PC4, not far from a PCEngines APU2C4)

Could be related to the partition not aligned to 4k boundary.
Following workaround has allowed me to resize the ext4 "root":

mount -o remount,ro / #Remount root as ReadOnly
tune2fs -O^resize_inode /dev/mmcblk0p2 #Remove reserved GDT blocks
fsck.ext4 /dev/mmcblk0p2 #Fix part, answer yes to remove GDT blocks remnants

#reboot
resize2fs /dev/mmcblk0p2

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Oct 3, 2021

orev:

I'm seeing the same issue on the 21.02.0 release and Mario's workaround did seem to work. However, I had better success resizing it when booted to a live USB (Fedora in my case). Using tune2fs/fsck causes the filesystem to need repairs, which just doesn't seem like the "right" way to approach it.

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Jan 10, 2022

SiNONiMiTY:

This is working. Must be added as a reference for those who needs this.

@JOduMonT
Copy link

@JOduMonT JOduMonT commented Mar 22, 2022

mount -o remount,ro / #Remount root as ReadOnly tune2fs -O^resize_inode /dev/mmcblk0p2 #Remove reserved GDT blocks fsck.ext4 /dev/mmcblk0p2 #Fix part, answer yes to remove GDT blocks remnants


#reboot resize2fs /dev/mmcblk0p2

in my case; to resized my root (/) only these commands has been required

# Remount root as ReadOnly 
mount -o remount,ro /
# Check and Repair blocks
e2fsck -f /dev/sda2

then after a reboot resize /dev/sda2 worked perfectly

@PupilTong
Copy link

@PupilTong PupilTong commented Mar 22, 2022

for x86 openwrt 21.02:
The most direct way:
opkg update && opkg install parted

parted
p
resizepart 2
q
``
# reboot

resize2fs /dev/sda2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants