linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] f2fs updates for v3.10
@ 2013-05-08  5:12 Jaegeuk Kim
  2013-05-08 11:10 ` [GIT PULL v2] " Jaegeuk Kim
  2013-07-02  0:47 ` [GIT PULL] f2fs updates for v3.11 Jaegeuk Kim
  0 siblings, 2 replies; 6+ messages in thread
From: Jaegeuk Kim @ 2013-05-08  5:12 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6602 bytes --]

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [GIT PULL v2] f2fs updates for v3.10
  2013-05-08  5:12 [GIT PULL] f2fs updates for v3.10 Jaegeuk Kim
@ 2013-05-08 11:10 ` Jaegeuk Kim
  2013-05-15  9:09   ` Anca Emanuel
  2013-07-02  0:47 ` [GIT PULL] f2fs updates for v3.11 Jaegeuk Kim
  1 sibling, 1 reply; 6+ messages in thread
From: Jaegeuk Kim @ 2013-05-08 11:10 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6534 bytes --]

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [GIT PULL v2] f2fs updates for v3.10
  2013-05-08 11:10 ` [GIT PULL v2] " Jaegeuk Kim
@ 2013-05-15  9:09   ` Anca Emanuel
  2013-05-27  3:37     ` [f2fs-dev] " Jaegeuk Kim
  0 siblings, 1 reply; 6+ messages in thread
From: Anca Emanuel @ 2013-05-15  9:09 UTC (permalink / raw)
  To: jaegeuk.kim
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

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 <jaegeuk.kim@samsung.com> 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

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

* Re: [f2fs-dev] [GIT PULL v2] f2fs updates for v3.10
  2013-05-15  9:09   ` Anca Emanuel
@ 2013-05-27  3:37     ` Jaegeuk Kim
  0 siblings, 0 replies; 6+ messages in thread
From: Jaegeuk Kim @ 2013-05-27  3:37 UTC (permalink / raw)
  To: Anca Emanuel
  Cc: Linux FS DEV, Mailing List, Linux Kernel, Mailing List,
	Linux F2FS DEV, Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 7946 bytes --]

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 <jaegeuk.kim@samsung.com> 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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Jaegeuk Kim
Samsung

[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 421 bytes --]

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

[-- Attachment #3: Type: text/plain, Size: 179 bytes --]

_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

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

* [GIT PULL] f2fs updates for v3.11
  2013-05-08  5:12 [GIT PULL] f2fs updates for v3.10 Jaegeuk Kim
  2013-05-08 11:10 ` [GIT PULL v2] " Jaegeuk Kim
@ 2013-07-02  0:47 ` Jaegeuk Kim
  1 sibling, 0 replies; 6+ messages in thread
From: Jaegeuk Kim @ 2013-07-02  0:47 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6011 bytes --]

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [GIT PULL] f2fs updates for v3.11
@ 2013-07-02  0:51 Jaegeuk Kim
  0 siblings, 0 replies; 6+ messages in thread
From: Jaegeuk Kim @ 2013-07-02  0:51 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel, Mailing List, Linux FS DEV, Mailing List,
	Linux F2FS DEV, Mailing List

[-- Attachment #1: Type: text/plain, Size: 6011 bytes --]

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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

end of thread, other threads:[~2013-07-02  0:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-08  5:12 [GIT PULL] f2fs updates for v3.10 Jaegeuk Kim
2013-05-08 11:10 ` [GIT PULL v2] " Jaegeuk Kim
2013-05-15  9:09   ` Anca Emanuel
2013-05-27  3:37     ` [f2fs-dev] " Jaegeuk Kim
2013-07-02  0:47 ` [GIT PULL] f2fs updates for v3.11 Jaegeuk Kim
  -- strict thread matches above, loose matches on Subject: below --
2013-07-02  0:51 Jaegeuk Kim

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