2013-05-08 05:13:38

by Jaegeuk Kim

[permalink] [raw]
Subject: [GIT PULL] f2fs updates for v3.10

Hi Linus,

Here is the pull request on f2fs updates for v3.10.
This patch-set includes abundant enhancements and bug fixes.
Please consider pulling the following tag.
Thank you very much.

The following changes since commit 47b3bc907328db968bc9b43c41f48f8d1e140750:

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-03-07 15:57:38 -0800)

are available in the git repository at:


git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git tags/f2fs-for-v3.10

for you to fetch changes up to 6de1a3a6fc40e4fe9f1d5917311d53b82a3a0107:

f2fs: cover free_nid management with spin_lock (2013-05-08 13:22:05 +0900)

----------------------------------------------------------------
f2fs updates for v3.10

This patch-set includes the following major enhancement patches.
o introduce a new gloabl lock scheme
o add tracepoints on several major functions
o fix the overall cleaning process focused on victim selection
o apply the block plugging to merge IOs as much as possible
o enhance management of free nids and its list
o enhance the readahead mode for node pages
o address several cretical deadlock conditions
o reduce lock_page calls

The other minor bug fixes and enhancements are as follows.
o calculation mistakes: overflow
o bio types: READ, READA, and READ_SYNC
o fix the recovery flow, data races, and null pointer errors

----------------------------------------------------------------
Alexandru Gheorghiu (1):
f2fs: use kmemdup

Changman Lee (3):
f2fs: fix overflow when calculating utilization on 32-bit
f2fs: check the level before calling get_nid function
f2fs: update f2fs.txt related with discard at mkfs

Chris Fries (2):
f2fs: continue to mount after failing recovery
f2fs: recover when journal contains deleted files

Haicheng Li (5):
f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
f2fs: remove useless #include <linux/proc_fs.h> as we're now using sysfs as debug entry.
f2fs: bugfix for alloc_nid_failed()
f2fs: code cleanup for scan_nat_page() and build_free_nids()
f2fs: optimize scan_nat_page()

Jaegeuk Kim (35):
f2fs: fix to unlock node page when it was truncated
f2fs: read with READ_SYNC when getting dnode page
f2fs: introduce readahead mode of node pages
f2fs: align f2fs maximum name length to linux based filesystem
f2fs: reduce unncessary locking pages during read
f2fs: should check the node page was truncated first
f2fs: scan next nat page to reuse free nids in there
f2fs: fix return value of releasepage for node and data
f2fs: fix not to allocate max_nid
f2fs: fix to call WRITE_FLUSH at the end of fsync
f2fs: fix the recovery flow to handle errors correctly
f2fs: do not skip writing file meta during fsync
f2fs: remain nat cache entries for further free nid allocation
f2fs: fix to give correct parent inode number for roll forward
f2fs: do not use duplicate names in a macro
f2fs: introduce TOTAL_SECS macro
f2fs: remove redundant lock_page calls
f2fs: allocate new segment aligned with sections
f2fs: change GC bitmaps to apply the section granularity
f2fs: check completion of foreground GC
f2fs: allocate remained free segments in the LFS mode
f2fs: avoid race for summary information
f2fs: fix the bitmap consistency of dirty segments
f2fs: reduce redundant spin_lock operations
f2fs: introduce a new global lock scheme
f2fs: write checkpoint before starting FG_GC
f2fs: avoid frequent background GC
f2fs: give a chance to merge IOs by IO scheduler
f2fs: check nid == 0 in add_free_nid
f2fs: add a tracepoint on f2fs_new_inode
f2fs: enhance alloc_nid and build_free_nids flows
f2fs: check truncation of mapping after lock_page
f2fs: modify the number of issued pages to merge IOs
f2fs: avoid deadlock during evict after f2fs_gc
f2fs: cover free_nid management with spin_lock

Jason Hrycay (1):
f2fs: move f2fs_balance_fs from truncate to punch_hole

Masanari Iida (1):
f2fs: fix typo in comments

