Merge tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Jul 2019 00:28:24 +0000 (17:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Jul 2019 00:28:24 +0000 (17:28 -0700)
Pull f2fs updates from Jaegeuk Kim:
 "In this round, we've introduced native swap file support which can
  exploit DIO, enhanced existing checkpoint=disable feature with
  additional mount option to tune the triggering condition, and allowed
  user to preallocate physical blocks in a pinned file which will be
  useful to avoid f2fs fragmentation in append-only workloads. In
  addition, we've fixed subtle quota corruption issue.

  Enhancements:
   - add swap file support which uses DIO
   - allocate blocks for pinned file
   - allow SSR and mount option to enhance checkpoint=disable
   - enhance IPU IOs
   - add more sanity checks such as memory boundary access

  Bug fixes:
   - quota corruption in very corner case of error-injected SPO case
   - fix root_reserved on remount and some wrong counts
   - add missing fsck flag

  Some patches were also introduced to clean up ambiguous i_flags and
  debugging messages codes"

* tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (33 commits)
  f2fs: improve print log in f2fs_sanity_check_ckpt()
  f2fs: avoid out-of-range memory access
  f2fs: fix to avoid long latency during umount
  f2fs: allow all the users to pin a file
  f2fs: support swap file w/ DIO
  f2fs: allocate blocks for pinned file
  f2fs: fix is_idle() check for discard type
  f2fs: add a rw_sem to cover quota flag changes
  f2fs: set SBI_NEED_FSCK for xattr corruption case
  f2fs: use generic EFSBADCRC/EFSCORRUPTED
  f2fs: Use DIV_ROUND_UP() instead of open-coding
  f2fs: print kernel message if filesystem is inconsistent
  f2fs: introduce f2fs_<level> macros to wrap f2fs_printk()
  f2fs: avoid get_valid_blocks() for cleanup
  f2fs: ioctl for removing a range from F2FS
  f2fs: only set project inherit bit for directory
  f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags
  f2fs: replace ktype default_attrs with default_groups
  f2fs: Add option to limit required GC for checkpoint=disable
  f2fs: Fix accounting for unusable blocks
  ...

1  2 
fs/f2fs/data.c
include/trace/events/f2fs.h

diff --cc fs/f2fs/data.c
index a546ac8685ea64d5f787d9b8c84cfe1e9a009e48,6a8db4abdf5f32b9513c5bc823ea2ed37418942d..0ca530afc684ee622fbff18781e432420c1bc12a
@@@ -360,11 -361,12 +361,11 @@@ static bool __has_merged_page(struct bi
        if (!inode && !page && !ino)
                return true;
  
-       bio_for_each_segment_all(bvec, io->bio, iter_all) {
+       bio_for_each_segment_all(bvec, bio, iter_all) {
  
 -              if (bvec->bv_page->mapping)
 -                      target = bvec->bv_page;
 -              else
 -                      target = fscrypt_control_page(bvec->bv_page);
 +              target = bvec->bv_page;
 +              if (fscrypt_is_bounce_page(target))
 +                      target = fscrypt_pagecache_page(target);
  
                if (inode && inode == target->mapping->host)
                        return true;
Simple merge