E2fsprogs features and patches

From Ext4
(Difference between revisions)
Jump to: navigation, search
(More updates)
(Update fixes to the uninit_bg feature.)
Line 16: Line 16:
 
* Only use the undo manager with mke2fs if uninit blockgroups and lazy inode table init is enabled
 
* Only use the undo manager with mke2fs if uninit blockgroups and lazy inode table init is enabled
 
* 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.
 
* 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.
 
  
 
== Uninitialized block groups ==
 
== Uninitialized block groups ==
Line 22: Line 21:
 
* Basic support (with bugs) integrated into e2fsprogs mainline
 
* 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'''
 
*  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.
+
* 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).
+
* 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.
 
* 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.
 
* Integrate flex-bg meta-data grouping support and make sure it works well with uninit block groups
 
* Integrate flex-bg meta-data grouping support and make sure it works well with uninit block groups
Line 30: Line 29:
 
== 64-bit block support ==
 
== 64-bit block support ==
  
* Patches submitted to the mailing list by Valerie Clement
+
* Patches submitted to the mailing list by Valerie Clement, which unfortunately broke the shared library ABI.
* Requires different binaries for doing 64bit support.
+
* Ted Ts'o suggests a different approach:
* Unified binaries will most likely require API/ABI changes.
+
* 64bit blk support requires 64bit binaries.  Breaks on PPC64 32bit user-space env.
+
* Ted T'so suggests a different approach:
+
 
** http://thread.gmane.org/gmane.comp.file-systems.ext4/2845
 
** http://thread.gmane.org/gmane.comp.file-systems.ext4/2845
 
** http://thread.gmane.org/gmane.comp.file-systems.ext4/2125
 
** http://thread.gmane.org/gmane.comp.file-systems.ext4/2125
 +
** Partial support is gradually getting added into the e2fsprogs mainline.
  
 
== i_version support: ==
 
== i_version support: ==

Revision as of 23:29, 20 April 2008

Getting the e2fsprogs Git tree:

or


Contents

Works in progress

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
  • 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.

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). 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.
  • 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

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

Miscellaneous items

  • If the inode's extra_isize is less than the superblock's min_extra_isize, it needs to be fixed in e2fsck pass1.
  • 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
Personal tools