• Linus Torvalds's avatar
    Merge tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · fe6f0ed0
    Linus Torvalds authored
    Pull f2fs updates from Jaegeuk Kim:
     "In this round, we've tuned f2fs to improve general performance by
      serializing block allocation and enhancing discard flows like fstrim
      which avoids user IO contention. And we've added fsync_mode=nobarrier
      which gives an option to user where it skips issuing cache_flush
      commands to underlying flash storage. And there are many bug fixes
      related to fuzzed images, revoked atomic writes, quota ops, and minor
      direct IO.
    
      Enhancements:
       - add fsync_mode=nobarrier which bypasses cache_flush command
       - enhance the discarding flow which avoids user IOs and issues in
         LBA order
       - readahead some encrypted blocks during GC
       - enable in-memory inode checksum to verify the blocks if
         F2FS_CHECK_FS is set
       - enhance nat_bits behavior
       - set -o discard by default
       - set REQ_RAHEAD to bio in ->readpages
    
      Bug fixes:
       - fix a corner case to corrupt atomic_writes revoking flow
       - revisit i_gc_rwsem to fix race conditions
       - fix some dio behaviors captured by xfstests
       - correct handling errors given by quota-related failures
       - add many sanity check flows to avoid fuzz test failures
       - add more error number propagation to their callers
       - fix several corner cases to continue fault injection w/ shutdown
         loop"
    
    * tag 'f2fs-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (89 commits)
      f2fs: readahead encrypted block during GC
      f2fs: avoid fi->i_gc_rwsem[WRITE] lock in f2fs_gc
      f2fs: fix performance issue observed with multi-thread sequential read
      f2fs: fix to skip verifying block address for non-regular inode
      f2fs: rework fault injection handling to avoid a warning
      f2fs: support fault_type mount option
      f2fs: fix to return success when trimming meta area
      f2fs: fix use-after-free of dicard command entry
      f2fs: support discard submission error injection
      f2fs: split discard command in prior to block layer
      f2fs: wake up gc thread immediately when gc_urgent is set
      f2fs: fix incorrect range->len in f2fs_trim_fs()
      f2fs: refresh recent accessed nat entry in lru list
      f2fs: fix avoid race between truncate and background GC
      f2fs: avoid race between zero_range and background GC
      f2fs: fix to do sanity check with block address in main area v2
      f2fs: fix to do sanity check with inline flags
      f2fs: fix to reset i_gc_failures correctly
      f2fs: fix invalid memory access
      f2fs: fix to avoid broken of dnode block list
      ...
    fe6f0ed0
super.c 83.4 KB