E2fsprogs features and patches

From Ext4
(Difference between revisions)
Jump to: navigation, search
(add prepare todo)
(Move done items into the 'done' section.)
Line 21: Line 21:
 
** kernel-resizing
 
** 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. '''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'''
 
  
 
== 64-bit block support ==
 
== 64-bit block support ==
Line 65: Line 57:
  
 
* 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.
 
* 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.
 
== 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'''
 
  
 
= Done =
 
= Done =
Line 84: Line 72:
 
* 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'''
 
* 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'''
 
* 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'''
 +
 +
== 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'''

Revision as of 19:01, 15 May 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 (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
    • kernel-resizing


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

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

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