1. 10 Jan, 2015 15 commits
  2. 08 Dec, 2014 11 commits
  3. 05 Dec, 2014 1 commit
    • Jaegeuk Kim's avatar
      f2fs: call radix_tree_preload before radix_tree_insert · 769ec6e5
      Jaegeuk Kim authored
      
      
      This patch tries to fix:
      
       BUG: using smp_processor_id() in preemptible [00000000] code: f2fs_gc-254:0/384
        (radix_tree_node_alloc+0x14/0x74) from [<c033d8a0>] (radix_tree_insert+0x110/0x200)
        (radix_tree_insert+0x110/0x200) from [<c02e8264>] (gc_data_segment+0x340/0x52c)
        (gc_data_segment+0x340/0x52c) from [<c02e8658>] (f2fs_gc+0x208/0x400)
        (f2fs_gc+0x208/0x400) from [<c02e8a98>] (gc_thread_func+0x248/0x28c)
        (gc_thread_func+0x248/0x28c) from [<c0139944>] (kthread+0xa0/0xac)
        (kthread+0xa0/0xac) from [<c0105ef8>] (ret_from_fork+0x14/0x3c)
      
      The reason is that f2fs calls radix_tree_insert under enabled preemption.
      So, before calling it, we need to call radix_tree_preload.
      
      Otherwise, we should use _GFP_WAIT for the radix tree, and use mutex or
      semaphore to cover the radix tree operations.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      769ec6e5
  4. 04 Dec, 2014 2 commits
  5. 02 Dec, 2014 1 commit
  6. 01 Dec, 2014 2 commits
  7. 28 Nov, 2014 1 commit
  8. 26 Nov, 2014 4 commits
  9. 25 Nov, 2014 2 commits
  10. 24 Nov, 2014 1 commit
    • Jaegeuk Kim's avatar
      f2fs: fix livelock calling f2fs_iget during f2fs_evict_inode · 0341845e
      Jaegeuk Kim authored
      
      
      In f2fs_evict_inode,
       commit_inmemory_pages
         f2fs_gc
           f2fs_iget
             iget_locked
               -> wait for inode free
      
      Here, if the inode is same as the one to be evicted, f2fs should wait forever.
      Actually, we should not call f2fs_balance_fs during f2fs_evict_inode to avoid
      this.
      
      But, the commit_inmem_pages calls f2fs_balance_fs by default, even if
      f2fs_evict_inode wants to free inmemory pages only.
      
      Hence, this patch adds to trigger f2fs_balance_fs only when there is something
      to write.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0341845e