E2fsprogs features and patches

From Ext4
(Difference between revisions)
Jump to: navigation, search
(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.
== Uninitialized block groups ==
+
* 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 ]]
 
+
* 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). '''PARTIALLY 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'''
+
* Integrate flex-bg meta-data grouping support and make sure it works well with uninit block groups
+
* Disentangle lazy_bg and meta_bg features '''DONE'''
+
  
 
== 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.
 
== 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.
 
  
 
== 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
  
== Miscellaneous items ==
+
== 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
+
== Greater than 32000 subdir support ==
* Huge file 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

Getting the e2fsprogs Git tree:

or


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

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
Personal tools