Namjae Jeon (17):
f2fs: optimize get node page readahead part
f2fs: optimize and change return path in lookup_free_nid_list
f2fs: avoid extra ++ while returning from get_node_path
f2fs: notify when discard is not supported
f2fs: reorganize f2fs_setxattr
f2fs: fix return values from validate superblock
f2fs: avoid BUG_ON from check_nid_range and update return path in do_read_inode
f2fs: fix typo mistakes
f2fs: make is_multimedia_file code align with its name
f2fs: add tracepoints for sync & inode operations
f2fs: add tracepoints for truncate operation
f2fs: add tracepoint for tracing the page i/o
f2fs: add tracepoints for GC threads
f2fs: add tracepoints to debug the block allocation
f2fs: add tracepoints for write page operations
f2fs: add tracepoints to debug checkpoint request
f2fs: add REQ_META about metadata requests for submit

P J P (1):
f2fs: add NULL pointer check

Wei Yongjun (1):
f2fs: fix error return code in f2fs_fill_super()

Zhihui Zhang (1):
f2fs: fix the logic of IS_DNODE()

Documentation/filesystems/f2fs.txt | 4 +-
fs/f2fs/checkpoint.c | 63 ++--
fs/f2fs/data.c | 195 ++++++-----
fs/f2fs/debug.c | 10 +-
fs/f2fs/dir.c | 110 +++---
fs/f2fs/f2fs.h | 95 ++++--
fs/f2fs/file.c | 116 +++----
fs/f2fs/gc.c | 125 ++++---
fs/f2fs/gc.h | 12 +-
fs/f2fs/inode.c | 68 ++--
fs/f2fs/namei.c | 80 +++--
fs/f2fs/node.c | 411 ++++++++++++----------
fs/f2fs/node.h | 20 +-
fs/f2fs/recovery.c | 83 +++--
fs/f2fs/segment.c | 137 +++++---
fs/f2fs/segment.h | 41 ++-
fs/f2fs/super.c | 69 +++-
fs/f2fs/xattr.c | 28 +-
include/linux/f2fs_fs.h | 17 +-
include/trace/events/f2fs.h | 682 +++++++++++++++++++++++++++++++++++++
20 files changed, 1674 insertions(+), 692 deletions(-)
create mode 100644 include/trace/events/f2fs.h

--
Jaegeuk Kim
Samsung


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2013-05-08 11:11:23

by Jaegeuk Kim

[permalink] [raw]
Subject: Re: [GIT PULL v2] f2fs updates for v3.10

Hi Linus,

I've rebased one of patches, so could you consider the following pull
request?
Sorry for the noise.

The following changes since commit
47b3bc907328db968bc9b43c41f48f8d1e140750:

Merge branch 'x86-urgent-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-03-07
15:57:38 -0800)

are available in the git repository at:


git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/f2fs-for-v3.10

for you to fetch changes up to 59bbd474abb9dd6a0c1a74df758ec29c7a8b150f:

f2fs: cover free_nid management with spin_lock (2013-05-08 19:54:22
+0900)

----------------------------------------------------------------
f2fs updates for v3.10

This patch-set includes the following major enhancement patches.
o introduce a new gloabl lock scheme
o add tracepoints on several major functions
o fix the overall cleaning process focused on victim selection
o apply the block plugging to merge IOs as much as possible
o enhance management of free nids and its list
o enhance the readahead mode for node pages
o address several cretical deadlock conditions
o reduce lock_page calls

The other minor bug fixes and enhancements are as follows.
o calculation mistakes: overflow
o bio types: READ, READA, and READ_SYNC
o fix the recovery flow, data races, and null pointer errors

----------------------------------------------------------------
Alexandru Gheorghiu (1):
f2fs: use kmemdup

Changman Lee (3):
f2fs: fix overflow when calculating utilization on 32-bit
f2fs: check the level before calling get_nid function
f2fs: update f2fs.txt related with discard at mkfs

Chris Fries (2):
f2fs: continue to mount after failing recovery
f2fs: recover when journal contains deleted files

Haicheng Li (5):
f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
f2fs: remove useless #include <linux/proc_fs.h> as we're now using
sysfs as debug entry.
f2fs: bugfix for alloc_nid_failed()
f2fs: code cleanup for scan_nat_page() and build_free_nids()
f2fs: optimize scan_nat_page()

