• Linus Torvalds's avatar
    Merge tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 086ba2ec
    Linus Torvalds authored
    Pull f2fs updates from Jaegeuk Kim:
     "In this round, we've added two small interfaces: (a) GC_URGENT_LOW
      mode for performance and (b) F2FS_IOC_SEC_TRIM_FILE ioctl for
      security.
    
      The new GC mode allows Android to run some lower priority GCs in
      background, while new ioctl discards user information without race
      condition when the account is removed.
    
      In addition, some patches were merged to address latency-related
      issues. We've fixed some compression-related bug fixes as well as edge
      race conditions.
    
      Enhancements:
       - add GC_URGENT_LOW mode in gc_urgent
       - introduce F2FS_IOC_SEC_TRIM_FILE ioctl
       - bypass racy readahead to improve read latencies
       - shrink node_write lock coverage to avoid long latency
    
      Bug fixes:
       - fix missing compression flag control, i_size, and mount option
       - fix deadlock between quota writes and checkpoint
       - remove inode eviction path in synchronous path to avoid deadlock
       - fix to wait GCed compressed page writeback
       - fix a kernel panic in f2fs_is_compressed_page
       - check page dirty status before writeback
       - wait page writeback before update in node page write flow
       - fix a race condition between f2fs_write_end_io and f2fs_del_fsync_node_entry
    
      We've added some minor sanity checks and refactored trivial code
      blocks for better readability and debugging information"
    
    * tag 'f2fs-for-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
      f2fs: prepare a waiter before entering io_schedule
      f2fs: update_sit_entry: Make the judgment condition of f2fs_bug_on more intuitive
      f2fs: replace test_and_set/clear_bit() with set/clear_bit()
      f2fs: make file immutable even if releasing zero compression block
      f2fs: compress: disable compression mount option if compression is off
      f2fs: compress: add sanity check during compressed cluster read
      f2fs: use macro instead of f2fs verity version
      f2fs: fix deadlock between quota writes and checkpoint
      f2fs: correct comment of f2fs_exist_written_data
      f2fs: compress: delay temp page allocation
      f2fs: compress: fix to update isize when overwriting compressed file
      f2fs: space related cleanup
      f2fs: fix use-after-free issue
      f2fs: Change the type of f2fs_flush_inline_data() to void
      f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl
      f2fs: should avoid inode eviction in synchronous path
      f2fs: segment.h: delete a duplicated word
      f2fs: compress: fix to avoid memory leak on cc->cpages
      f2fs: use generic names for generic ioctls
      f2fs: don't keep meta inode pages used for compressed block migration
      ...
    086ba2ec
compress.c 34.6 KB