Skip to content

RFC e2fsprogs: add 64-bit support

Valerie Clement linux-ext4 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest12 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12new ext4 group desc struct in e2fsprogsdebugfs/debugfs.c debugfs/set_fields.c e2fsck/super.c +6 more+45 -22 replies
2/12add new macro EXT2_DESC_PER_BLOCK in e2fsprogslib/ext2fs/closefs.c lib/ext2fs/ext2_fs.h lib/ext2fs/initialize.c +3 more+12 -121 reply
3/12new badblocks interface in e2fsprogslib/ext2fs/badblocks.c lib/ext2fs/ext2fs.h lib/ext2fs/ext2fsP.h +1 more+423 -1080 replies
4/12convert some block types in e2fsprogsdebugfs/debugfs.c debugfs/logdump.c e2fsck/super.c +8 more+23 -262 replies
5/12new bitmaps interface in e2fsprogslib/ext2fs/bitmaps.c lib/ext2fs/bitops.c lib/ext2fs/bitops.h +1 more+229 -130 replies
6/12handling of 64-bit block counts in e2fsprofsdebugfs/debugfs.c debugfs/logdump.c debugfs/lsdel.c +36 more+243 -1751 reply
7/12handling of 64-bit block numbers in group desc in e2fsprogsdebugfs/debugfs.c debugfs/logdump.c e2fsck/pass1.c +18 more+199 -1291 reply
8/1248-bit extents in e2fsprogse2fsck/pass1.c lib/ext2fs/bmap.c lib/ext2fs/ext3_extents.h +1 more+48 -191 reply
9/12indirect block type conversion in e2fsprogse2fsck/pass1.c lib/ext2fs/block.c lib/ext2fs/ext2fs.h +3 more+52 -350 replies
10/12add new mkfs option to create ext4 filesystemslib/ext2fs/ext2_fs.h lib/ext2fs/initialize.c misc/mke2fs.c+23 -20 replies
11/12convert blk_t to 64-bit for ext4 FS in e2fsprogslib/ext2fs/ext2_fs.h lib/ext2fs/ext2fs.h misc/mke2fs.c+24 -60 replies
12/1248-bit block number for ACL in e2fsprogslib/ext2fs/ext2_fs.h lib/ext2fs/swapfs.c+10 -61 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/12] e2fsprogs: add 64-bit support

Hi Ted,

Here is the new version of our e2fsprogs patches to add the 64-bit support in the e2fsprogs tools.

First, I introduced a new compilation option to build e2fsprogs utilities for ext4 filesytems and not break backwards compatiblity with ext2/3 filesystems.

So most of the new code for ext4 is included under #ifdef _EXT4FS_.

The major change is that when compiling with _EXT4FS_ option, blk_t is 64 bits.

I tried to create new interfaces for ext4 which use the new type blk64_t you defined, so most of the code in the patches 03 and 05 are simply duplicated from the 32-bit version.

This patchset is also not complete:
TODO:
- support of 48-bit in extents to complete,
- support of 48-bit block number for ACL to do,
- change the format string %u for a block number to %llu in case of
64 bits (many occurences in the code),
- update code under ext2ed/,
- and surely other utilities/interfaces I don't use or know to port.

Code compiled, booted and briefly tested on a 20TB device (mkfs, debugfs, e2fsck, dumpe2fs, filefrag tested) Some non-regression tests also done on ext3 filesystems when compiling code without _EXT4FS_ option.

I splitted the changes into 12 patches to facilitate the review of the patches. I hope this work will be able to make progress on the code for the 64-bit support.
Valérie