Jaegeuk Kim (35):
f2fs: fix to unlock node page when it was truncated
f2fs: read with READ_SYNC when getting dnode page
f2fs: introduce readahead mode of node pages
f2fs: align f2fs maximum name length to linux based filesystem
f2fs: reduce unncessary locking pages during read
f2fs: should check the node page was truncated first
f2fs: scan next nat page to reuse free nids in there
f2fs: fix return value of releasepage for node and data
f2fs: fix not to allocate max_nid
f2fs: fix to call WRITE_FLUSH at the end of fsync
f2fs: fix the recovery flow to handle errors correctly
f2fs: do not skip writing file meta during fsync
f2fs: remain nat cache entries for further free nid allocation
f2fs: fix to give correct parent inode number for roll forward
f2fs: do not use duplicate names in a macro
f2fs: introduce TOTAL_SECS macro
f2fs: remove redundant lock_page calls
f2fs: allocate new segment aligned with sections
f2fs: change GC bitmaps to apply the section granularity
f2fs: check completion of foreground GC
f2fs: allocate remained free segments in the LFS mode
f2fs: avoid race for summary information
f2fs: fix the bitmap consistency of dirty segments
f2fs: reduce redundant spin_lock operations
f2fs: introduce a new global lock scheme
f2fs: write checkpoint before starting FG_GC
f2fs: avoid frequent background GC
f2fs: give a chance to merge IOs by IO scheduler
f2fs: check nid == 0 in add_free_nid
f2fs: add a tracepoint on f2fs_new_inode
f2fs: enhance alloc_nid and build_free_nids flows
f2fs: check truncation of mapping after lock_page
f2fs: modify the number of issued pages to merge IOs
f2fs: avoid deadlock during evict after f2fs_gc
f2fs: cover free_nid management with spin_lock

Jason Hrycay (1):
f2fs: move f2fs_balance_fs from truncate to punch_hole

Masanari Iida (1):
f2fs: fix typo in comments

Namjae Jeon (17):
f2fs: optimize get node page readahead part
f2fs: optimize and change return path in lookup_free_nid_list
f2fs: avoid extra ++ while returning from get_node_path
f2fs: notify when discard is not supported
f2fs: reorganize f2fs_setxattr
f2fs: fix return values from validate superblock
f2fs: avoid BUG_ON from check_nid_range and update return path in
do_read_inode
f2fs: fix typo mistakes
f2fs: make is_multimedia_file code align with its name
f2fs: add tracepoints for sync & inode operations
f2fs: add tracepoints for truncate operation
f2fs: add tracepoint for tracing the page i/o
f2fs: add tracepoints for GC threads
f2fs: add tracepoints to debug the block allocation
f2fs: add tracepoints for write page operations
f2fs: add tracepoints to debug checkpoint request
f2fs: add REQ_META about metadata requests for submit

P J P (1):
f2fs: add NULL pointer check

Wei Yongjun (1):
f2fs: fix error return code in f2fs_fill_super()

Zhihui Zhang (1):
f2fs: fix the logic of IS_DNODE()

Documentation/filesystems/f2fs.txt | 4 +-
fs/f2fs/checkpoint.c | 63 ++--
fs/f2fs/data.c | 202 ++++++-----
fs/f2fs/debug.c | 10 +-
fs/f2fs/dir.c | 110 +++---
fs/f2fs/f2fs.h | 95 ++++--
fs/f2fs/file.c | 116 +++----
fs/f2fs/gc.c | 125 ++++---
fs/f2fs/gc.h | 12 +-
fs/f2fs/inode.c | 68 ++--
fs/f2fs/namei.c | 80 +++--
fs/f2fs/node.c | 411 ++++++++++++----------
fs/f2fs/node.h | 20 +-
fs/f2fs/recovery.c | 83 +++--
fs/f2fs/segment.c | 137 +++++---
fs/f2fs/segment.h | 41 ++-
fs/f2fs/super.c | 69 +++-
fs/f2fs/xattr.c | 28 +-
include/linux/f2fs_fs.h | 17 +-
include/trace/events/f2fs.h | 682
+++++++++++++++++++++++++++++++++++++
20 files changed, 1679 insertions(+), 694 deletions(-)
create mode 100644 include/trace/events/f2fs.h


