-
Bug
-
Resolution: Done
-
Undefined
-
rhel-10.0.beta
-
e2fsprogs-1.47.1-2.el10
-
Yes
-
None
-
Regression
-
rhel-fs
-
ssg_filesystems_storage_and_HA
-
24
-
13
-
False
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
Pass
-
Automated
-
None
What were you trying to do that didn't work?
RHEL-44938 introduced e2fsprogs-1.47.1-1.el10. Ext4 image mkfs-ed by e2fsprogs-1.47.1-1.el10 is created with "orphan_file" option by default. Some enlarging operations against ext4 image with this option corrupts the fs.
Reproducer:
```
[root@prereserve-1mt-rhel-10 ~]# rpm -q e2fsprogs
e2fsprogs-1.47.1-1.el10.x86_64
[root@prereserve-1mt-rhel-10 ~]# truncate -s 16M /ext4.img
[root@prereserve-1mt-rhel-10 ~]# mkfs.ext4 -qF /ext4.img
[root@prereserve-1mt-rhel-10 ~]# echo $?
0
[root@prereserve-1mt-rhel-10 ~]# mount /ext4.img /mnt/scratchspace/ && umount /mnt/scratchspace/; echo $?
0
[root@prereserve-1mt-rhel-10 ~]# e2fsck -f /ext4.img
e2fsck 1.47.1 (20-May-2024)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/ext4.img: 12/4096 files (0.0% non-contiguous), 2357/16384 blocks
[root@prereserve-1mt-rhel-10 ~]# resize2fs /ext4.img 20480M
resize2fs 1.47.1 (20-May-2024)
Resizing the filesystem on /ext4.img to 20971520 (1k) blocks.
The filesystem on /ext4.img is now 20971520 (1k) blocks long.
[root@prereserve-1mt-rhel-10 ~]# mount /ext4.img /mnt/scratchspace/
mount: /mnt/scratchspace: can't read superblock on /dev/loop0.
dmesg(1) may have more information after failed mount system call.
[root@prereserve-1mt-rhel-10 ~]# journalctl -kf
(... snipped ...)
Jul 08 23:34:53 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: loop0: detected capacity change from 0 to 32768
Jul 08 23:34:53 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: EXT4-fs (loop0): mounted filesystem a1a8458f-e35d-40
bb-8669-52e40c23f970 r/w with ordered data mode. Quota mode: none.
Jul 08 23:34:53 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: EXT4-fs (loop0): unmounting filesystem a1a8458f-e35d
-40bb-8669-52e40c23f970.
Jul 08 23:35:12 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: loop0: detected capacity change from 0 to 41943040
Jul 08 23:35:12 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: EXT4-fs error (device loop0): ext4_init_orphan_info:
617: comm mount: orphan file block 2: bad checksum
Jul 08 23:35:12 prereserve-1mt-rhel-10.0-20240628.26-42790-2024-07-08-21-36 kernel: EXT4-fs (loop0): mount failed
```
The last mount should run successfully. This is a regression, since the same reproducer runs well on RHEL-9. After I removed "orphan_file" option from /etc/mke2fs.conf, the reproducer ran pass. There's a similar bug report upstream:
https://lore.kernel.org/linux-ext4/ZafXawnqlO7OvG1k@camel3.lan/T/#u
Please provide the package NVR for which bug is seen:
e2fsprogs-1.47.1-1.el10
How reproducible:
100%
Steps to reproduce
- See above
Expected results
The mount runs successfully
Actual results
The mount fails
- is caused by
-
RHEL-44938 update e2fsprogs to version 1.47.1
-
- Closed
-
- links to
-
RHBA-2024:133765 e2fsprogs bug fix and enhancement update