This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
development [2016/07/26 23:21] Jaegeuk Kim [TODO list] |
development [2017/07/12 01:03] (current) Jaegeuk Kim [Implemented Features] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Features ====== | + | ====== F2FS Backports ====== |
- | * Multi-head logging | + | * [[http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-stable.git/log/?h=linux-3.4.y|v3.4]] |
- | * Multi-level hash table for directory entries | + | * [[http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-stable.git/log/?h=linux-3.10.y|v3.10]] |
- | * Static/Dynamic hot and cold data separation | + | * [[http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-stable.git/log/?h=linux-3.18.y|v3.18]] |
- | * Adaptive logging scheme | + | * [[http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-stable.git/log/?h=linux-4.1.y|v4.1]] |
- | * Configurable operational units | + | * [[http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-stable.git/log/?h=linux-4.2.y|v4.2]] |
- | * Dual checkpoint | + | |
- | * Roll-back and roll-forward recovery | + | |
- | * Heap-style block allocation | + | |
- | * TRIM/FITRIM support(([[http://www.gossamer-threads.com/lists/linux/kernel/2012038#2012038|f2fs: introduce FITRIM in f2fs_ioctl]])) | + | |
- | * Online fs defragmentation/file defragmentation(([[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03139.html|f2fs: support file defragment]])) | + | |
- | * Inline xattrs(([[https://lkml.org/lkml/2013/8/26/159|f2fs: add flags for inline xattrs]]))/data(([[https://lwn.net/Articles/573408/|f2fs: Enable f2fs support inline data]]))/dir(([[https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg01641.html|f2fs: support inline dir]])) | + | |
- | * Offline filesystem check (Check and fix inconsistency)(([[https://lkml.org/lkml/2014/9/20/104|f2fs-tools: release 1.4.0]])) | + | |
- | * Atomic operations(([[https://www.spinics.net/lists/kernel/msg1834034.html|f2fs: support atomic_write feature for database]])) | + | |
- | * Filesystem-level encryption(([[https://marc.info/?l=linux-kernel&m=143517753413580|f2fs updates for v4.2]])) | + | |
- | * Offline resizing(([[https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg04247.html|resize.f2fs: support to expand partition size]])) | + | |
- | * Inner periodically data flush(([[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03306.html|f2fs: support data flush in background]])) | + | |
- | * Extent cache(([[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg02024.html|f2fs: enable rb-tree extent cache]])) | + | |
- | * move_file_range | + | |
- | ====== TODO list ====== | + | |
+ | ====== TODO List ====== | ||
+ | |||
+ | * FS Fuzzing (AFL) | ||
+ | * +16TB support | ||
+ | * Open-channel SSD/ lightNVM FTL | ||
* Snapshot | * Snapshot | ||
+ | * Transaction support | ||
* Transparent compression | * Transparent compression | ||
* [[tiered|Tiered storages]] | * [[tiered|Tiered storages]] | ||
Line 31: | Line 23: | ||
* Removable device support | * Removable device support | ||
* Windows driver supporting F2FS | * Windows driver supporting F2FS | ||
+ | * multi-channel SSD | ||
+ | * orangeFS | ||
+ | * [[https://lists.gnu.org/archive/html/grub-devel/2016-03/msg00080.html|F2FS support for GRUB2 (pending)]] | ||
+ | ====== Implemented Features ====== | ||
+ | |||
+ | * Multi-head logging | ||
+ | * Multi-level hash table for directory entries | ||
+ | * Static/Dynamic hot and cold data separation | ||
+ | * Adaptive logging scheme | ||
+ | * Configurable operational units | ||
+ | * Dual checkpoint | ||
+ | * Roll-back and roll-forward recovery | ||
+ | * Heap-style block allocation | ||
+ | * [[http://www.gossamer-threads.com/lists/linux/kernel/2012038#2012038|TRIM/FITRIM support]] | ||
+ | * [[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03139.html|Online fs defragmentation/file defragmentation]] | ||
+ | * [[https://lkml.org/lkml/2013/8/26/159|Inline xattrs]] | ||
+ | * [[https://lwn.net/Articles/573408/|Inline data]] | ||
+ | * [[https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg01641.html|Inline dir]] | ||
+ | * [[https://lkml.org/lkml/2014/9/20/104|Offline filesystem check (Check and fix inconsistency)]] | ||
+ | * [[https://www.spinics.net/lists/kernel/msg1834034.html|Atomic operations]] | ||
+ | * [[https://marc.info/?l=linux-kernel&m=143517753413580|Filesystem-level encryption]] | ||
+ | * [[https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg04247.html|Offline resizing]] | ||
+ | * [[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03306.html|Inner periodically data flush]] | ||
+ | * [[https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg02024.html|Extent cache]] | ||
+ | * [[https://lkml.org/lkml/2016/7/20/693|Move_file_range]] | ||
+ | * [[https://patchwork.kernel.org/patch/9176483/|Host-managed SMR]] | ||
+ | * [[https://www.spinics.net/lists/kernel/msg2379456.html|Multiple devices support]] | ||
+ | * [[https://patchwork.kernel.org/patch/9492415/|Large IO submission]] | ||
+ | * [[https://patchwork.kernel.org/patch/9831489/|Disk Quota (user/group)]] |