New ext4 features

From Ext4
(Difference between revisions)
Jump to: navigation, search
 
(update with recent features)
 
(20 intermediate revisions by 9 users not shown)
Line 1: Line 1:
'''Multiblock Allocation'''
+
== Introduction ==
 +
 
 +
This page contains information about new ext4 features which are currently under development.
 +
 
 +
For a description of Ext4 features as they appeared in the original 2.6.28 kernel when ext4 was first released, please see the [http://kernelnewbies.org/Ext4 Ext4 Kernelnewbies article].
 +
 
 +
== Currently being worked on ==
 +
 
 +
=== Online Directory Shrink ===
 +
 
 +
* Primary developer: Harshad Shirwadkar
 +
* Status: In progress
 +
* Latest patches: https://lore.kernel.org/linux-ext4/20190824023110.GB19348@mit.edu/T/#t
 +
* e2fsprogs changes: Should not be needed with large directory support
 +
* Outstanding issues: only shrinks if last block in directory is empty, needs to handle arbitrary empty blocks
 +
 
 +
== Done ==
 +
 
 +
=== Multiblock Allocation ===
  
 
* Primary developer: Alex Tomas
 
* Primary developer: Alex Tomas
* Status: Patches available
+
* Status: Done
 
* Changes on-disk format: No
 
* Changes on-disk format: No
* Target Date: ?
 
 
* e2fsprogs changes: No
 
* e2fsprogs changes: No
 +
* Outstanding issues: None
  
'''Delayed Allocation'''
+
=== [[DelayedAllocation|Delayed Allocation]] ===
  
 
* Primary developer: Alex Tomas
 
* Primary developer: Alex Tomas
* Status: Patches available
+
* Status: Done
 
* Changes on-disk format: No
 
* Changes on-disk format: No
* Target Date: ?
 
 
* e2fsprogs changes: No
 
* e2fsprogs changes: No
 +
* Outstanding issues: None
  
'''Break 32000 subdirectory limit'''
+
=== Exceed 32000 subdirectory limit ===
  
* Primary developer: Andreas? Ted?
+
* Primary developer: Andreas Dilger
* Status: Patches available
+
* Status: Done
 
* Changes on-disk format: Yes
 
* Changes on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: done
 +
* Outstanding issues: None
 +
 
 +
=== directory Inodes reservation ===
 +
 
 +
* Primary developer: Coly
 +
* Status: Patch available
 +
* Changes on-disk format: No
 
* e2fsprogs changes: Needed
 
* e2fsprogs changes: Needed
 +
* Outstanding issues:
  
'''nsec timestamps'''
+
=== nsec timestamps ===
  
* Primary developer: Andreas? Alex?
+
* Primary developer: Andreas Dilger
* Status: Patches available
+
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: Done
* e2fsprogs changes: Needed
+
* Outstanding issues:
  
'''inode version on disk'''
+
=== inode version on disk ===
  
* Primary developer: ?
+
* Primary developer: Jean-Noel Cordenner, Kalpak Shah
* Status: Prototype available
+
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: None
* e2fsprogs changes: Needed
+
* Outstanding issues: None
  
'''uninitialized groups'''
+
=== uninitialized block groups ===
  
* Primary developer: ?
+
* Primary developer: Andreas Dilger
* Status: Prototype available
+
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: Done
* e2fsprogs changes: Needed
+
* Outstanding issues: None
  
'''journal checksumming'''
+
=== journal checksumming ===
  
* Primary developer: Andreas?
+
* Primary developer: Darrick Wong
 
* Status: Prototype available
 
* Status: Prototype available
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: Done
* e2fsprogs changes: Needed
+
* Outstanding issues: None
  
'''persistent preallocation'''
+
=== persistent preallocation (fallocate) ===
  
* Primary developer: Suparna?
+
* Primary developer: Amit Arora, Suparna
* Status: In development
+
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: ?
+
* e2fsprogs changes: complete
* e2fsprogs changes: Needed
+
* Outstanding issues:
 +
 
 +
=== Online Defragmentation ===
 +
 
 +
* Primary developer: Takashi Sato
 +
* Status: Done
 +
* Related discussions
 +
  ext3 online defrag:
 +
  http://marc.theaimsgroup.com/?l=linux-fsdevel&m=116160640814410&w=2
 +
* Dependencies: Multiple block allocation from Alex Thomas
 +
* Change on-disk format: No
 +
* e2fsprogs changes: No
 +
* Outstanding issues:
 +
 
 +
=== First Class [[Quota]] Support ===
 +
 
 +
* Primary developer: Aditya Kali
 +
* Status: Done
 +
* Design document: [[Design For 1st Class Quota in Ext4]]
 +
* e2fsprogs changes: Done
 +
* Outstanding issues: None
 +
 
 +
=== Big Allocation Blocks ===
 +
 
 +
* Primary developer: Theodore Ts'o
 +
* Status: Done
 +
* Design document: [[Design for Big Allocation Blocks]]
 +
* e2fsprogs changes: Done
 +
* Outstanding issues: None
 +
 
 +
=== Metadata Checksums ===
 +
 
 +
* Primary developer: Darrick J. Wong
 +
* Status: Done
 +
* Design document: [[Ext4_Metadata_Checksums|Design for Metadata Checksums]]
 +
* e2fsprogs changes: Done
 +
* Disk format change needed: Minor tweaks to existing structures.  Old code will still be able to mount read-only.  tune2fs/e2fsck generally can make the changes without problems.
 +
* Outstanding issues: None
 +
 
 +
=== Large file support ===
 +
 
 +
* Primary Developer: Takashi Sato
 +
* status: Done
 +
* Change on-disk format:
 +
* e2fsprogs Changes: Done
 +
* Outstanding issues:
 +
 
 +
=== Large directory support ===
 +
 
 +
* Primary Developer: Liang Zhen, Artem Blagodarenko
 +
* status: Done
 +
* Change on-disk format: increase maximum htree level to 3, allow directories over 2GB
 +
* e2fsprogs Changes: Done
 +
* Outstanding issues: None

Latest revision as of 02:12, 26 August 2019

Contents

[edit] Introduction

This page contains information about new ext4 features which are currently under development.

For a description of Ext4 features as they appeared in the original 2.6.28 kernel when ext4 was first released, please see the Ext4 Kernelnewbies article.

[edit] Currently being worked on

[edit] Online Directory Shrink

[edit] Done

[edit] Multiblock Allocation

  • Primary developer: Alex Tomas
  • Status: Done
  • Changes on-disk format: No
  • e2fsprogs changes: No
  • Outstanding issues: None

[edit] Delayed Allocation

  • Primary developer: Alex Tomas
  • Status: Done
  • Changes on-disk format: No
  • e2fsprogs changes: No
  • Outstanding issues: None

[edit] Exceed 32000 subdirectory limit

  • Primary developer: Andreas Dilger
  • Status: Done
  • Changes on-disk format: Yes
  • e2fsprogs changes: done
  • Outstanding issues: None

[edit] directory Inodes reservation

  • Primary developer: Coly
  • Status: Patch available
  • Changes on-disk format: No
  • e2fsprogs changes: Needed
  • Outstanding issues:

[edit] nsec timestamps

  • Primary developer: Andreas Dilger
  • Status: Done
  • Change on-disk format: Yes
  • e2fsprogs changes: Done
  • Outstanding issues:

[edit] inode version on disk

  • Primary developer: Jean-Noel Cordenner, Kalpak Shah
  • Status: Done
  • Change on-disk format: Yes
  • e2fsprogs changes: None
  • Outstanding issues: None

[edit] uninitialized block groups

  • Primary developer: Andreas Dilger
  • Status: Done
  • Change on-disk format: Yes
  • e2fsprogs changes: Done
  • Outstanding issues: None

[edit] journal checksumming

  • Primary developer: Darrick Wong
  • Status: Prototype available
  • Change on-disk format: Yes
  • e2fsprogs changes: Done
  • Outstanding issues: None

[edit] persistent preallocation (fallocate)

  • Primary developer: Amit Arora, Suparna
  • Status: Done
  • Change on-disk format: Yes
  • e2fsprogs changes: complete
  • Outstanding issues:

[edit] Online Defragmentation

  • Primary developer: Takashi Sato
  • Status: Done
  • Related discussions
 ext3 online defrag:
 http://marc.theaimsgroup.com/?l=linux-fsdevel&m=116160640814410&w=2
  • Dependencies: Multiple block allocation from Alex Thomas
  • Change on-disk format: No
  • e2fsprogs changes: No
  • Outstanding issues:

[edit] First Class Quota Support

[edit] Big Allocation Blocks

[edit] Metadata Checksums

  • Primary developer: Darrick J. Wong
  • Status: Done
  • Design document: Design for Metadata Checksums
  • e2fsprogs changes: Done
  • Disk format change needed: Minor tweaks to existing structures. Old code will still be able to mount read-only. tune2fs/e2fsck generally can make the changes without problems.
  • Outstanding issues: None

[edit] Large file support

  • Primary Developer: Takashi Sato
  • status: Done
  • Change on-disk format:
  • e2fsprogs Changes: Done
  • Outstanding issues:

[edit] Large directory support

  • Primary Developer: Liang Zhen, Artem Blagodarenko
  • status: Done
  • Change on-disk format: increase maximum htree level to 3, allow directories over 2GB
  • e2fsprogs Changes: Done
  • Outstanding issues: None
Personal tools