• J
    f2fs: fix livelock calling f2fs_iget during f2fs_evict_inode · 0341845e
    Jaegeuk Kim 提交于
    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: NJaegeuk Kim <jaegeuk@kernel.org>
    0341845e
segment.c 58.2 KB