--
Jaegeuk Kim
Samsung


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2013-05-15 09:09:34

by Anca Emanuel

[permalink] [raw]
Subject: Re: [GIT PULL v2] f2fs updates for v3.10

Regresions: http://www.phoronix.com/scan.php?page=article&item=linux_310_f2fs&num=3

The most notable one is PostgreSQL pgbench v8.4.11
Transactions per second: 3032 in kernel 3.9
down to 832 in kernel 3.10-rc1

On Wed, May 8, 2013 at 2:10 PM, Jaegeuk Kim <[email protected]> wrote:
> Hi Linus,
>
> I've rebased one of patches, so could you consider the following pull
> request?
> Sorry for the noise.
>
> The following changes since commit
> 47b3bc907328db968bc9b43c41f48f8d1e140750:
>
> Merge branch 'x86-urgent-for-linus' of
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-03-07
> 15:57:38 -0800)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
> tags/f2fs-for-v3.10
>
> for you to fetch changes up to 59bbd474abb9dd6a0c1a74df758ec29c7a8b150f:
>
> f2fs: cover free_nid management with spin_lock (2013-05-08 19:54:22
> +0900)
>
> ----------------------------------------------------------------
> f2fs updates for v3.10
>
> This patch-set includes the following major enhancement patches.
> o introduce a new gloabl lock scheme
> o add tracepoints on several major functions
> o fix the overall cleaning process focused on victim selection
> o apply the block plugging to merge IOs as much as possible
> o enhance management of free nids and its list
> o enhance the readahead mode for node pages
> o address several cretical deadlock conditions
> o reduce lock_page calls
>
> The other minor bug fixes and enhancements are as follows.
> o calculation mistakes: overflow
> o bio types: READ, READA, and READ_SYNC
> o fix the recovery flow, data races, and null pointer errors
>
> ----------------------------------------------------------------
> Alexandru Gheorghiu (1):
> f2fs: use kmemdup
>
> Changman Lee (3):
> f2fs: fix overflow when calculating utilization on 32-bit
> f2fs: check the level before calling get_nid function
> f2fs: update f2fs.txt related with discard at mkfs
>
> Chris Fries (2):
> f2fs: continue to mount after failing recovery
> f2fs: recover when journal contains deleted files
>
> Haicheng Li (5):
> f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
> f2fs: remove useless #include <linux/proc_fs.h> as we're now using
> sysfs as debug entry.
> f2fs: bugfix for alloc_nid_failed()
> f2fs: code cleanup for scan_nat_page() and build_free_nids()
> f2fs: optimize scan_nat_page()
>
> Jaegeuk Kim (35):
> f2fs: fix to unlock node page when it was truncated
> f2fs: read with READ_SYNC when getting dnode page
> f2fs: introduce readahead mode of node pages
> f2fs: align f2fs maximum name length to linux based filesystem
> f2fs: reduce unncessary locking pages during read
> f2fs: should check the node page was truncated first
> f2fs: scan next nat page to reuse free nids in there
> f2fs: fix return value of releasepage for node and data
> f2fs: fix not to allocate max_nid
> f2fs: fix to call WRITE_FLUSH at the end of fsync
> f2fs: fix the recovery flow to handle errors correctly
> f2fs: do not skip writing file meta during fsync
> f2fs: remain nat cache entries for further free nid allocation
> f2fs: fix to give correct parent inode number for roll forward
> f2fs: do not use duplicate names in a macro
> f2fs: introduce TOTAL_SECS macro
> f2fs: remove redundant lock_page calls
> f2fs: allocate new segment aligned with sections
> f2fs: change GC bitmaps to apply the section granularity
> f2fs: check completion of foreground GC
> f2fs: allocate remained free segments in the LFS mode
> f2fs: avoid race for summary information
> f2fs: fix the bitmap consistency of dirty segments
> f2fs: reduce redundant spin_lock operations
> f2fs: introduce a new global lock scheme
> f2fs: write checkpoint before starting FG_GC
> f2fs: avoid frequent background GC
> f2fs: give a chance to merge IOs by IO scheduler
> f2fs: check nid == 0 in add_free_nid
> f2fs: add a tracepoint on f2fs_new_inode
> f2fs: enhance alloc_nid and build_free_nids flows
> f2fs: check truncation of mapping after lock_page
> f2fs: modify the number of issued pages to merge IOs
> f2fs: avoid deadlock during evict after f2fs_gc
> f2fs: cover free_nid management with spin_lock
>
> Jason Hrycay (1):
> f2fs: move f2fs_balance_fs from truncate to punch_hole
>
> Masanari Iida (1):
> f2fs: fix typo in comments
>
> Namjae Jeon (17):
> f2fs: optimize get node page readahead part
> f2fs: optimize and change return path in lookup_free_nid_list
> f2fs: avoid extra ++ while returning from get_node_path
> f2fs: notify when discard is not supported
> f2fs: reorganize f2fs_setxattr
> f2fs: fix return values from validate superblock
> f2fs: avoid BUG_ON from check_nid_range and update return path in
> do_read_inode
> f2fs: fix typo mistakes
> f2fs: make is_multimedia_file code align with its name
> f2fs: add tracepoints for sync & inode operations
> f2fs: add tracepoints for truncate operation
> f2fs: add tracepoint for tracing the page i/o
> f2fs: add tracepoints for GC threads
> f2fs: add tracepoints to debug the block allocation
> f2fs: add tracepoints for write page operations
> f2fs: add tracepoints to debug checkpoint request
> f2fs: add REQ_META about metadata requests for submit
>
> P J P (1):
> f2fs: add NULL pointer check
>
> Wei Yongjun (1):
> f2fs: fix error return code in f2fs_fill_super()
>
> Zhihui Zhang (1):
> f2fs: fix the logic of IS_DNODE()
>
> Documentation/filesystems/f2fs.txt | 4 +-
> fs/f2fs/checkpoint.c | 63 ++--
> fs/f2fs/data.c | 202 ++++++-----
> fs/f2fs/debug.c | 10 +-
> fs/f2fs/dir.c | 110 +++---
> fs/f2fs/f2fs.h | 95 ++++--
> fs/f2fs/file.c | 116 +++----
> fs/f2fs/gc.c | 125 ++++---
> fs/f2fs/gc.h | 12 +-
> fs/f2fs/inode.c | 68 ++--
> fs/f2fs/namei.c | 80 +++--
> fs/f2fs/node.c | 411 ++++++++++++----------
> fs/f2fs/node.h | 20 +-
> fs/f2fs/recovery.c | 83 +++--
> fs/f2fs/segment.c | 137 +++++---
> fs/f2fs/segment.h | 41 ++-
> fs/f2fs/super.c | 69 +++-
> fs/f2fs/xattr.c | 28 +-
> include/linux/f2fs_fs.h | 17 +-
> include/trace/events/f2fs.h | 682
> +++++++++++++++++++++++++++++++++++++
> 20 files changed, 1679 insertions(+), 694 deletions(-)
> create mode 100644 include/trace/events/f2fs.h
>
>
> --
> Jaegeuk Kim
> Samsung

