• Linus Torvalds's avatar
    Merge tag 'f2fs-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · ef510682
    Linus Torvalds authored
    Pull f2fs updates from Jaegeuk Kim:
     "In this cycle, f2fs has some performance improvements for Android
      workloads such as using read-unfair rwsems and adding some sysfs
      entries to control GCs and discard commands in more details. In
      addtiion, it has some tunings to improve the recovery speed after
      sudden power-cut.
    
      Enhancement:
       - add reader-unfair rwsems with F2FS_UNFAIR_RWSEM: will replace with
         generic API support
       - adjust to make the readahead/recovery flow more efficiently
       - sysfs entries to control issue speeds of GCs and Discard commands
       - enable idmapped mounts
    
      Bug fix:
       - correct wrong error handling routines
       - fix missing conditions in quota
       - fix a potential deadlock between writeback and block plug routines
       - fix a deadlock btween freezefs and evict_inode
    
      We've added some boundary checks to avoid kernel panics on corrupted
      images, and several minor code clean-ups"
    
    * tag 'f2fs-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (27 commits)
      f2fs: fix to do sanity check on .cp_pack_total_block_count
      f2fs: make gc_urgent and gc_segment_mode sysfs node readable
      f2fs: use aggressive GC policy during f2fs_disable_checkpoint()
      f2fs: fix compressed file start atomic write may cause data corruption
      f2fs: initialize sbi->gc_mode explicitly
      f2fs: introduce gc_urgent_mid mode
      f2fs: compress: fix to print raw data size in error path of lz4 decompression
      f2fs: remove redundant parameter judgment
      f2fs: use spin_lock to avoid hang
      f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs
      f2fs: remove unnecessary read for F2FS_FITS_IN_INODE
      f2fs: introduce F2FS_UNFAIR_RWSEM to support unfair rwsem
      f2fs: avoid an infinite loop in f2fs_sync_dirty_inodes
      f2fs: fix to do sanity check on curseg->alloc_type
      f2fs: fix to avoid potential deadlock
      f2fs: quota: fix loop condition at f2fs_quota_sync()
      f2fs: Restore rwsem lockdep support
      f2fs: fix missing free nid in f2fs_handle_failed_inode
      f2fs: support idmapped mounts
      f2fs: add a way to limit roll forward recovery time
      ...
    ef510682
recovery.c 21.8 KB