TODO list

From Ext4
(Difference between revisions)
Jump to: navigation, search
(Update with 2010 agenda as discussed on the ext4 concall)
Line 1: Line 1:
 
=== EXT4 TODO list ===
 
=== EXT4 TODO list ===
  
* Patches from Lustre
+
* 64-bit support in e2fsprogs (Ted Ts'o)
** MMP  -- Prevent multiple mounts as a last-ditch failsafe when HA management software goes insane when STONITH fails, etc.  (shipping to Lustre Customers)
+
* dioread_nolock cleanup (Jiayang Zhang)
** Large Extended Attributes (shipping to Lustre Customers)
+
** flexible storage of new metadata in directories
+
** journal-guided RAID resync
+
** badness inode hueristic for e2fsck
+
  
* 64-bit support in e2fsprogs
 
* Lock contention issues for Direct I/O (from Jiayang Zhang)
 
* SSD Trim support (we should test using OCZ Vertex and Intel X25-M)
 
 
* Delayed allocation / fallocate bug
 
* Delayed allocation / fallocate bug
 +
 +
* more intelligent handling of bad journal checksums in e2fsck
 +
 +
* test journal checksums under power fail conditions
 +
 +
* SSD Trim support (we should test using OCZ Vertex and Intel X25-M)
  
 
* Improve merging of adjacent extents in the extent tree (i.e., both to the left and to the right)
 
* Improve merging of adjacent extents in the extent tree (i.e., both to the left and to the right)
Line 20: Line 19:
 
** Add interfaces to control block allocation decisions to kernel (other users for this functionality?  boot speedup, package installation, fancy database code, etc.  This may impact how we design this interface if it becomes more than just an internal defrag interface)
 
** Add interfaces to control block allocation decisions to kernel (other users for this functionality?  boot speedup, package installation, fancy database code, etc.  This may impact how we design this interface if it becomes more than just an internal defrag interface)
 
** Make defrag userspace code smart enough to use this to make holistic defrag decisions and be able to defrag free space, not just reduce the number of contiguous extents in a file.
 
** Make defrag userspace code smart enough to use this to make holistic defrag decisions and be able to defrag free space, not just reduce the number of contiguous extents in a file.
 +
 +
* Patches from Lustre
 +
** MMP  -- Prevent multiple mounts as a last-ditch failsafe when HA management software goes insane when STONITH fails, etc.  (shipping to Lustre Customers)
 +
** Large Extended Attributes (shipping to Lustre Customers)
 +
** flexible storage of new metadata in directories
 +
** journal-guided RAID resync
 +
** badness inode hueristic for e2fsck
  
 
* NUMA/CPU affinity support.  (Eric Whitney was going to work on this)
 
* NUMA/CPU affinity support.  (Eric Whitney was going to work on this)

Revision as of 16:01, 8 March 2010

EXT4 TODO list

  • 64-bit support in e2fsprogs (Ted Ts'o)
  • dioread_nolock cleanup (Jiayang Zhang)
  • Delayed allocation / fallocate bug
  • more intelligent handling of bad journal checksums in e2fsck
  • test journal checksums under power fail conditions
  • SSD Trim support (we should test using OCZ Vertex and Intel X25-M)
  • Improve merging of adjacent extents in the extent tree (i.e., both to the left and to the right)
    • Investigate better code factorization in all of the places that manipulate the extent tree (ext4_get_blocks, fallocate, direct I/O, uninit-to-init conversion code)
  • Defragmentation support
    • Audit and clean up existing code
    • Add interfaces to control block allocation decisions to kernel (other users for this functionality? boot speedup, package installation, fancy database code, etc. This may impact how we design this interface if it becomes more than just an internal defrag interface)
    • Make defrag userspace code smart enough to use this to make holistic defrag decisions and be able to defrag free space, not just reduce the number of contiguous extents in a file.
  • Patches from Lustre
    • MMP -- Prevent multiple mounts as a last-ditch failsafe when HA management software goes insane when STONITH fails, etc. (shipping to Lustre Customers)
    • Large Extended Attributes (shipping to Lustre Customers)
    • flexible storage of new metadata in directories
    • journal-guided RAID resync
    • badness inode hueristic for e2fsck
  • NUMA/CPU affinity support. (Eric Whitney was going to work on this)
  • Lazy ininitialization code (to speed up mke2fs)
  • Add inode checksums in the inode table (another way to speed up mke2fs; also useful for detecting when a disk writes an inode table block to the wrong part of disk)
  • Better recovery from a bad per-transaction checksum
    • Teach e2fsck to request permission to skip a bad transaction, but to replay subsequent transactions, and then force a full fsck afterwards. (If we are lucky the subsequent transactions will contain newer versions of the blocks that were skipped when the transaction with the bad checksum was skipped.)
    • Add per-block checksums in the journal.
Personal tools