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 Latest11 patches 10 repliesIn review

Changes from the previous version from the cover letter

- support of different group descriptor sizes for ext4 filesystems:
-- Add new inline functions to get/set the block bitmap block, the
inode bitmap block and the inode table block of a group.
-- Add a new inline function to get the descriptor of a group.
- remove some '_EXT4FS_' conditional compilation and use instead INCOMPAT_64BIT tests.
- Fix errors found in the test suite "make check"

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11add new mkfs option to create ext4 filesystemslib/ext2fs/ext2_fs.h lib/ext2fs/initialize.c misc/mke2fs.c+24 -23 replies
2/11add 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/11new badblocks interface in e2fsprogslib/ext2fs/badblocks.c lib/ext2fs/ext2fs.h lib/ext2fs/ext2fsP.h +1 more+423 -1080 replies
4/11convert some block types in e2fsprogsdebugfs/debugfs.c debugfs/logdump.c e2fsck/super.c +9 more+29 -290 replies
5/11new bitmaps interface in e2fsprogslib/ext2fs/bitmaps.c lib/ext2fs/bitops.c lib/ext2fs/bitops.h +1 more+231 -151 reply
6/11handling of 64-bit block counts in e2fsprofsdebugfs/debugfs.c debugfs/logdump.c debugfs/lsdel.c +37 more+228 -1761 reply
7/11handling of 64-bit block numbers in group desc in e2fsprogsdebugfs/debugfs.c debugfs/logdump.c e2fsck/journal.c +25 more+414 -2101 reply
8/1148-bit extents in e2fsprogse2fsck/pass1.c lib/ext2fs/bmap.c lib/ext2fs/ext3_extents.h +1 more+53 -221 reply
9/11indirect block type conversion in e2fsprogse2fsck/pass1.c e2fsck/super.c lib/ext2fs/bb_inode.c +6 more+64 -470 replies
10/11convert blk_t to 64-bit for ext4 FS in e2fsprogslib/ext2fs/ext2_fs.h lib/ext2fs/ext2fs.h misc/mke2fs.c+26 -61 reply
11/1148-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/11] [take 2] e2fsprogs: add 64-bit support

I have updated my patchset taking into account comments received from Andreas and Jose, except for the last patch concerning the ACLs/EAs for which I did not do anything.
As the changes are rather significant, I send here a new version for review.

Changes from the previous version:
- support of different group descriptor sizes for ext4 filesystems:
-- Add new inline functions to get/set the block bitmap block, the
inode bitmap block and the inode table block of a group.
-- Add a new inline function to get the descriptor of a group.
- remove some '_EXT4FS_' conditional compilation and use instead INCOMPAT_64BIT tests.
- Fix errors found in the test suite "make check"

TODOs:
- support of 48-bit in extents to complete,
- support of 48-bit block number for EAs to do,
- change the format string %u for a block number to %llu in case of
64 bits (many occurences in the code)
- more testing

Current status:
the code was compiled with _EXT4FS_ option, booted and briefly tested on a 20TB device on an x86_64 system (mkfs, debugfs, e2fsck, dumpe2fs, filefrag commands tested).
Some non-regression tests also done on ext3 filesystems when compiling code without _EXT4FS_ option.

This patchset applies to the version e2fsprogs-1.39-tyt3 of e2fsprogs in the following order:

[PATCH 1/11] add new mkfs option to create ext4 filesystems [PATCH 2/11] add new macro EXT2_DESC_PER_BLOCK in e2fsprogs [PATCH 3/11] new badblocks interface in e2fsprogs
[PATCH 4/11] convert some block types in e2fsprogs
[PATCH 5/11] new bitmaps interface in e2fsprogs
[PATCH 6/11] handling of 64-bit block counts in e2fsprofs [PATCH 7/11] handling of 64-bit block numbers in group desc in e2fsprogs [PATCH 8/11] 48-bit extents in e2fsprogs
[PATCH 9/11] indirect block type conversion in e2fsprogs [PATCH 10/11] convert blk_t to 64-bit for ext4 FS in e2fsprogs [PATCH 11/11] 48-bit block number for ACL in e2fsprogs

Regards,
Valérie