• Linus Torvalds's avatar
    Merge tag 'f2fs-for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 6abaa83c
    Linus Torvalds authored
    Pull f2fs updates from Jaegeuk Kim:
     "In this cycle, we've addressed some performance issues such as lock
      contention, misbehaving compress_cache, allowing extent_cache for
      compressed files, and new sysfs to adjust ra_size for fadvise.
    
      In order to diagnose the performance issues quickly, we also added an
      iostat which shows the IO latencies periodically.
    
      On the stability side, we've found two memory leakage cases in the
      error path in compression flow. And, we've also fixed various corner
      cases in fiemap, quota, checkpoint=disable, zstd, and so on.
    
      Enhancements:
       - avoid long checkpoint latency by releasing nat_tree_lock
       - collect and show iostats periodically
       - support extent_cache for compressed files
       - add a sysfs entry to manage ra_size given fadvise(POSIX_FADV_SEQUENTIAL)
       - report f2fs GC status via sysfs
       - add discard_unit=%s in mount option to handle zoned device
    
      Bug fixes:
       - fix two memory leakages when an error happens in the compressed IO flow
       - fix commpress_cache to get the right LBA
       - fix fiemap to deal with compressed case correctly
       - fix wrong EIO returns due to SBI_NEED_FSCK
       - fix missing writes when enabling checkpoint back
       - fix quota deadlock
       - fix zstd level mount option
    
      In addition to the above major updates, we've cleaned up several code
      paths such as dio, unnecessary operations, debugfs/f2fs/status, sanity
      check, and typos"
    
    * tag 'f2fs-for-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (46 commits)
      f2fs: should put a page beyond EOF when preparing a write
      f2fs: deallocate compressed pages when error happens
      f2fs: enable realtime discard iff device supports discard
      f2fs: guarantee to write dirty data when enabling checkpoint back
      f2fs: fix to unmap pages from userspace process in punch_hole()
      f2fs: fix unexpected ENOENT comes from f2fs_map_blocks()
      f2fs: fix to account missing .skipped_gc_rwsem
      f2fs: adjust unlock order for cleanup
      f2fs: Don't create discard thread when device doesn't support realtime discard
      f2fs: rebuild nat_bits during umount
      f2fs: introduce periodic iostat io latency traces
      f2fs: separate out iostat feature
      f2fs: compress: do sanity check on cluster
      f2fs: fix description about main_blkaddr node
      f2fs: convert S_IRUGO to 0444
      f2fs: fix to keep compatibility of fault injection interface
      f2fs: support fault injection for f2fs_kmem_cache_alloc()
      f2fs: compress: allow write compress released file after truncate to zero
      f2fs: correct comment in segment.h
      f2fs: improve sbi status info in debugfs/f2fs/status
      ...
    6abaa83c
file.c 107 KB