E2fsprogs features and patches
From Ext4
(Difference between revisions)
(→Works in progress) |
(Update and reorganization) |
||
Line 9: | Line 9: | ||
= Works in progress = | = Works in progress = | ||
+ | |||
+ | == Flexible block group support == | ||
+ | * Basic support for groups with out meta-data available in the next branch. | ||
+ | * Meta-data grouping support patches available (as of Apr08 they have been dropped from the pu branch due to conflicts introduce in the uninit_fixup branch) | ||
+ | * Patch needs to be broken up to smaller logical patches. | ||
+ | * Does resize2fs does the right thing with the new flexible block group allocation support? | ||
+ | * Does the kernel's on-line resizing do the right thing with the new flexible block group allocation support | ||
+ | * Test combinations of the flexible block group with meta_bg for: | ||
+ | ** e2fsck | ||
+ | ** resize2fs | ||
+ | ** kernel-resizing | ||
== Undo I/O manager == | == Undo I/O manager == | ||
Line 16: | Line 27: | ||
* Only use the undo manager with mke2fs if uninit blockgroups and lazy inode table init is enabled '''DONE''' | * Only use the undo manager with mke2fs if uninit blockgroups and lazy inode table init is enabled '''DONE''' | ||
* Don't make the undo manager bomb out with mysterious errors if the directory does not exist, or if a filesystem has previously been created and there is an undo file there. '''DONE''' | * Don't make the undo manager bomb out with mysterious errors if the directory does not exist, or if a filesystem has previously been created and there is an undo file there. '''DONE''' | ||
− | + | * If tdb_data_size is set to 32768, the tune2fs test fails; this seems to indicate that there may be a bug either in undoe2fs or in the undo_io manager. | |
− | + | * Maybe we should rename undoe2fs to e2undo? "Undoe2fs" just looks funny because the "oe" runs together like a wierd non-english [[http://en.wikipedia.org/wiki/Diphthong Dipthong ]] | |
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
== 64-bit block support == | == 64-bit block support == | ||
Line 44: | Line 47: | ||
* Basic support in git tree | * Basic support in git tree | ||
* Eric sandeen working on ext2fs_extent_set_bmap() functionality, needed to finish e2fsck pass1b and debugfs file write support. | * Eric sandeen working on ext2fs_extent_set_bmap() functionality, needed to finish e2fsck pass1b and debugfs file write support. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Nano second support == | == Nano second support == | ||
Line 55: | Line 53: | ||
* No work needed for e2fsprogs except display support in debugfs | * No work needed for e2fsprogs except display support in debugfs | ||
− | == | + | == Extra isize support == |
* If the inode's extra_isize is less than the superblock's min_extra_isize, it needs to be fixed in e2fsck pass1. | * If the inode's extra_isize is less than the superblock's min_extra_isize, it needs to be fixed in e2fsck pass1. | ||
+ | |||
+ | == Items to fix in maint branch == | ||
+ | |||
* The combination of meta_bg and resize_inode creates a corrupt filesystem (even in the 1.40.x's maint branch) | * The combination of meta_bg and resize_inode creates a corrupt filesystem (even in the 1.40.x's maint branch) | ||
= Done = | = Done = | ||
− | + | == Greater than 32000 subdir support == | |
− | + | ||
+ | == Huge file support== | ||
+ | |||
+ | == Uninitialized block groups == | ||
+ | |||
+ | * Basic support (with bugs) integrated into e2fsprogs mainline | ||
+ | * Rename uninit_groups to uninit_bg to be consistent with other defined features. Retain the old name for historical purpose. '''DONE''' | ||
+ | * The return value of ext2fs_super_and_bgd_loc() is not to be trusted. Document this in the source code. '''DONE''' | ||
+ | * Make sure ext2fs_super_and_bgd_loc() does not get used anywhere where the return value is expected to be accurate (aside from mke2fs). '''DONE''' | ||
+ | * Remove lazy_bg feature from being set in mke2fs. Feature has been declare a dangerous hack by its creator, remove it to avoid people building on top of it. '''DONE''' | ||
+ | * Disentangle lazy_bg and meta_bg features '''DONE''' |
Revision as of 11:46, 22 April 2008
Contents |
Works in progress
Flexible block group support
- Basic support for groups with out meta-data available in the next branch.
- Meta-data grouping support patches available (as of Apr08 they have been dropped from the pu branch due to conflicts introduce in the uninit_fixup branch)
- Patch needs to be broken up to smaller logical patches.
- Does resize2fs does the right thing with the new flexible block group allocation support?
- Does the kernel's on-line resizing do the right thing with the new flexible block group allocation support
- Test combinations of the flexible block group with meta_bg for:
- e2fsck
- resize2fs
- kernel-resizing
Undo I/O manager
- Patches submitted to the mailing list by Aneesh Kumar
- In the 'pu' branch; needs work
- Only use the undo manager with mke2fs if uninit blockgroups and lazy inode table init is enabled DONE
- Don't make the undo manager bomb out with mysterious errors if the directory does not exist, or if a filesystem has previously been created and there is an undo file there. DONE
- If tdb_data_size is set to 32768, the tune2fs test fails; this seems to indicate that there may be a bug either in undoe2fs or in the undo_io manager.
- Maybe we should rename undoe2fs to e2undo? "Undoe2fs" just looks funny because the "oe" runs together like a wierd non-english [Dipthong ]
64-bit block support
- Patches submitted to the mailing list by Valerie Clement, which unfortunately broke the shared library ABI.
- Ted Ts'o suggests a different approach:
- http://thread.gmane.org/gmane.comp.file-systems.ext4/2845
- http://thread.gmane.org/gmane.comp.file-systems.ext4/2125
- Partial support is gradually getting added into the e2fsprogs mainline.
i_version support:
- Status of kernel patches?
- No work needed for e2fsprogs except display support in debugfs
Extents support
- Basic support in git tree
- Eric sandeen working on ext2fs_extent_set_bmap() functionality, needed to finish e2fsck pass1b and debugfs file write support.
Nano second support
- Check out kernel support; does it work correctly?
- No work needed for e2fsprogs except display support in debugfs
Extra isize support
- If the inode's extra_isize is less than the superblock's min_extra_isize, it needs to be fixed in e2fsck pass1.
Items to fix in maint branch
- The combination of meta_bg and resize_inode creates a corrupt filesystem (even in the 1.40.x's maint branch)
Done
Greater than 32000 subdir support
Huge file support
Uninitialized block groups
- Basic support (with bugs) integrated into e2fsprogs mainline
- Rename uninit_groups to uninit_bg to be consistent with other defined features. Retain the old name for historical purpose. DONE
- The return value of ext2fs_super_and_bgd_loc() is not to be trusted. Document this in the source code. DONE
- Make sure ext2fs_super_and_bgd_loc() does not get used anywhere where the return value is expected to be accurate (aside from mke2fs). DONE
- Remove lazy_bg feature from being set in mke2fs. Feature has been declare a dangerous hack by its creator, remove it to avoid people building on top of it. DONE
- Disentangle lazy_bg and meta_bg features DONE