1. 11 Nov, 2014 3 commits
    • Jaegeuk Kim's avatar
      f2fs: convert inline_data when i_size becomes large · 92dffd01
      Jaegeuk Kim authored
      
      
      If i_size becomes large outside of MAX_INLINE_DATA, we shoud convert the inode.
      Otherwise, we can make some dirty pages during the truncation, and those pages
      will be written through f2fs_write_data_page.
      At that moment, the inode has still inline_data, so that it tries to write non-
      zero pages into inline_data area.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      92dffd01
    • Jaegeuk Kim's avatar
      f2fs: fix deadlock to grab 0'th data page · 764d2c80
      Jaegeuk Kim authored
      
      
      The scenario is like this.
      
      One trhead triggers:
        f2fs_write_data_pages
          lock_page
          f2fs_write_data_page
            f2fs_lock_op  <- wait
      
      The other thread triggers:
        f2fs_truncate
          truncate_blocks
            f2fs_lock_op
              truncate_partial_data_page
                lock_page  <- wait for locking the page
      
      This patch resolves this bug by relocating truncate_partial_data_page.
      This function is just to truncate user data page and not related to FS
      consistency as well.
      And, we don't need to call truncate_inline_data. Rather than that,
      f2fs_write_data_page will finally update inline_data later.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      764d2c80
    • Jaegeuk Kim's avatar
      f2fs: reduce the number of inline_data inode before clearing it · 57e2a2c0
      Jaegeuk Kim authored
      
      
      The # of inline_data inode is decreased only when it has inline_data.
      After clearing the flag, we can't decreased the number.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      57e2a2c0
  2. 10 Nov, 2014 3 commits
  3. 06 Nov, 2014 3 commits
  4. 05 Nov, 2014 5 commits
  5. 04 Nov, 2014 26 commits