1. 26 11月, 2016 5 次提交
    • C
      f2fs: don't wait writeback for datas during checkpoint · 36951b38
      Chao Yu 提交于
      Normally, while committing checkpoint, we will wait on all pages to be
      writebacked no matter the page is data or metadata, so in scenario where
      there are lots of data IO being submitted with metadata, we may suffer
      long latency for waiting writeback during checkpoint.
      
      Indeed, we only care about persistence for pages with metadata, but not
      pages with data, as file system consistent are only related to metadate,
      so in order to avoid encountering long latency in above scenario, let's
      recognize and reference metadata in submitted IOs, wait writeback only
      for metadatas.
      Signed-off-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      36951b38
    • J
      f2fs: fix wrong written_valid_blocks counting · c79b7ff1
      Jaegeuk Kim 提交于
      Previously, written_valid_blocks was got by ckpt->valid_block_count. But if
      the last checkpoint has some NEW_ADDR due to power-cut, we can get wrong value.
      Fix it to get the number from actual written block count from sit entries.
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      c79b7ff1
    • J
      f2fs: avoid BG_GC in f2fs_balance_fs · 7702bdbe
      Jaegeuk Kim 提交于
      If many threads hit has_not_enough_free_secs() in f2fs_balance_fs() at the same
      time, all the threads would do FG_GC or BG_GC.
      In this critical path, we totally don't need to do BG_GC at all.
      Let's avoid that.
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      7702bdbe
    • J
      f2fs: support multiple devices · 3c62be17
      Jaegeuk Kim 提交于
      This patch implements multiple devices support for f2fs.
      Given multiple devices by mkfs.f2fs, f2fs shows them entirely as one big
      volume under one f2fs instance.
      
      Internal block management is very simple, but we will modify block allocation
      and background GC policy to boost IO speed by exploiting them accoording to
      each device speed.
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      3c62be17
    • J
      f2fs: revert segment allocation for direct IO · 6ae1be13
      Jaegeuk Kim 提交于
      Now we don't need to be too much careful about storage alignment for dio, since
      its speed becomes quite fast and we'd better avoid any misalignment first.
      
      Revert: 38aa0889 (f2fs: align direct_io'ed data to section)
      Reviewed-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      6ae1be13
  2. 24 11月, 2016 7 次提交
  3. 01 10月, 2016 4 次提交
  4. 23 9月, 2016 1 次提交
  5. 13 9月, 2016 2 次提交
  6. 08 9月, 2016 3 次提交
  7. 30 8月, 2016 2 次提交
  8. 25 8月, 2016 1 次提交
  9. 16 7月, 2016 2 次提交
  10. 09 7月, 2016 2 次提交
    • C
      f2fs: fix to avoid redundant discard during fstrim · c24a0fd6
      Chao Yu 提交于
      With below test steps, f2fs will issue redundant discard when doing fstrim,
      the reason is that we issue discards for both prefree segments and
      consecutive freed region user wants to trim, part regions they covered are
      overlapped, here, we change to do not to issue any discards for prefree
      segments in trimmed range.
      
      1. mount -t f2fs -o discard /dev/zram0 /mnt/f2fs
      2. fstrim -o 0 -l 3221225472 -m 2097152 -v /mnt/f2fs/
      3. dd if=/dev/zero  of=/mnt/f2fs/a bs=2M count=1
      4. dd if=/dev/zero  of=/mnt/f2fs/b bs=1M count=1
      5. sync
      6. rm /mnt/f2fs/a /mnt/f2fs/b
      7. fstrim -o 0 -l 3221225472 -m 2097152 -v /mnt/f2fs/
      
      Before:
      <...>-5428  [001] ...1  9511.052125: f2fs_issue_discard: dev = (251,0), blkstart = 0x2200, blklen = 0x200
      <...>-5428  [001] ...1  9511.052787: f2fs_issue_discard: dev = (251,0), blkstart = 0x2200, blklen = 0x300
      
      After:
      <...>-6764  [000] ...1  9720.382504: f2fs_issue_discard: dev = (251,0), blkstart = 0x2200, blklen = 0x300
      Signed-off-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      c24a0fd6
    • Y
      f2fs: avoid mismatching block range for discard · c7b41e16
      Yunlei He 提交于
      This patch skip discard block range smaller than trim_minlen,
      and can not be merged by neighbour
      Signed-off-by: NYunlei He <heyunlei@huawei.com>
      Reviewed-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      c7b41e16
  11. 07 7月, 2016 2 次提交
  12. 14 6月, 2016 1 次提交
  13. 09 6月, 2016 2 次提交
  14. 08 6月, 2016 3 次提交
  15. 03 6月, 2016 2 次提交
  16. 04 5月, 2016 1 次提交