f2fs: request for tree inclusion
Hi Linus,
This is the first pull request for tree inclusion of Flash-Friendly File System (F2FS) towards the 3.8 merge window.
http://lwn.net/Articles/518718/
http://lwn.net/Articles/518988/
http://en.wikipedia.org/wiki/F2FS
The f2fs has been in the linux-next tree for a while, and several issues have been cleared as described in the signed tag below.
And also, I've done testing f2fs successfully based on Linux 3.7 with the following test scenarios.
- Reliability test:
Run fsstress on an SSD partition.
- Robustness test:
Conduct sudden-power-off and examine the fs consistency repeatedly, while running a reliability test.
So, please pull the f2fs filesystem.
If I'm missing any issues or made mistakes, please let me know.
Thanks,
Jaegeuk Kim
The following changes since commit29594404d7fe73cd80eaa4ee8c43dcc53970c60e:
Linux 3.7 (2012-12-10 19:30:57 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-3.8-merge
for you to fetch changes up to 6666e6aa9f36b2bfd6b30072c07b34f2a24becf1:
f2fs: fix tracking parent inode number (2012-12-11 13:43:45 +0900)
----------------------------------------------------------------
Introduce a new file system, Flash-Friendly File System (F2FS), to Linux 3.8.
Highlights:
- Add initial f2fs source codes
- Fix an endian conversion bug
- Fix build failures on random configs
- Fix the power-off-recovery routine
- Minor cleanup, coding style, and typos patches
----------------------------------------------------------------
Greg Kroah-Hartman (1):
f2fs: move proc files to debugfs
Huajun Li (1):
f2fs: fix a typo in f2fs documentation
Jaegeuk Kim (22):
f2fs: add document
f2fs: add on-disk layout
f2fs: add superblock and major in-memory structure
f2fs: add super block operations
f2fs: add checkpoint operations
f2fs: add node operations
f2fs: add segment operations
f2fs: add file operations
f2fs: add address space operations for data
f2fs: add core inode operations
f2fs: add inode operations for special inodes
f2fs: add core directory operations
f2fs: add xattr and acl functionalities
f2fs: add garbage collection functions
f2fs: add recovery routines for roll-forward
f2fs: update Kconfig and Makefile
f2fs: update the f2fs document
f2fs: fix endian conversion bugs reported by sparse
f2fs: adjust kernel coding style
f2fs: resolve build failures
f2fs: cleanup the f2fs_bio_alloc routine
f2fs: fix tracking parent inode number
Namjae Jeon (10):
f2fs: fix the compiler warning for uninitialized use of variable
f2fs: show error in case of invalid mount arguments
f2fs: remove unneeded memset from init_once
f2fs: check read only condition before beginning write out
f2fs: remove unneeded initialization
f2fs: move error condition for mkdir at proper place
f2fs: rewrite f2fs_bio_alloc to make it simpler
f2fs: make use of GFP_F2FS_ZERO for setting gfp_mask
f2fs: remove redundant call to f2fs_put_page in delete entry
f2fs: introduce accessor to retrieve number of dentry slots
Sachin Kamat (1):
f2fs: remove unneeded version.h header file from f2fs.h
Wei Yongjun (1):
f2fs: remove unused variable
Documentation/filesystems/00-INDEX | 2 + Documentation/filesystems/f2fs.txt | 421 +++++++++ fs/Kconfig | 1 + fs/Makefile | 1 + fs/f2fs/Kconfig | 53 ++ fs/f2fs/Makefile | 7 + fs/f2fs/acl.c | 414 +++++++++ fs/f2fs/acl.h | 57 ++ fs/f2fs/checkpoint.c | 794 ++++++++++++++++ fs/f2fs/data.c | 702 ++++++++++++++ fs/f2fs/debug.c | 361 ++++++++ fs/f2fs/dir.c | 672 ++++++++++++++ fs/f2fs/f2fs.h | 1083 ++++++++++++++++++++++ fs/f2fs/file.c | 636 +++++++++++++ fs/f2fs/gc.c | 742 +++++++++++++++ fs/f2fs/gc.h | 117 +++ fs/f2fs/hash.c | 97 ++ fs/f2fs/inode.c | 268 ++++++ fs/f2fs/namei.c | 503 ++++++++++ fs/f2fs/node.c | 1764 +++++++++++++++++++++++++++++++++++ fs/f2fs/node.h | 353 +++++++ fs/f2fs/recovery.c | 375 ++++++++ fs/f2fs/segment.c | 1791 ++++++++++++++++++++++++++++++++++++ fs/f2fs/segment.h | 618 +++++++++++++ fs/f2fs/super.c | 657 +++++++++++++ fs/f2fs/xattr.c | 440 +++++++++ fs/f2fs/xattr.h | 145 +++ include/linux/f2fs_fs.h | 413 +++++++++ include/uapi/linux/magic.h | 1 + 29 files changed, 13488 insertions(+) create mode 100644 Documentation/filesystems/f2fs.txt create mode 100644 fs/f2fs/Kconfig create mode 100644 fs/f2fs/Makefile create mode 100644 fs/f2fs/acl.c create mode 100644 fs/f2fs/acl.h create mode 100644 fs/f2fs/checkpoint.c create mode 100644 fs/f2fs/data.c create mode 100644 fs/f2fs/debug.c create mode 100644 fs/f2fs/dir.c create mode 100644 fs/f2fs/f2fs.h create mode 100644 fs/f2fs/file.c create mode 100644 fs/f2fs/gc.c create mode 100644 fs/f2fs/gc.h create mode 100644 fs/f2fs/hash.c create mode 100644 fs/f2fs/inode.c create mode 100644 fs/f2fs/namei.c create mode 100644 fs/f2fs/node.c create mode 100644 fs/f2fs/node.h create mode 100644 fs/f2fs/recovery.c create mode 100644 fs/f2fs/segment.c create mode 100644 fs/f2fs/segment.h create mode 100644 fs/f2fs/super.c create mode 100644 fs/f2fs/xattr.c create mode 100644 fs/f2fs/xattr.h create mode 100644 include/linux/f2fs_fs.h
Signature · 2 lines
Jaegeuk Kim Samsung
Hi Linus,
I'm seeing that f2fs has not been merged yet.
Could you give me any notice for this?
Management priority, or something else?
BTW, I have added a couple of bug fixes since "for-3.8-merge". Which is better sending between [GIT PULL v2] or additional pull request after merge?
Thanks,
Jaegeuk Kim
2012-12-11 (화), 16:58 +0900, Jaegeuk Kim:
Quoted 158 lines
Hi Linus,
This is the first pull request for tree inclusion of Flash-Friendly File System (F2FS) towards the 3.8 merge window.
http://lwn.net/Articles/518718/
http://lwn.net/Articles/518988/
http://en.wikipedia.org/wiki/F2FSThe f2fs has been in the linux-next tree for a while, and several issues have been cleared as described in the signed tag below.
And also, I've done testing f2fs successfully based on Linux 3.7 with the following test scenarios.- Reliability test:
Run fsstress on an SSD partition.- Robustness test:
Conduct sudden-power-off and examine the fs consistency repeatedly, while running a reliability test.So, please pull the f2fs filesystem.
If I'm missing any issues or made mistakes, please let me know.Thanks,
Jaegeuk KimThe following changes since commit
29594404d7fe73cd80eaa4ee8c43dcc53970c60e:Linux 3.7 (2012-12-10 19:30:57 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-3.8-mergefor you to fetch changes up to
6666e6aa9f36b2bfd6b30072c07b34f2a24becf1:f2fs: fix tracking parent inode number (2012-12-11 13:43:45 +0900)
----------------------------------------------------------------
Introduce a new file system, Flash-Friendly File System (F2FS), to Linux 3.8.Highlights:
- Add initial f2fs source codes
- Fix an endian conversion bug
- Fix build failures on random configs
- Fix the power-off-recovery routine
- Minor cleanup, coding style, and typos patches
----------------------------------------------------------------
Greg Kroah-Hartman (1):
f2fs: move proc files to debugfsHuajun Li (1):
f2fs: fix a typo in f2fs documentationJaegeuk Kim (22):
f2fs: add document
f2fs: add on-disk layout
f2fs: add superblock and major in-memory structure
f2fs: add super block operations
f2fs: add checkpoint operations
f2fs: add node operations
f2fs: add segment operations
f2fs: add file operations
f2fs: add address space operations for data
f2fs: add core inode operations
f2fs: add inode operations for special inodes
f2fs: add core directory operations
f2fs: add xattr and acl functionalities
f2fs: add garbage collection functions
f2fs: add recovery routines for roll-forward
f2fs: updateKconfigandMakefile
f2fs: update the f2fs document
f2fs: fix endian conversion bugs reported by sparse
f2fs: adjust kernel coding style
f2fs: resolve build failures
f2fs: cleanup thef2fs_bio_allocroutine
f2fs: fix tracking parent inode numberNamjae Jeon (10):
f2fs: fix the compiler warning for uninitialized use of variable
f2fs: show error in case of invalid mount arguments
f2fs: remove unneeded memset frominit_once
f2fs: check read only condition before beginning write out
f2fs: remove unneeded initialization
f2fs: move error condition for mkdir at proper place
f2fs: rewritef2fs_bio_allocto make it simpler
f2fs: make use ofGFP_F2FS_ZEROfor settinggfp_mask
f2fs: remove redundant call tof2fs_put_pagein delete entry
f2fs: introduce accessor to retrieve number of dentry slotsSachin Kamat (1):
f2fs: remove unneededversion.hheader file fromf2fs.hWei Yongjun (1):
f2fs: remove unused variableDocumentation/filesystems/00-INDEX | 2 + Documentation/filesystems/f2fs.txt | 421 +++++++++ fs/Kconfig | 1 + fs/Makefile | 1 + fs/f2fs/Kconfig | 53 ++ fs/f2fs/Makefile | 7 + fs/f2fs/acl.c | 414 +++++++++ fs/f2fs/acl.h | 57 ++ fs/f2fs/checkpoint.c | 794 ++++++++++++++++ fs/f2fs/data.c | 702 ++++++++++++++ fs/f2fs/debug.c | 361 ++++++++ fs/f2fs/dir.c | 672 ++++++++++++++ fs/f2fs/f2fs.h | 1083 ++++++++++++++++++++++ fs/f2fs/file.c | 636 +++++++++++++ fs/f2fs/gc.c | 742 +++++++++++++++ fs/f2fs/gc.h | 117 +++ fs/f2fs/hash.c | 97 ++ fs/f2fs/inode.c | 268 ++++++ fs/f2fs/namei.c | 503 ++++++++++ fs/f2fs/node.c | 1764 +++++++++++++++++++++++++++++++++++ fs/f2fs/node.h | 353 +++++++ fs/f2fs/recovery.c | 375 ++++++++ fs/f2fs/segment.c | 1791 ++++++++++++++++++++++++++++++++++++ fs/f2fs/segment.h | 618 +++++++++++++ fs/f2fs/super.c | 657 +++++++++++++ fs/f2fs/xattr.c | 440 +++++++++ fs/f2fs/xattr.h | 145 +++ include/linux/f2fs_fs.h | 413 +++++++++ include/uapi/linux/magic.h | 1 + 29 files changed, 13488 insertions(+) create mode 100644 Documentation/filesystems/f2fs.txt create mode 100644 fs/f2fs/Kconfig create mode 100644 fs/f2fs/Makefile create mode 100644 fs/f2fs/acl.c create mode 100644 fs/f2fs/acl.h create mode 100644 fs/f2fs/checkpoint.c create mode 100644 fs/f2fs/data.c create mode 100644 fs/f2fs/debug.c create mode 100644 fs/f2fs/dir.c create mode 100644 fs/f2fs/f2fs.h create mode 100644 fs/f2fs/file.c create mode 100644 fs/f2fs/gc.c create mode 100644 fs/f2fs/gc.h create mode 100644 fs/f2fs/hash.c create mode 100644 fs/f2fs/inode.c create mode 100644 fs/f2fs/namei.c create mode 100644 fs/f2fs/node.c create mode 100644 fs/f2fs/node.h create mode 100644 fs/f2fs/recovery.c create mode 100644 fs/f2fs/segment.c create mode 100644 fs/f2fs/segment.h create mode 100644 fs/f2fs/super.c create mode 100644 fs/f2fs/xattr.c create mode 100644 fs/f2fs/xattr.h create mode 100644 include/linux/f2fs_fs.h
Signature · 2 lines
Jaegeuk Kim Samsung
Hi Linus,
An early prototype of this:
https://wiki.linaro.org/WorkingGroups/Kernel/Specs/flash-file-system-prototype
Are you still testing it ?
Quoted 173 lines · Jaegeuk Kim
Hi Linus,
I'm seeing that f2fs has not been merged yet.
Could you give me any notice for this?
Management priority, or something else?BTW, I have added a couple of bug fixes since "for-3.8-merge". Which is better sending between [GIT PULL v2] or additional pull request after merge?
Thanks,
Jaegeuk Kim2012-12-11 (화), 16:58 +0900, Jaegeuk Kim:
Quoted 149 lines
Hi Linus,
This is the first pull request for tree inclusion of Flash-Friendly File System (F2FS) towards the 3.8 merge window.
http://lwn.net/Articles/518718/
http://lwn.net/Articles/518988/
http://en.wikipedia.org/wiki/F2FSThe f2fs has been in the linux-next tree for a while, and several issues have been cleared as described in the signed tag below.
And also, I've done testing f2fs successfully based on Linux 3.7 with the following test scenarios.- Reliability test:
Run fsstress on an SSD partition.- Robustness test:
Conduct sudden-power-off and examine the fs consistency repeatedly, while running a reliability test.So, please pull the f2fs filesystem.
If I'm missing any issues or made mistakes, please let me know.Thanks,
Jaegeuk KimThe following changes since commit
29594404d7fe73cd80eaa4ee8c43dcc53970c60e:Linux 3.7 (2012-12-10 19:30:57 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-3.8-mergefor you to fetch changes up to
6666e6aa9f36b2bfd6b30072c07b34f2a24becf1:f2fs: fix tracking parent inode number (2012-12-11 13:43:45 +0900)
----------------------------------------------------------------
Introduce a new file system, Flash-Friendly File System (F2FS), to Linux 3.8.Highlights:
- Add initial f2fs source codes
- Fix an endian conversion bug
- Fix build failures on random configs
- Fix the power-off-recovery routine
- Minor cleanup, coding style, and typos patches
----------------------------------------------------------------
Greg Kroah-Hartman (1):
f2fs: move proc files to debugfsHuajun Li (1):
f2fs: fix a typo in f2fs documentationJaegeuk Kim (22):
f2fs: add document
f2fs: add on-disk layout
f2fs: add superblock and major in-memory structure
f2fs: add super block operations
f2fs: add checkpoint operations
f2fs: add node operations
f2fs: add segment operations
f2fs: add file operations
f2fs: add address space operations for data
f2fs: add core inode operations
f2fs: add inode operations for special inodes
f2fs: add core directory operations
f2fs: add xattr and acl functionalities
f2fs: add garbage collection functions
f2fs: add recovery routines for roll-forward
f2fs: updateKconfigandMakefile
f2fs: update the f2fs document
f2fs: fix endian conversion bugs reported by sparse
f2fs: adjust kernel coding style
f2fs: resolve build failures
f2fs: cleanup thef2fs_bio_allocroutine
f2fs: fix tracking parent inode numberNamjae Jeon (10):
f2fs: fix the compiler warning for uninitialized use of variable
f2fs: show error in case of invalid mount arguments
f2fs: remove unneeded memset frominit_once
f2fs: check read only condition before beginning write out
f2fs: remove unneeded initialization
f2fs: move error condition for mkdir at proper place
f2fs: rewritef2fs_bio_allocto make it simpler
f2fs: make use ofGFP_F2FS_ZEROfor settinggfp_mask
f2fs: remove redundant call tof2fs_put_pagein delete entry
f2fs: introduce accessor to retrieve number of dentry slotsSachin Kamat (1):
f2fs: remove unneededversion.hheader file fromf2fs.hWei Yongjun (1):
f2fs: remove unused variableDocumentation/filesystems/00-INDEX | 2 + Documentation/filesystems/f2fs.txt | 421 +++++++++ fs/Kconfig | 1 + fs/Makefile | 1 + fs/f2fs/Kconfig | 53 ++ fs/f2fs/Makefile | 7 + fs/f2fs/acl.c | 414 +++++++++ fs/f2fs/acl.h | 57 ++ fs/f2fs/checkpoint.c | 794 ++++++++++++++++ fs/f2fs/data.c | 702 ++++++++++++++ fs/f2fs/debug.c | 361 ++++++++ fs/f2fs/dir.c | 672 ++++++++++++++ fs/f2fs/f2fs.h | 1083 ++++++++++++++++++++++ fs/f2fs/file.c | 636 +++++++++++++ fs/f2fs/gc.c | 742 +++++++++++++++ fs/f2fs/gc.h | 117 +++ fs/f2fs/hash.c | 97 ++ fs/f2fs/inode.c | 268 ++++++ fs/f2fs/namei.c | 503 ++++++++++ fs/f2fs/node.c | 1764 +++++++++++++++++++++++++++++++++++ fs/f2fs/node.h | 353 +++++++ fs/f2fs/recovery.c | 375 ++++++++ fs/f2fs/segment.c | 1791 ++++++++++++++++++++++++++++++++++++ fs/f2fs/segment.h | 618 +++++++++++++ fs/f2fs/super.c | 657 +++++++++++++ fs/f2fs/xattr.c | 440 +++++++++ fs/f2fs/xattr.h | 145 +++ include/linux/f2fs_fs.h | 413 +++++++++ include/uapi/linux/magic.h | 1 + 29 files changed, 13488 insertions(+) create mode 100644 Documentation/filesystems/f2fs.txt create mode 100644 fs/f2fs/Kconfig create mode 100644 fs/f2fs/Makefile create mode 100644 fs/f2fs/acl.c create mode 100644 fs/f2fs/acl.h create mode 100644 fs/f2fs/checkpoint.c create mode 100644 fs/f2fs/data.c create mode 100644 fs/f2fs/debug.c create mode 100644 fs/f2fs/dir.c create mode 100644 fs/f2fs/f2fs.h create mode 100644 fs/f2fs/file.c create mode 100644 fs/f2fs/gc.c create mode 100644 fs/f2fs/gc.h create mode 100644 fs/f2fs/hash.c create mode 100644 fs/f2fs/inode.c create mode 100644 fs/f2fs/namei.c create mode 100644 fs/f2fs/node.cQuoted 9 lines
create mode 100644 fs/f2fs/node.h create mode 100644 fs/f2fs/recovery.c create mode 100644 fs/f2fs/segment.c create mode 100644 fs/f2fs/segment.h create mode 100644 fs/f2fs/super.c create mode 100644 fs/f2fs/xattr.c create mode 100644 fs/f2fs/xattr.h create mode 100644 include/linux/f2fs_fs.h
Quoted 3 lines
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 7 lines · Anca Emanuel
Hi Linus,
An early prototype of this:
https://wiki.linaro.org/WorkingGroups/Kernel/Specs/flash-file-system-prototypeAre you still testing it ?
The prototype was an earlier and independent work done as an internship in Linaro. It resulted in very valuable insights, some of which ended up being integrated into f2fs, but we decided not to follow up on that work since f2fs is far superior overall and has a dedicated team working on it. There are a few features from the prototype that we might want to add in f2fs, but those can be implemented as compatible changes later.
Arnd