RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 982871 - cannot online enlarge over 16T ext4 to larger if mkfs with -O 64bit option
Summary: cannot online enlarge over 16T ext4 to larger if mkfs with -O 64bit option
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: e2fsprogs
Version: 7.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Lukáš Czerner
QA Contact: Eryu Guan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-10 04:26 UTC by Eryu Guan
Modified: 2014-06-18 08:27 UTC (History)
1 user (show)

Fixed In Version: e2fsprogs-1.42.9-4.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-13 10:02:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Eryu Guan 2013-07-10 04:26:12 UTC
Description of problem:
resize2fs cannot do online enlarge if 64bit feature is enabled explicitly at mkfs time.

[root@ibm-x3690x5-01 resize]# uname -a
Linux ibm-x3690x5-01.rhts.eng.nay.redhat.com 3.10.0-0.rc7.64.el7.x86_64 #1 SMP Tue Jun 25 10:00:04 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@ibm-x3690x5-01 resize]# rpm -q e2fsprogs
e2fsprogs-1.42.7-2.el7.x86_64
[root@ibm-x3690x5-01 resize]# truncate -s 50t fs.img
[root@ibm-x3690x5-01 resize]# mkfs -t ext4 -O 64bit -F fs.img 17t
mke2fs 1.42.7 (21-Jan-2013)
Discarding device blocks:  done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
285212672 inodes, 4563402752 blocks
228170137 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=6710886400
139264 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
        2560000000, 3855122432

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

[root@ibm-x3690x5-01 resize]# losetup -f
/dev/loop0
[root@ibm-x3690x5-01 resize]# losetup /dev/loop0 fs.img
[root@ibm-x3690x5-01 resize]# mount /dev/loop0 /mnt/ext4
[root@ibm-x3690x5-01 resize]# resize2fs /dev/loop0
resize2fs 1.42.7 (21-Jan-2013)
Filesystem at /dev/loop0 is mounted on /mnt/ext4; on-line resizing required
old_desc_blocks = 2176, new_desc_blocks = 6400
resize2fs: Invalid argument While checking for on-line resizing support

And dmesg shows:
[270491.166051] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
[270491.173946] SELinux: initialized (dev loop0, type ext4), uses xattr
[270500.004850] EXT4-fs (loop0): resizing filesystem from 4563402752 to 13421772800 blocks
[270510.011347] EXT4-fs (loop0): resized to 4710727680 blocks
[270520.045883] EXT4-fs (loop0): resized to 4852809728 blocks
[270530.058412] EXT4-fs (loop0): resized to 4991746048 blocks
[270540.097639] EXT4-fs (loop0): resized to 5123866624 blocks
[270550.131691] EXT4-fs (loop0): resized to 5256511488 blocks
[270560.133524] EXT4-fs (loop0): resized to 5383389184 blocks
[270570.137817] EXT4-fs (loop0): resized to 5509218304 blocks
[270580.151840] EXT4-fs (loop0): resized to 5629804544 blocks
[270590.167257] EXT4-fs (loop0): resized to 5748293632 blocks
[270594.974925] EXT4-fs warning (device loop0): verify_reserved_gdb:700: reserved GDT 2769 missing grp 177147 (5804755665)
[270594.985813] EXT4-fs (loop0): resized filesystem to 6710886400
[270595.738493] EXT4-fs warning (device loop0): ext4_group_extend:1710: can't shrink FS - resize aborted

Version-Release number of selected component (if applicable):
e2fsprogs-1.42.7-2.el7

How reproducible:
always

Steps to Reproduce:
1. truncate -s 50t fs.img
2. losetup /dev/loop0 fs.img
3. mkfs -t ext4 -O 64bit /dev/loop0
4. mount /dev/loop0 /mnt/ext4
5. resize2fs /dev/loop0

Actual results:
resize2fs reports "resize2fs: Invalid argument While checking for on-line resizing support"

Expected results:
resize2fs could enlarge fs

Additional info:
I proposed a patch for mke2fs upstream to disable resize_inode feature when creating >16T ext4 with 64bit feature enabled
http://www.spinics.net/lists/linux-ext4/msg38920.html

Comment 1 Eric Sandeen 2013-07-10 15:18:05 UTC
Agreed; thanks for finding this.

I also need to take Lukas' patch which enables 64bit by default.

We should re-check with both of those patches in place to make sure everything works properly...

Comment 5 Eryu Guan 2014-03-12 08:37:32 UTC
Verified with e2fsprogs-1.42.9-4.el7, resize2fs could do online-enlarge on a over-16T ext4, and e2fsck finds nothing error.

For the enable 64bit feature by default in mke2fs, I'll do full xfstests test and regression test on ext4.

[root@hp-dl388g8-01 resize]# truncate -s 50t fs.img
[root@hp-dl388g8-01 resize]# mkfs -t ext4 -O 64bit -F fs.img 17t
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks:  done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
285212672 inodes, 4563402752 blocks
228170137 blocks (5.00%) reserved for the super user
First data block=0
139264 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
        2560000000, 3855122432

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

[root@hp-dl388g8-01 resize]# losetup -f
/dev/loop4
[root@hp-dl388g8-01 resize]# losetup -f fs.img
[root@hp-dl388g8-01 resize]# mount /dev/loop4 /mnt/ext4
[root@hp-dl388g8-01 resize]# resize2fs /dev/loop4
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/loop4 is mounted on /mnt/ext4; on-line resizing required
old_desc_blocks = 2176, new_desc_blocks = 6400
The filesystem on /dev/loop4 is now 13421772800 blocks long.

[root@hp-dl388g8-01 resize]# umount /mnt/ext4
[root@hp-dl388g8-01 resize]# e2fsck -nf /dev/loop4
e2fsck 1.42.9 (28-Dec-2013)
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
/dev/loop4: 11/838860800 files (0.0% non-contiguous), 53347872/13421772800 blocks
[root@hp-dl388g8-01 resize]#

Comment 6 Ludek Smid 2014-06-13 10:02:11 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.


Note You need to log in before you can comment on or make changes to this bug.