E2fsprogs features and patches

From Ext4
(Difference between revisions)
Jump to: navigation, search
(Remove blatently out of date stuff)
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Undo I/O manager:'''
+
<!-- Welcome Block -->
* Patches submitted to the mailing list by Aneesh Kumar
+
* To be merged after 1.40
+
http://thread.gmane.org/gmane.comp.file-systems.ext4/2826
+
  
'''64bit blk Support:'''
+
{{WARN| This page is somewhat out of date.}}
* Patches submitted to the mailing list by Valerie Clement
+
* Requires different binaries for doing 64bit support.
+
* 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/2125
+
  
'''Uninitialized block groups:'''
+
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fff0e0; align:right;">
* Girish Shilamkar recently submitted new patch to the mailing list
+
'''Getting the e2fsprogs Git tree:'''
* Kernel patches not in mainline yetWhat's the hold up here?
+
* git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
 +
or
 +
* git clone git://repo.or.cz/e2fsprogs.git
 +
</div>
 +
   
 +
= Works in progress =
  
'''i_version support:'''
+
== Flexible block group support ==
* Kernel patches not in mainline yet.  Ongoing discussions.
+
* Does the kernel's on-line resizing do the right thing with the new flexible block group allocation support
* Patches submitted?
+
* Test combinations of the flexible block group with meta_bg for:
 +
** kernel-resizing
  
'''Extents support:'''
+
== i_version support: ==
* Patches submitted?
+
 
 +
* 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.
 +
 
 +
== Uninit_bg support ==
 +
 
 +
* 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.
 +
 
 +
= Done =
 +
 
 +
== 64-bit block support ==
 +
 
 +
== Greater than 32000 subdir support ==
 +
 
 +
== Huge file support==
 +
 
 +
==  Extents 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 [[http://en.wikipedia.org/wiki/Diphthong Dipthong ]] '''DONE'''
  
'''Nano second support:'''
+
== Items to fix in maint branch ==
* Patches submitted?
+
  
'''Greater than 32000 subdir support:'''
+
* The combination of meta_bg and resize_inode creates a corrupt filesystem (even in the 1.40.x's maint branch) '''DONE'''
* Girish Shilamkar recently submitted new patch to the mailing list
+
* No archive link yet.
+

Latest revision as of 19:34, 22 February 2011


ATTENTION!
This page is somewhat out of date.

Getting the e2fsprogs Git tree:

or

Contents

[edit] Works in progress

[edit] Flexible block group 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:
    • kernel-resizing

[edit] i_version support:

  • Status of kernel patches?
  • No work needed for e2fsprogs except display support in debugfs DONE

[edit] 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.

[edit] Uninit_bg support

  • Resize2fs doens't work with the uninit_bg feature

[edit] 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.

[edit] Done

[edit] 64-bit block support

[edit] Greater than 32000 subdir support

[edit] Huge file support

[edit] Extents support

[edit] Nano second support

[edit] 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

[edit] 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

[edit] 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
Personal tools