linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/16 v3] f2fs: introduce flash-friendly file system
@ 2012-10-31  9:35 Jaegeuk Kim
  2012-10-31  9:38 ` [PATCH 01/17] f2fs: add document Jaegeuk Kim
                   ` (17 more replies)
  0 siblings, 18 replies; 39+ messages in thread
From: Jaegeuk Kim @ 2012-10-31  9:35 UTC (permalink / raw)
  To: linux-fsdevel, linux-kernel, gregkh, viro, arnd, tytso, chur.lee,
	cm224.lee, jooyoung.hwang

Change log from v2:

 o Fix compilation error for arm [Max]
 o Move proc entries to debugfs [Greg]
 o Add i_atime, i_generation, etc [Neil]
 o Support NFS export [Changman]
 o Move the f2fs magic number [Marco]
 o Add s_time_gran [Marco]
 o Fix f2fs_truncate [Marco]
 o Enhance f2fs document [Vyacheslav]
 o Support uuid and add additional comments [Vyacheslav]
 o Change superblock offset [Vyacheslav]
 o Fix some bugs and return values [Vyacheslav]
 o Improve initial mount time [Jaegeuk]
 o Fix f2fs-tools environment [Mike]

I've set up a git tree in sf.net for f2fs-tools.
Please download f2fs-tools by tag: for_patch_set_v3.

--------------------------------------------------------------------------------
Change log from v1:

 o Apply the recent user namespace changes [Eric]
 o Remove unnecessary condition check [Al]
 o Fix wrong description [Stefan]
 o Fix f2fs document [Randy]
 o Enlarge the volume label length to 256 unicodes [Martin]
 o Support time resolution to nano scale [Boaz]
 o Fix the wrong use of endian conversion [David]
 o Fix the use of mutex and spinlocks [David]
 o Remove the use of __GFP_NOFAIL, etc [Neil]
 o Change the flow for readability [Neil]
 o Reduce the lock contention in CP [Neil]
 o Support multiples of section size [Arnd]
 o Support configurable extension list [Arnd]
 o Support configurable active log numbers [Arnd]

[Furture works]
 o Aware of file access pattern
 o Erase block indirect
 o Sub-page write avoidance
 o in-line data
 o xattr optimization/in-line xattrs

I really appreciate the valuable comments from all of you in community.

--------------------------------------------------------------------------------

This is a new patch set for the f2fs file system.

What is F2FS?
=============

NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have
been widely being used for ranging from mobile to server systems. Since they are
known to have different characteristics from the conventional rotational disks,
a file system, an upper layer to the storage device, should adapt to the changes
from the sketch.

F2FS is a new file system carefully designed for the NAND flash memory-based storage
devices. We chose a log structure file system approach, but we tried to adapt it
to the new form of storage. Also we remedy some known issues of the very old log
structured file system, such as snowball effect of wandering tree and high cleaning
overhead.

Because a NAND-based storage device shows different characteristics according to
its internal geometry or flash memory management scheme aka FTL, we add various
parameters not only for configuring on-disk layout, but also for selecting allocation
and cleaning algorithms.

Patch set
=========

The patch #1 adds a document to Documentation/filesystems/.
The patch #2 adds a header file of on-disk layout to include/linux/.
The patches #3-#16 adds f2fs source files to fs/f2fs/.
The Last patch, patch #16, updates Makefile and Kconfig.

mkfs.f2fs
=========

The file system formatting tool, "mkfs.f2fs", is available from the following
download page:		http://sourceforge.net/projects/f2fs-tools/

Usage
=====

If you'd like to experience f2fs, simply:
 # mkfs.f2fs /dev/sdb1
 # mount -t f2fs /dev/sdb1 /mnt/f2fs

Short log
=========

