1. 24 5月, 2017 2 次提交
  2. 17 5月, 2017 1 次提交
  3. 04 5月, 2017 2 次提交
  4. 03 5月, 2017 1 次提交
  5. 11 4月, 2017 2 次提交
  6. 06 4月, 2017 2 次提交
  7. 30 3月, 2017 1 次提交
  8. 25 3月, 2017 1 次提交
  9. 22 3月, 2017 2 次提交
    • J
      f2fs: add fault injection on f2fs_truncate · 14b44d23
      Jaegeuk Kim 提交于
      Inject a fault during f2fs_truncate().
      Signed-off-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      14b44d23
    • J
      f2fs: build stat_info before orphan inode recovery · aa51d08a
      Jaegeuk Kim 提交于
      f2fs_sync_fs() -> write_checkpoint() calls stat_inc_cp_count(sbi->stat_info),
      which needs stat_info allocation.
      Otherwise, we can hit:
      
      [254042.598623]  ? count_shadow_nodes+0xa0/0xa0
      [254042.598633]  f2fs_sync_fs+0x65/0xd0 [f2fs]
      [254042.598645]  f2fs_balance_fs_bg+0xe4/0x1c0 [f2fs]
      [254042.598657]  f2fs_write_node_pages+0x34/0x1a0 [f2fs]
      [254042.598664]  ? pagevec_lookup_entries+0x1e/0x30
      [254042.598673]  do_writepages+0x1e/0x30
      [254042.598682]  __writeback_single_inode+0x45/0x330
      [254042.598688]  writeback_single_inode+0xd7/0x190
      [254042.598694]  write_inode_now+0x86/0xa0
      [254042.598699]  iput+0x122/0x200
      [254042.598709]  f2fs_fill_super+0xd4a/0x14d0 [f2fs]
      [254042.598717]  mount_bdev+0x184/0x1c0
      [254042.598934]  ? f2fs_commit_super+0x100/0x100 [f2fs]
      [254042.599142]  f2fs_mount+0x15/0x20 [f2fs]
      [254042.599349]  mount_fs+0x39/0x160
      [254042.599554]  ? __alloc_percpu+0x15/0x20
      [254042.599759]  vfs_kern_mount+0x67/0x110
      [254042.599972]  do_mount+0x1bb/0xc80
      [254042.600175]  ? memdup_user+0x42/0x60
      [254042.600380]  SyS_mount+0x83/0xd0
      [254042.600583]  entry_SYSCALL_64_fastpath+0x1e/0xad
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      aa51d08a
  10. 28 2月, 2017 4 次提交
  11. 24 2月, 2017 4 次提交
  12. 23 2月, 2017 2 次提交
  13. 08 2月, 2017 1 次提交
  14. 29 1月, 2017 3 次提交
  15. 12 1月, 2017 1 次提交
    • D
      block: Rename blk_queue_zone_size and bdev_zone_size · f99e8648
      Damien Le Moal 提交于
      All block device data fields and functions returning a number of 512B
      sectors are by convention named xxx_sectors while names in the form
      xxx_size are generally used for a number of bytes. The blk_queue_zone_size
      and bdev_zone_size functions were not following this convention so rename
      them.
      
      No functional change is introduced by this patch.
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      
      Collapsed the two patches, they were nonsensically split and broke
      bisection.
      Signed-off-by: NJens Axboe <axboe@fb.com>
      f99e8648
  16. 08 1月, 2017 1 次提交
  17. 08 12月, 2016 2 次提交
  18. 06 12月, 2016 1 次提交
  19. 26 11月, 2016 2 次提交
  20. 24 11月, 2016 5 次提交
    • J
      f2fs: remove checkpoint in f2fs_freeze · b4b9d34c
      Jaegeuk Kim 提交于
      The generic freeze_super() calls sync_filesystems() before f2fs_freeze().
      So, basically we don't need to do checkpoint in f2fs_freeze(). But, in xfs/068,
      it triggers circular locking problem below due to gc_mutex for checkpoint.
      
      ======================================================
      [ INFO: possible circular locking dependency detected ]
      4.9.0-rc1+ #132 Tainted: G           OE
      -------------------------------------------------------
      
      1. wait for __sb_start_write() by
      
       [<ffffffff9845f353>] dump_stack+0x85/0xc2
       [<ffffffff980e80bf>] print_circular_bug+0x1cf/0x230
       [<ffffffff980eb4d0>] __lock_acquire+0x19e0/0x1bc0
       [<ffffffff980ebdcb>] lock_acquire+0x11b/0x220
       [<ffffffffc08c7c3b>] ? f2fs_drop_inode+0x9b/0x160 [f2fs]
       [<ffffffff9826bdd0>] __sb_start_write+0x130/0x200
       [<ffffffffc08c7c3b>] ? f2fs_drop_inode+0x9b/0x160 [f2fs]
       [<ffffffffc08c7c3b>] f2fs_drop_inode+0x9b/0x160 [f2fs]
       [<ffffffff98289991>] iput+0x171/0x2c0
       [<ffffffffc08cfccf>] f2fs_sync_inode_meta+0x3f/0xf0 [f2fs]
       [<ffffffffc08cfe04>] block_operations+0x84/0x110 [f2fs]
       [<ffffffffc08cff78>] write_checkpoint+0xe8/0xf20 [f2fs]
       [<ffffffff980e979d>] ? trace_hardirqs_on+0xd/0x10
       [<ffffffffc08c6de9>] ? f2fs_sync_fs+0x79/0x190 [f2fs]
       [<ffffffff9803e9d9>] ? sched_clock+0x9/0x10
       [<ffffffffc08c6de9>] ? f2fs_sync_fs+0x79/0x190 [f2fs]
       [<ffffffffc08c6df5>] f2fs_sync_fs+0x85/0x190 [f2fs]
       [<ffffffff982a4f90>] ? do_fsync+0x70/0x70
       [<ffffffff982a4f90>] ? do_fsync+0x70/0x70
       [<ffffffff982a4fb0>] sync_fs_one_sb+0x20/0x30
       [<ffffffff9826ca3e>] iterate_supers+0xae/0x100
       [<ffffffff982a50b5>] sys_sync+0x55/0x90
       [<ffffffff9890b345>] entry_SYSCALL_64_fastpath+0x23/0xc6
      
      2. wait for sbi->gc_mutex by
      
       [<ffffffff980ebdcb>] lock_acquire+0x11b/0x220
       [<ffffffff989063d6>] mutex_lock_nested+0x76/0x3f0
       [<ffffffffc08c6de9>] f2fs_sync_fs+0x79/0x190 [f2fs]
       [<ffffffffc08c7a6c>] f2fs_freeze+0x1c/0x20 [f2fs]
       [<ffffffff9826b6ef>] freeze_super+0xcf/0x190
       [<ffffffff9827eebc>] do_vfs_ioctl+0x53c/0x6a0
       [<ffffffff9827f099>] SyS_ioctl+0x79/0x90
       [<ffffffff9890b345>] entry_SYSCALL_64_fastpath+0x23/0xc6
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      b4b9d34c
    • D
      f2fs: Cache zoned block devices zone type · 178053e2
      Damien Le Moal 提交于
      With the zoned block device feature enabled, section discard
      need to do a zone reset for sections contained in sequential
      zones, and a regular discard (if supported) for sections
      stored in conventional zones. Avoid the need for a costly
      report zones to obtain a section zone type when discarding it
      by caching the types of the device zones in the super block
      information. This cache is initialized at mount time for mounts
      with the zoned block device feature enabled.
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      178053e2
    • D
      f2fs: Do not allow adaptive mode for host-managed zoned block devices · 3adc57e9
      Damien Le Moal 提交于
      The LFS mode is mandatory for host-managed zoned block devices as
      update in place optimizations are not possible for segments in
      sequential zones.
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      3adc57e9
    • D
      f2fs: Always enable discard for zoned blocks devices · 96ba2dec
      Damien Le Moal 提交于
      Zone write pointer reset acts as discard for zoned block
      devices. So if the zoned block device feature is enabled,
      always declare that discard is enabled, even if the device
      does not actually support the command.
      For the same reason, prevent the use the "nodicard" mount
      option.
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      96ba2dec
    • D
      f2fs: Suppress discard warning message for zoned block devices · 0ab02998
      Damien Le Moal 提交于
      For zoned block devices, discard is replaced by zone reset. So
      do not warn if the device does not supports discard.
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      0ab02998