Updated: 28 September 2026 · Applies to: e2fsprogs 1.46 and 1.47 (ext4) on AlmaLinux and Rocky Linux 9 and 10, RHEL 9 and 10, Ubuntu 24.04 and 26.04, Debian 13

When you grow a mounted ext4 file system, resize2fs asks the kernel to do the online resize. If the kernel refuses, resize2fs only says:

resize2fs: Permission denied to resize filesystem

This has nothing to do with file permissions or root rights. The real reason is in the kernel log. We reproduced the most common case on AlmaLinux 9: a file system marked as having errors.

1. Read the kernel's reason

dmesg | grep -i -E 'ext4|resiz' | tail -5
journalctl -k -b | grep -i resiz

2. "There are errors in the filesystem, so online resizing is not allowed"

The file system has recorded an error in the past, so the kernel will not change its layout while it is mounted. Repair it first:

  1. Unmount it (for the root file system, boot rescue media instead):
    umount /data
  2. Check and repair it:
    e2fsck -f /dev/vgdata/data
    Answer the questions, or use -y to accept all fixes. Take a backup first if the data matters.
  3. Grow it while it is unmounted, which is also safe, or mount it and grow it online:
    resize2fs /dev/vgdata/data
    mount /data

In our test, the online resize failed with the error above, and after e2fsck -f the same resize worked.

Other reasons the kernel log may show

  • The file system is mounted read-only: remount it read-write, or resize it unmounted.
  • Growing beyond 16 TiB on a file system created without the 64bit feature: check with tune2fs -l /dev/DEVICE | grep features. The feature can be added offline with resize2fs -b on an unmounted, checked file system.
  • Very old file systems without room for more group descriptors: resize them unmounted with resize2fs, which can handle cases the online path cannot.

Check that the device really grew

resize2fs only grows the file system into space that already exists. Check lsblk: if the logical volume or partition is still the old size, grow it first (lvextend or growpart), or use lvextend -r, which does both steps.

Official documentation: resize2fs manual page and e2fsck manual page.

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Linux server management

hardening, patching, monitoring and automation for Ubuntu, Debian, RHEL and AlmaLinux.

Was this answer helpful?

Still stuck? Open a ticket