1. 07 5月, 2014 3 次提交
    • J
      f2fs: remove costly dirty_dir_inode operations · ed57c27f
      Jaegeuk Kim 提交于
      This patch removes list opeations in handling dirty dir inodes.
      Previously, F2FS traverses whole the list of dirty dir inodes to check whether
      there is an existing inode or not, resulting in heavy CPU overheads.
      
      So this patch removes such the traverse operations by adding FI_DIRTY_DIR to
      indicate the inode lies on the list or not.
      Through this simple flag, we can remove redundant operations gracefully.
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      ed57c27f
    • J
      f2fs: call redirty_page_for_writepage · 76f60268
      Jaegeuk Kim 提交于
      This patch replace some general codes with redirty_page_for_writepage, which
      can be enabled after consideration on additional procedure like counting dirty
      pages appropriately.
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      76f60268
    • J
      f2fs: avoid to conduct roll-forward due to the remained garbage blocks · 1e87a78d
      Jaegeuk Kim 提交于
      The f2fs always scans the next chain of direct node blocks.
      But some garbage blocks are able to be remained due to no discard support or
      SSR triggers.
      This occasionally wreaks recovering wrong inodes that were used or BUG_ONs
      due to reallocating node ids as follows.
      
      When mount this f2fs image:
      http://linuxtesting.org/downloads/f2fs_fault_image.zip
      BUG_ON is triggered in f2fs driver (messages below are generated on
      kernel 3.13.2; for other kernels output is similar):
      
      kernel BUG at fs/f2fs/node.c:215!
       Call Trace:
       [<ffffffffa032ebad>] recover_inode_page+0x1fd/0x3e0 [f2fs]
       [<ffffffff811446e7>] ? __lock_page+0x67/0x70
       [<ffffffff81089990>] ? autoremove_wake_function+0x50/0x50
       [<ffffffffa0337788>] recover_fsync_data+0x1398/0x15d0 [f2fs]
       [<ffffffff812b9e5c>] ? selinux_d_instantiate+0x1c/0x20
       [<ffffffff811cb20b>] ? d_instantiate+0x5b/0x80
       [<ffffffffa0321044>] f2fs_fill_super+0xb04/0xbf0 [f2fs]
       [<ffffffff811b861e>] ? mount_bdev+0x7e/0x210
       [<ffffffff811b8769>] mount_bdev+0x1c9/0x210
       [<ffffffffa0320540>] ? validate_superblock+0x210/0x210 [f2fs]
       [<ffffffffa031cf8d>] f2fs_mount+0x1d/0x30 [f2fs]
       [<ffffffff811b9497>] mount_fs+0x47/0x1c0
       [<ffffffff81166e00>] ? __alloc_percpu+0x10/0x20
       [<ffffffff811d4032>] vfs_kern_mount+0x72/0x110
       [<ffffffff811d6763>] do_mount+0x493/0x910
       [<ffffffff811615cb>] ? strndup_user+0x5b/0x80
       [<ffffffff811d6c70>] SyS_mount+0x90/0xe0
       [<ffffffff8166f8d9>] system_call_fastpath+0x16/0x1b
      
      Found by Linux File System Verification project (linuxtesting.org).
      Reported-by: NAndrey Tsyvarev <tsyvarev@ispras.ru>
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      1e87a78d
  2. 02 4月, 2014 2 次提交
  3. 20 3月, 2014 1 次提交
  4. 18 3月, 2014 4 次提交
  5. 10 3月, 2014 1 次提交
  6. 28 2月, 2014 1 次提交
    • C
      f2fs: fix dirty page accounting when redirty · 9cf3c389
      Chao Yu 提交于
      We should de-account dirty counters for page when redirty in ->writepage().
      
      Wu Fengguang described in 'commit 971767ca':
      "writeback: fix dirtied pages accounting on redirty
      De-account the accumulative dirty counters on page redirty.
      
      Page redirties (very common in ext4) will introduce mismatch between
      counters (a) and (b)
      
      a) NR_DIRTIED, BDI_DIRTIED, tsk->nr_dirtied
      b) NR_WRITTEN, BDI_WRITTEN
      
      This will introduce systematic errors in balanced_rate and result in
      dirty page position errors (ie. the dirty pages are no longer balanced
      around the global/bdi setpoints)."
      Signed-off-by: NChao Yu <chao2.yu@samsung.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk.kim@samsung.com>
      9cf3c389
  7. 27 2月, 2014 1 次提交
  8. 17 2月, 2014 4 次提交
  9. 22 1月, 2014 3 次提交
  10. 14 1月, 2014 3 次提交
  11. 26 12月, 2013 1 次提交
  12. 23 12月, 2013 12 次提交
  13. 08 11月, 2013 1 次提交
  14. 29 10月, 2013 1 次提交
  15. 25 10月, 2013 2 次提交