Skip to contentSkip to conversation

e2fsprogs: add 64-bit support

RFC PATCH In review Valerie Clement 2 participants 3 messages Jun 11, 2007 – Jun 12, 2007

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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.

#2 lore raw
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