1. 16 7月, 2016 2 次提交
  2. 09 7月, 2016 15 次提交
  3. 07 7月, 2016 6 次提交
  4. 16 6月, 2016 1 次提交
  5. 14 6月, 2016 2 次提交
    • J
      f2fs: fix deadlock in add_link failure · c92737ce
      Jaegeuk Kim 提交于
      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: NJaegeuk Kim <jaegeuk@kernel.org>
      c92737ce
    • J
      f2fs: introduce mode=lfs mount option · 36abef4e
      Jaegeuk Kim 提交于
      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: NJaegeuk Kim <jaegeuk@kernel.org>
      36abef4e
  6. 09 6月, 2016 4 次提交
  7. 08 6月, 2016 6 次提交
  8. 03 6月, 2016 4 次提交
    • J
      f2fs: handle writepage correctly · b230e6ca
      Jaegeuk Kim 提交于
      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: NShuoran Liu <liushuoran@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      b230e6ca
    • J
      f2fs: return error of f2fs_lookup · eb4246dc
      Jaegeuk Kim 提交于
      Now we can report an error to f2fs_lookup given by f2fs_find_entry.
      Suggested-by: NHe YunLei <heyunlei@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      eb4246dc
    • Y
      f2fs: return the errno to the caller to avoid using a wrong page · 0c9df7fb
      Yunlong Song 提交于
      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: NYunlong Song <yunlong.song@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      0c9df7fb
    • J
      f2fs: remove two steps to flush dirty data pages · 46ae957f
      Jaegeuk Kim 提交于
      If there is no cold page, we don't need to do a loop to flush dirty
      data pages.
      
      On /dev/pmem0,
      
      1. dd if=/dev/zero of=/mnt/test/testfile bs=1M count=2048 conv=fsync
       Before : 1.1 GB/s
       After  : 1.2 GB/s
      
      2. dd if=/dev/zero of=/mnt/test/testfile bs=1M count=2048
       Before : 2.2 GB/s
       After  : 2.3 GB/s
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      46ae957f