2013-05-27 03:38:18

by Jaegeuk Kim

[permalink] [raw]
Subject: Re: [GIT PULL v2] f2fs updates for v3.10

Hi,
Thank you for the report.

I'm not able to reproduce this at all.
In my runs, there was no regression.
Can you do that?
Thanks,

2013-05-15 (수), 12:09 +0300, Anca Emanuel:
> Regresions: http://www.phoronix.com/scan.php?page=article&item=linux_310_f2fs&num=3
>
> The most notable one is PostgreSQL pgbench v8.4.11
> Transactions per second: 3032 in kernel 3.9
> down to 832 in kernel 3.10-rc1
>
> On Wed, May 8, 2013 at 2:10 PM, Jaegeuk Kim <[email protected]> wrote:
> > Hi Linus,
> >
> > I've rebased one of patches, so could you consider the following pull
> > request?
> > Sorry for the noise.
> >
> > The following changes since commit
> > 47b3bc907328db968bc9b43c41f48f8d1e140750:
> >
> > Merge branch 'x86-urgent-for-linus' of
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2013-03-07
> > 15:57:38 -0800)
> >
> > are available in the git repository at:
> >
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
> > tags/f2fs-for-v3.10
> >
> > for you to fetch changes up to 59bbd474abb9dd6a0c1a74df758ec29c7a8b150f:
> >
> > f2fs: cover free_nid management with spin_lock (2013-05-08 19:54:22
> > +0900)
> >
> > ----------------------------------------------------------------
> > f2fs updates for v3.10
> >
> > This patch-set includes the following major enhancement patches.
> > o introduce a new gloabl lock scheme
> > o add tracepoints on several major functions
> > o fix the overall cleaning process focused on victim selection
> > o apply the block plugging to merge IOs as much as possible
> > o enhance management of free nids and its list
> > o enhance the readahead mode for node pages
> > o address several cretical deadlock conditions
> > o reduce lock_page calls
> >
> > The other minor bug fixes and enhancements are as follows.
> > o calculation mistakes: overflow
> > o bio types: READ, READA, and READ_SYNC
> > o fix the recovery flow, data races, and null pointer errors
> >
> > ----------------------------------------------------------------
> > Alexandru Gheorghiu (1):
> > f2fs: use kmemdup
> >
> > Changman Lee (3):
> > f2fs: fix overflow when calculating utilization on 32-bit
> > f2fs: check the level before calling get_nid function
> > f2fs: update f2fs.txt related with discard at mkfs
> >
> > Chris Fries (2):
> > f2fs: continue to mount after failing recovery
> > f2fs: recover when journal contains deleted files
> >
> > Haicheng Li (5):
> > f2fs: fix inconsistent using of NM_WOUT_THRESHOLD
> > f2fs: remove useless #include <linux/proc_fs.h> as we're now using
> > sysfs as debug entry.
> > f2fs: bugfix for alloc_nid_failed()
> > f2fs: code cleanup for scan_nat_page() and build_free_nids()
> > f2fs: optimize scan_nat_page()
> >
> > Jaegeuk Kim (35):
> > f2fs: fix to unlock node page when it was truncated
> > f2fs: read with READ_SYNC when getting dnode page
> > f2fs: introduce readahead mode of node pages
> > f2fs: align f2fs maximum name length to linux based filesystem
> > f2fs: reduce unncessary locking pages during read
> > f2fs: should check the node page was truncated first
> > f2fs: scan next nat page to reuse free nids in there
> > f2fs: fix return value of releasepage for node and data
> > f2fs: fix not to allocate max_nid
> > f2fs: fix to call WRITE_FLUSH at the end of fsync
> > f2fs: fix the recovery flow to handle errors correctly
> > f2fs: do not skip writing file meta during fsync
> > f2fs: remain nat cache entries for further free nid allocation
> > f2fs: fix to give correct parent inode number for roll forward
> > f2fs: do not use duplicate names in a macro
> > f2fs: introduce TOTAL_SECS macro
> > f2fs: remove redundant lock_page calls
> > f2fs: allocate new segment aligned with sections
> > f2fs: change GC bitmaps to apply the section granularity
> > f2fs: check completion of foreground GC
> > f2fs: allocate remained free segments in the LFS mode
> > f2fs: avoid race for summary information
> > f2fs: fix the bitmap consistency of dirty segments
> > f2fs: reduce redundant spin_lock operations
> > f2fs: introduce a new global lock scheme
> > f2fs: write checkpoint before starting FG_GC
> > f2fs: avoid frequent background GC
> > f2fs: give a chance to merge IOs by IO scheduler
> > f2fs: check nid == 0 in add_free_nid
> > f2fs: add a tracepoint on f2fs_new_inode
> > f2fs: enhance alloc_nid and build_free_nids flows
> > f2fs: check truncation of mapping after lock_page
> > f2fs: modify the number of issued pages to merge IOs
> > f2fs: avoid deadlock during evict after f2fs_gc
> > f2fs: cover free_nid management with spin_lock
> >
> > Jason Hrycay (1):
> > f2fs: move f2fs_balance_fs from truncate to punch_hole
> >
> > Masanari Iida (1):
> > f2fs: fix typo in comments
> >
> > Namjae Jeon (17):
> > f2fs: optimize get node page readahead part
> > f2fs: optimize and change return path in lookup_free_nid_list
> > f2fs: avoid extra ++ while returning from get_node_path
> > f2fs: notify when discard is not supported
> > f2fs: reorganize f2fs_setxattr
> > f2fs: fix return values from validate superblock
> > f2fs: avoid BUG_ON from check_nid_range and update return path in
> > do_read_inode
> > f2fs: fix typo mistakes
> > f2fs: make is_multimedia_file code align with its name
> > f2fs: add tracepoints for sync & inode operations
> > f2fs: add tracepoints for truncate operation
> > f2fs: add tracepoint for tracing the page i/o
> > f2fs: add tracepoints for GC threads
> > f2fs: add tracepoints to debug the block allocation
> > f2fs: add tracepoints for write page operations
> > f2fs: add tracepoints to debug checkpoint request
> > f2fs: add REQ_META about metadata requests for submit
> >
> > P J P (1):
> > f2fs: add NULL pointer check
> >
> > Wei Yongjun (1):
> > f2fs: fix error return code in f2fs_fill_super()
> >
> > Zhihui Zhang (1):
> > f2fs: fix the logic of IS_DNODE()
> >
> > Documentation/filesystems/f2fs.txt | 4 +-
> > fs/f2fs/checkpoint.c | 63 ++--
> > fs/f2fs/data.c | 202 ++++++-----
> > fs/f2fs/debug.c | 10 +-
> > fs/f2fs/dir.c | 110 +++---
> > fs/f2fs/f2fs.h | 95 ++++--
> > fs/f2fs/file.c | 116 +++----
> > fs/f2fs/gc.c | 125 ++++---
> > fs/f2fs/gc.h | 12 +-
> > fs/f2fs/inode.c | 68 ++--
> > fs/f2fs/namei.c | 80 +++--
> > fs/f2fs/node.c | 411 ++++++++++++----------
> > fs/f2fs/node.h | 20 +-
> > fs/f2fs/recovery.c | 83 +++--
> > fs/f2fs/segment.c | 137 +++++---
> > fs/f2fs/segment.h | 41 ++-
> > fs/f2fs/super.c | 69 +++-
> > fs/f2fs/xattr.c | 28 +-
> > include/linux/f2fs_fs.h | 17 +-
> > include/trace/events/f2fs.h | 682
> > +++++++++++++++++++++++++++++++++++++
> > 20 files changed, 1679 insertions(+), 694 deletions(-)
> > create mode 100644 include/trace/events/f2fs.h
> >
> >
> > --
> > Jaegeuk Kim
> > Samsung
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Jaegeuk Kim
Samsung


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2013-07-02 00:47:27

