1. 15 Jul, 2016 3 commits
  2. 08 Jul, 2016 15 commits
  3. 06 Jul, 2016 6 commits
  4. 15 Jun, 2016 1 commit
  5. 13 Jun, 2016 2 commits
    • Jaegeuk Kim's avatar
      f2fs: fix deadlock in add_link failure · c92737ce
      Jaegeuk Kim authored
      mkdir                        sync_dirty_inode
       - init_inode_metadata
         - lock_page(node)
         - make_empty_dir
                                   - filemap_fdatawrite()
                                    - do_writepages
                                    - lock_page(data)
                                    - write_page(data)
                                     - lock_page(node)
         - f2fs_init_acl
          - error
         - truncate_inode_pages
          - lock_page(data)
      
      So, we don't need to truncate data pages in this error case, which will
      be done by f2fs_evict_inode.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      c92737ce
    • Jaegeuk Kim's avatar
      f2fs: introduce mode=lfs mount option · 36abef4e
      Jaegeuk Kim authored
      This mount option is to enable original log-structured filesystem forcefully.
      So, there should be no random writes for main area.
      
      Especially, this supports host-managed SMR device.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      36abef4e
  6. 08 Jun, 2016 4 commits
  7. 07 Jun, 2016 6 commits
  8. 03 Jun, 2016 3 commits
    • Jaegeuk Kim's avatar
      f2fs: handle writepage correctly · b230e6ca
      Jaegeuk Kim authored
      Previously, f2fs_write_data_pages() calls __f2fs_writepage() which calls
      f2fs_write_data_page().
      If f2fs_write_data_page() returns AOP_WRITEPAGE_ACTIVATE, __f2fs_writepage()
      calls mapping_set_error(). But, this should not happen at every time, since
      sometimes f2fs_write_data_page() tries to skip writing pages without error.
      For example, volatile_write() gives EIO all the time, as Shuoran Liu pointed
      out.
      Reported-by: default avatarShuoran Liu <liushuoran@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      b230e6ca
    • Jaegeuk Kim's avatar
      f2fs: return error of f2fs_lookup · eb4246dc
      Jaegeuk Kim authored
      Now we can report an error to f2fs_lookup given by f2fs_find_entry.
      Suggested-by: default avatarHe YunLei <heyunlei@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      eb4246dc
    • Yunlong Song's avatar
      f2fs: return the errno to the caller to avoid using a wrong page · 0c9df7fb
      Yunlong Song authored
      Commit aaf96075 ("f2fs: check node page
      contents all the time") pointed out that "sometimes it was reported that
      its contents was missing", so it checks the page's mapping and contents.
      When "nid != nid_of_node(page)", ERR_PTR(-EIO) will be returned to the
      caller. However, commit e1c51b9f ("f2fs:
      clean up node page updating flow") moves "nid != nid_of_node(page)" test
      to "f2fs_bug_on(sbi, nid != nid_of_node(page))", this will return a
      wrong page to the caller when F2FS_CHECK_FS is off when "sometimes it
      was reported that its contents was missing" happens.
      
      This patch restores to check node page contents all the time, and
      returns the errno to make the caller known something is wrong and avoid
      to use the page. This patch also moves f2fs_bug_on to its proper location.
      Signed-off-by: default avatarYunlong Song <yunlong.song@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0c9df7fb