Jaegeuk Kim (17):
  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: move proc files to debugfs
  f2fs: update Kconfig and Makefile

 Documentation/filesystems/00-INDEX |    2 +
 Documentation/filesystems/f2fs.txt |  417 +++++++++
 fs/Kconfig                         |    1 +
 fs/Makefile                        |    1 +
 fs/f2fs/Kconfig                    |   52 ++
 fs/f2fs/Makefile                   |    7 +
 fs/f2fs/acl.c                      |  465 ++++++++++
 fs/f2fs/acl.h                      |   57 ++
 fs/f2fs/checkpoint.c               |  792 ++++++++++++++++
 fs/f2fs/data.c                     |  701 ++++++++++++++
 fs/f2fs/debug.c                    |  361 ++++++++
 fs/f2fs/dir.c                      |  674 ++++++++++++++
 fs/f2fs/f2fs.h                     | 1062 +++++++++++++++++++++
 fs/f2fs/file.c                     |  637 +++++++++++++
 fs/f2fs/gc.c                       |  742 +++++++++++++++
 fs/f2fs/gc.h                       |  117 +++
 fs/f2fs/hash.c                     |   98 ++
 fs/f2fs/inode.c                    |  266 ++++++
 fs/f2fs/namei.c                    |  504 ++++++++++
 fs/f2fs/node.c                     | 1763 +++++++++++++++++++++++++++++++++++
 fs/f2fs/node.h                     |  353 +++++++
 fs/f2fs/recovery.c                 |  375 ++++++++
 fs/f2fs/segment.c                  | 1798 ++++++++++++++++++++++++++++++++++++
 fs/f2fs/segment.h                  |  615 ++++++++++++
 fs/f2fs/super.c                    |  656 +++++++++++++
 fs/f2fs/xattr.c                    |  389 ++++++++
 fs/f2fs/xattr.h                    |  145 +++
 include/linux/f2fs_fs.h            |  410 ++++++++
 include/uapi/linux/magic.h         |    1 +
 29 files changed, 13461 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

-- 
1.7.9.5




---
Jaegeuk Kim
Samsung




^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2012-11-26 21:06 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-31  9:35 [PATCH 00/16 v3] f2fs: introduce flash-friendly file system Jaegeuk Kim
2012-10-31  9:38 ` [PATCH 01/17] f2fs: add document Jaegeuk Kim
2012-10-31  9:39 ` [PATCH 02/17] f2fs: add on-disk layout Jaegeuk Kim
2012-10-31  9:41 ` [PATCH 03/17] f2fs: add superblock and major in-memory structure Jaegeuk Kim
2012-10-31  9:58   ` [PATCH 03/17 v2] " Jaegeuk Kim
2012-10-31 22:53     ` [PATCH 03/17 v3] " Jaegeuk Kim
2012-10-31  9:41 ` [PATCH 04/17] f2fs: add super block operations Jaegeuk Kim
2012-10-31  9:43 ` [PATCH 05/17] f2fs: add checkpoint operations Jaegeuk Kim
2012-10-31  9:44 ` [PATCH 06/17] f2fs: add node operations Jaegeuk Kim
2012-10-31  9:44 ` [PATCH 08/17] f2fs: add file operations Jaegeuk Kim
2012-10-31  9:45 ` [PATCH 09/17] f2fs: add address space operations for data Jaegeuk Kim
2012-10-31  9:46 ` [PATCH 10/17] f2fs: add core inode operations Jaegeuk Kim
2012-10-31  9:47 ` [PATCH 11/17] f2fs: add inode operations for special inodes Jaegeuk Kim
2012-10-31  9:47 ` [PATCH 12/17] f2fs: add core directory operations Jaegeuk Kim
2012-10-31  9:48 ` [PATCH 13/17] f2fs: add xattr and acl functionalities Jaegeuk Kim
2012-10-31  9:48 ` [PATCH 14/17] f2fs: add garbage collection functions Jaegeuk Kim
2012-10-31  9:48 ` [PATCH 15/17] f2fs: add recovery routines for roll-forward Jaegeuk Kim
2012-10-31  9:49 ` [PATCH 16/17] f2fs: move proc files to debugfs Jaegeuk Kim
2012-10-31 15:51   ` Greg KH
2012-10-31 21:48     ` Jaegeuk Kim
2012-10-31 22:38       ` [PATCH 16/17 v2] " Jaegeuk Kim
2012-10-31 22:50         ` 'Greg KH'
2012-10-31  9:50 ` [PATCH 17/17] f2fs: update Kconfig and Makefile Jaegeuk Kim
2012-10-31  9:56 ` [PATCH 07/17] f2fs: add segment operations Jaegeuk Kim
2012-11-02 13:39 ` [PATCH 00/16 v3] f2fs: introduce flash-friendly file system Martin Steigerwald
2012-11-02 22:49   ` Kim Jaegeuk
2012-11-10 18:33     ` Martin Steigerwald
2012-11-10 18:40       ` Martin Steigerwald
2012-11-10 21:49       ` Arnd Bergmann
2012-11-12 15:16         ` Martin Steigerwald
2012-11-12 16:57           ` Arnd Bergmann
2012-11-14 15:57             ` Martin Steigerwald
2012-11-16 21:26               ` Arnd Bergmann
2012-11-10 21:55       ` Vyacheslav Dubeyko
2012-11-11 11:42         ` Jaegeuk Kim
2012-11-12  6:04           ` Vyacheslav Dubeyko
2012-11-23  0:23           ` util-linux bug: was " NeilBrown
2012-11-26 13:27             ` Karel Zak
2012-11-26 21:06               ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).