by Jaegeuk Kim

[permalink] [raw]
Subject: [GIT PULL] f2fs updates for v3.11

Hi Linus,

Here is the pull request on f2fs updates for v3.11.
Most of patches in this patch-set have been proposed to fix the
roll-forward mechanism significantly.

One of major fixes is related to little and big endian conversion, and
its errorneous symptom on powerpc was initially reported by Oded Gabbay.

Another one is that it has been revealed the pgbench regression reported
by phoronix was caused by one of fsync bug fixes in 3.10-rc1. In order
to restore the performance, one enhancement patch was introduced in this
patch-set, which is f2fs: recover wrong pino after checkpoint during
fsync.

One of new features is *xattr security labels* which is essential to the
SEandroid system.

Please consider pulling the following tag.
Thank you,

The following changes since commit
e4aa937ec75df0eea0bee03bffa3303ad36c986b:

Linux 3.10-rc3 (2013-05-26 16:00:47 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
tags/for-f2fs-3.11

for you to fetch changes up to a1dd3c13ce65b726fddfe72b9d2f1009db983ce6:

f2fs: fix to recover i_size from roll-forward (2013-07-02 08:48:16
+0900)

----------------------------------------------------------------
This patch-set includes the following major enhancement patches.
o remount_fs callback function
o restore parent inode number to enhance the fsync performance
o xattr security labels
o reduce the number of redundant lock/unlock data pages
o avoid frequent write_inode calls

The other minor bug fixes are as follows.
o endian conversion bugs
o various bugs in the roll-forward recovery routine

----------------------------------------------------------------
Dan Carpenter (1):
f2fs: dereferencing an ERR_PTR

Gu Zheng (3):
f2fs: set sb->s_fs_info before calling parse_options()
f2fs: code cleanup and simplify in func {find/add}_gc_inode
f2fs: remove the unused argument "sbi" of func
destroy_fsync_dnodes()

Haicheng Li (4):
f2fs: remove unecessary variable and code
f2fs: remove unnecessary parameter "offset" from __add_sum_entry()
f2fs: make locate_dirty_segment() as static
f2fs: optimize do_write_data_page()

Jaegeuk Kim (35):
f2fs: fix inconsistency of block count during recovery
f2fs: fix the inconsistent state of data pages
f2fs: remove redundant assignment
f2fs: fix por_doing variable coverage
f2fs: fix BUG_ON during f2fs_evict_inode(dir)
f2fs: remove unnecessary por_doing check
f2fs: skip get_node_page if locked node page is passed
f2fs: change get_new_data_page to pass a locked node page
f2fs: update inode page after creation
f2fs: add debug msgs in the recovery routine
f2fs: remove unnecessary kmap/kunmap operations
f2fs: fix to unlock page before exit
f2fs: don't do checkpoint if error is occurred
f2fs: avoid RECLAIM_FS-ON-W: deadlock
f2fs: add f2fs_readonly()
f2fs: fix wrong condition check
f2fs: reuse the locked dnode page and its inode
f2fs: fix to handle do_recover_data errors
f2fs: should not make_bad_inode on f2fs_link failure
f2fs: use ihold
f2fs: align data types between on-disk and in-memory block
addresses
f2fs: iput only if whole data blocks are flushed
f2fs: fix dentry recovery routine
f2fs: fix incorrect iputs during the dentry recovery
f2fs: cover cp_file information with ilock
f2fs: fix iget/iput of dir during recovery
f2fs: support xattr security labels
f2fs: fix i_blocks translation on various types of files
f2fs: sync dir->i_size with its block allocation
f2fs: avoid freqeunt write_inode calls
f2fs: recover wrong pino after checkpoint during fsync
f2fs: fix crc endian conversion
f2fs: fix an endian conversion bug detected by sparse
f2fs: remove reusing any prefree segments
f2fs: fix to recover i_size from roll-forward

Jason Hrycay (1):
f2fs: handle errors from get_node_page calls

Namjae Jeon (10):
f2fs: reorganize f2fs_vm_page_mkwrite
f2fs: push some variables to debug part
f2fs: remove unneeded initializations in f2fs_parent_dir
f2fs: optimize several routines in node.h
f2fs: return proper error from start_gc_thread
f2fs: reorganise the function get_victim_by_default
f2fs: use the F2FS specific flags in f2fs_ioctl()
f2fs: optimise the truncate_data_blocks_range() range
f2fs: add remount_fs callback support
f2fs: optimize the init_dirty_segmap function

Peter Zijlstra (1):
f2fs, lockdep: annotate mutex_lock_all()

majianpeng (1):
f2fs: use list_for_each_entry rather than list_for_each_entry_safe

Documentation/filesystems/f2fs.txt | 9 +-
fs/f2fs/Kconfig | 12 ++
fs/f2fs/acl.c | 2 +-
fs/f2fs/checkpoint.c | 99 +++++++++++----
fs/f2fs/data.c | 68 +++++++---
fs/f2fs/debug.c | 4 +-
fs/f2fs/dir.c | 109 +++++++++-------
fs/f2fs/f2fs.h | 66 +++++++---
fs/f2fs/file.c | 58 +++++++--
fs/f2fs/gc.c | 42 +++---
fs/f2fs/inode.c | 13 +-
fs/f2fs/namei.c | 17 +--
fs/f2fs/node.c | 34 ++---
fs/f2fs/node.h | 68 ++++------
fs/f2fs/recovery.c | 150 ++++++++++++++--------
fs/f2fs/segment.c | 101 ++++-----------
fs/f2fs/super.c | 253
++++++++++++++++++++++++-------------
fs/f2fs/xattr.c | 68 +++++++++-
fs/f2fs/xattr.h | 24 ++--
include/linux/f2fs_fs.h | 4 +-
20 files changed, 750 insertions(+), 451 deletions(-)

--
Jaegeuk Kim
Samsung


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part