e2fsprogs: add 64-bit support
cover 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
Quoted 3 lines · Valerie Clement
This patchset is also not complete:
TODO:
- update code under ext2ed/,
This code should just be removed entirely. It is dangerous to use, and by including it in e2fsprogs it lends a false sense of credibility to the code. Hopefully most of the functionality here has been incorporated into debugfs?
Quoted 4 lines
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.
Did you run the "make check" tests? We've found these invaluable for catching regressions. Ideally there would also be some test cases for this support using "lazy_bg", a script to generate the filesystem, and conditional upon being able to create sparse files that big.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
Quoted 10 lines · Andreas Dilger
Quoted 3 lines · Valerie Clement
This patchset is also not complete:
TODO:
- update code under ext2ed/,This code should just be removed entirely. It is dangerous to use, and by including it in e2fsprogs it lends a false sense of credibility to the code. Hopefully most of the functionality here has been incorporated into debugfs?
OK.
Quoted 8 lines
Quoted 2 lines
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.
Did you run the "make check" tests? We've found these invaluable for catching regressions. Ideally there would also be some test cases for this support using "
lazy_bg", a script to generate the filesystem, and conditional upon being able to create sparse files that big.
I missed to mention that some changes have to be done under tests/ too. Without changes, "make check" fails.
Valérie