New ext4 features

From Ext4
(Difference between revisions)
Jump to: navigation, search
(Delayed Allocation)
(update with recent features)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
== 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 ===
 
=== Multiblock Allocation ===
  
 
* Primary developer: Alex Tomas
 
* Primary developer: Alex Tomas
* Status: Patches available - ready to push to mainline
+
* Status: Done
 
* Changes on-disk format: No
 
* Changes on-disk format: No
* Target Date: ?
 
 
* e2fsprogs changes: No
 
* e2fsprogs changes: No
* outstanding issues: None
+
* Outstanding issues: None
  
=== Delayed Allocation ===
+
=== [[DelayedAllocation|Delayed Allocation]] ===
  
 
* Primary developer: Alex Tomas
 
* Primary developer: Alex Tomas
* Status: Patches in unstable patch series
+
* Status: Done
 
* Changes on-disk format: No
 
* Changes on-disk format: No
* Target Date: (in patch queue)
 
 
* e2fsprogs changes: No
 
* e2fsprogs changes: No
* outstanding issues: handling 1k,2k block size and default data=order mode, ENOSPC handling
+
* Outstanding issues: None
  
=== Break 32000 subdirectory limit ===
+
=== Exceed 32000 subdirectory limit ===
  
* Primary developer: Andreas
+
* Primary developer: Andreas Dilger
 
* Status: Done
 
* Status: Done
 
* Changes on-disk format: Yes
 
* Changes on-disk format: Yes
* Target Date: (in patch queue)
 
 
* e2fsprogs changes: done
 
* e2fsprogs changes: done
* outstanding issues: None
+
* Outstanding issues: None
  
 
=== directory Inodes reservation ===
 
=== directory Inodes reservation ===
Line 31: Line 46:
 
* Status: Patch available
 
* Status: Patch available
 
* Changes on-disk format: No
 
* Changes on-disk format: No
* Target Date: Nov, 2007
 
 
* e2fsprogs changes: Needed
 
* e2fsprogs changes: Needed
* outstanding issues:  
+
* Outstanding issues:  
  
 
=== nsec timestamps ===
 
=== nsec timestamps ===
  
* Primary developer: Andreas
+
* Primary developer: Andreas Dilger
 
* Status: Done
 
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: (in patch queue)
 
 
* e2fsprogs changes: Done
 
* e2fsprogs changes: Done
* outstanding issues:
+
* Outstanding issues:
  
 
=== inode version on disk ===
 
=== inode version on disk ===
Line 49: Line 62:
 
* Status: Done
 
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: (in patch queue)
 
 
* e2fsprogs changes: None
 
* e2fsprogs changes: None
* outstanding issues: None
+
* Outstanding issues: None
  
=== uninitialized groups ===
+
=== uninitialized block groups ===
  
 
* Primary developer: Andreas Dilger
 
* Primary developer: Andreas Dilger
 
* Status: Done
 
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: (in patch queue)
 
 
* e2fsprogs changes: Done
 
* e2fsprogs changes: Done
* outstanding issues: lazy zeroing of unused inode table blocks after filesystem is first mounted
+
* 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: (in patch queue)
+
* e2fsprogs changes: Done
* e2fsprogs changes: Needed
+
* Outstanding issues: None
* outstanding issues:
+
  
=== persistent preallocation ===
+
=== persistent preallocation (fallocate) ===
  
 
* Primary developer: Amit Arora, Suparna
 
* Primary developer: Amit Arora, Suparna
* Status: Patches available and reviewed
+
* Status: Done
 
* Change on-disk format: Yes
 
* Change on-disk format: Yes
* Target Date: Once interface issue is resolved
 
 
* e2fsprogs changes: complete
 
* e2fsprogs changes: complete
* outstanding issues: Need consensus on what interface should be used (ioctl, fcntl..), should return value be zero or number of block allocated on success
+
* Outstanding issues:
  
 
=== Online Defragmentation ===
 
=== Online Defragmentation ===
  
 
* Primary developer: Takashi Sato
 
* Primary developer: Takashi Sato
* Status:
+
* Status: Done
  latest patch: v0.2 posted on Jan 10th.
+
  Previous tries:
+
  http://marc.theaimsgroup.com/?l=linux-ext4&m=116678507906760&w=2
+
  http://marc.theaimsgroup.com/?l=linux-ext4&m=116307062907075&w=2
+
 
* Related discussions
 
* Related discussions
 
   ext3 online defrag:
 
   ext3 online defrag:
Line 93: Line 98:
 
* Dependencies: Multiple block allocation from Alex Thomas
 
* Dependencies: Multiple block allocation from Alex Thomas
 
* Change on-disk format: No
 
* Change on-disk format: No
* Target Date:
 
 
* e2fsprogs changes: No
 
* e2fsprogs changes: No
* outstanding issues:  
+
* Outstanding issues:  
 
+
=== Undelete Feature for Ext4 ===
+
  
* Primary Developer:  
+
=== First Class [[Quota]] Support ===
* status: Idea was proposed on the mailing list, still need more thought on the feature.
+
 
* Change on-disk format:
+
* Primary developer: Aditya Kali
* Target Date:
+
* Status: Done
* e2fsprogs changes:
+
* Design document: [[Design For 1st Class Quota in Ext4]]
* outstanding issues: Should the kernel be involved with undelete
+
* 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 ===
 
=== Large file support ===
  
 
* Primary Developer: Takashi Sato
 
* Primary Developer: Takashi Sato
* status: Increase 2Tb limit on filesize. Takashi has begun working on this.
+
* status: Done
 
* Change on-disk format:
 
* Change on-disk format:
* Target Date:
+
* e2fsprogs Changes: Done
* e2fsprogs Changes: Needed
+
* Outstanding issues:
* outstanding issues: unknown
+
 
 +
=== 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