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 ===
  
== Kernelspace ==
+
* Patches from Lustre
* Handle lazy itable init in kernelspace
+
** MMP  -- Prevent multiple mounts as a last-ditch failsafe when HA management software goes insane when STONITH fails, etc.  (shipping to Lustre Customers)
* Better merging of adjacent extents
+
** Large Extended Attributes (shipping to Lustre Customers)
 +
** flexible storage of new metadata in directories
 +
** journal-guided RAID resync
 +
** badness inode hueristic for e2fsck
  
== Userspace ==
+
* 64-bit support in e2fsprogs
* 64-bit support
+
* Lock contention issues for Direct I/O (from Jiayang Zhang)
* Less memory-intensive bitmap representation in fsck
+
* SSD Trim support (we should test using OCZ Vertex and Intel X25-M)
* add support for 64k->256k blocksizes (rec_len handling)
+
* Delayed allocation / fallocate bug
 +
 
 +
* 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.
 +
 
 +
* 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.

Revision as of 21:47, 5 January 2010

EXT4 TODO list

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