E2fsprogs features and patches
Revision as of 21:43, 21 August 2009 by Tytso
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 (and in the 'pu' branch)
- Patch needs to be broken up to smaller logical patches. DONE
- Does resize2fs does the right thing with the new flexible block group allocation support? DONE
- 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 DONE
- resize2fs DONE
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:
- Partial support is gradually getting added into the e2fsprogs mainline.
- Status of kernel patches?
- No work needed for e2fsprogs except display support in debugfs DONE
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.
- Patches to do this are in the CFS/Lustre patch series.
- Resize2fs doens't work with the uninit_bg feature
Add ext2prepare functionality to resize2fs
- The ext2resize package has an ext2prepare tool to allow an existing filesystem to be modified offline to support later online resizing as storage is added. The main operation of ext2prepare is to add reserved group descriptor blocks to the resize inode, and possibly shift the inode table forward in order to allow this. The resize2fs tool already has the ability to move the inode table and add group descriptor blocks, so it just needs to be told to do this in a prepare mode that does not extend the size of the filesystem.
Greater than 32000 subdir support
Huge file support
Nano second 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
Undo I/O manager
- Patches submitted to the mailing list by Aneesh Kumar
- 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. DONE
- Maybe we should rename undoe2fs to e2undo? "Undoe2fs" just looks funny because the "oe" runs together like a wierd non-english [Dipthong ] DONE
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