LKML Archive on
 help / color / Atom feed
From: Jaegeuk Kim <>
To: Linus Torvalds <>
Cc: Linux Kernel Mailing List <>,
	Linux F2FS Dev Mailing List 
Subject: [GIT PULL] f2fs update for 5.13-rc1
Date: Mon, 3 May 2021 16:24:57 -0700
Message-ID: <> (raw)

Hi Linus,

Could you please consider this pull request?


The following changes since commit 344178334b0971a1ad5f36b76d7b739400e46ec6:

  Merge tag 'sound-5.12-rc3' of git:// (2021-03-12 12:01:26 -0800)

are available in the Git repository at:

  git:// tags/f2fs-for-5.13-rc1

for you to fetch changes up to 9557727876674893d35940fddbd03d3b505e7ed8:

  f2fs: drop inplace IO if fs status is abnormal (2021-04-26 09:50:39 -0700)


In this round, we added a new mount option, "checkpoint_merge", which introduces
a kernel thread dealing with the f2fs checkpoints. Once we start to manage the
IO priority along with blk-cgroup, the checkpoint operation can be processed in
a lower priority under the process context. Since the checkpoint holds all the
filesystem operations, we give a higher priority to the checkpoint thread all
the time.

- introduce gc_merge mount option to introduce a checkpoint thread
- improve to run discard thread efficiently
- allow modular compression algorithms
- expose # of overprivision segments to sysfs
- expose runtime compression stat to sysfs

Bug fix:
- fix OOB memory access by the node id lookup
- avoid touching checkpointed data in the checkpoint-disabled mode
- fix the resizing flow to avoid kernel panic and race conditions
- fix block allocation issues on pinned files
- address some swapfile issues
- fix hugtask problem and kernel panic during atomic write operations
- don't start checkpoint thread in RO

And, we've cleaned up some kernel coding style and build warnings. In addition,
we fixed some minor race conditions and error handling routines.

Chao Yu (25):
      f2fs: fix to allow migrating fully valid segment
      f2fs: fix panic during f2fs_resize_fs()
      f2fs: avoid unused f2fs_show_compress_options()
      f2fs: remove unused FORCE_FG_GC macro
      f2fs: update comments for explicit memory barrier
      f2fs: check discard command number before traversing discard pending list
      f2fs: remove unused file_clear_encrypt()
      f2fs: fix to align to section for fallocate() on pinned file
      f2fs: don't start checkpoint thread in readonly mountpoint
      f2fs: fix to avoid out-of-bounds memory access
      f2fs: fix error path of f2fs_remount()
      f2fs: fix to update last i_size if fallocate partially succeeds
      f2fs: fix to avoid touching checkpointed data in get_victim()
      f2fs: delete empty compress.h
      f2fs: fix to cover __allocate_new_section() with curseg_lock
      f2fs: introduce gc_merge mount option
      f2fs: fix to restrict mount condition on readonly block device
      f2fs: fix to avoid GC/mmap race with f2fs_truncate()
      f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
      f2fs: document: add description about compressed space handling
      f2fs: avoid duplicated codes for cleanup
      f2fs: avoid using native allocate_segment_by_default()
      f2fs: clean up left deprecated IO trace codes
      f2fs: compress: remove unneed check condition
      f2fs: drop inplace IO if fs status is abnormal

Chengguang Xu (1):
      f2fs: fix to use per-inode maxbytes in f2fs_fiemap

Colin Ian King (1):
      f2fs: fix a redundant call to f2fs_balance_fs if an error occurs

Daeho Jeong (1):
      f2fs: add sysfs nodes to get runtime compression stat

Eric Biggers (1):
      f2fs: fix error handling in f2fs_end_enable_verity()

Geert Uytterhoeven (1):
      f2fs: compress: Allow modular (de)compression algorithms

Gustavo A. R. Silva (1):
      f2fs: Replace one-element array with flexible-array member

Jaegeuk Kim (2):
      f2fs: expose # of overprivision segments
      f2fs: set checkpoint_merge by default

Ruiqi Gong (1):
      f2fs: fix a typo in inode.c

Sahitya Tummala (2):
      f2fs: allow to change discard policy based on cached discard cmds
      f2fs: fix the periodic wakeups of discard thread

Wan Jiabing (1):
      f2fs: remove unnecessary struct declaration

Wang Xiaojun (1):
      f2fs: fix wrong alloc_type in f2fs_do_replace_block

Weichao Guo (1):
      f2fs: do not use AT_SSR mode in FG_GC & high urgent BG_GC

Yi Chen (1):
      f2fs: fix to avoid NULL pointer dereference

Yi Zhuang (2):
      f2fs: Fix a hungtask problem in atomic write
      f2fs: clean up build warnings (3):
      f2fs: remove unnecessary IS_SWAPFILE check
      f2fs: fix last_lblock check in check_swap_activate_fast
      f2fs: check if swapfile is section-alligned

jiahao (1):
      f2fs: fix a spacing coding style

qiulaibin (1):
      f2fs: fix wrong comment of nat_tree_lock

xuyehan (1):
      f2fs: fix a spelling error

 Documentation/ABI/testing/sysfs-fs-f2fs |  31 +++++-
 Documentation/filesystems/f2fs.rst      |  14 +++
 fs/f2fs/Kconfig                         |  16 ++-
 fs/f2fs/acl.c                           |   1 +
 fs/f2fs/checkpoint.c                    |   9 +-
 fs/f2fs/compress.c                      |  15 +--
 fs/f2fs/compress.h                      |   0
 fs/f2fs/data.c                          | 125 ++++++++++++++++++----
 fs/f2fs/debug.c                         |   3 +
 fs/f2fs/dir.c                           |   1 +
 fs/f2fs/f2fs.h                          |  55 ++++++----
 fs/f2fs/file.c                          |  51 +++++----
 fs/f2fs/gc.c                            |  95 +++++++++++++----
 fs/f2fs/gc.h                            |   6 ++
 fs/f2fs/inline.c                        |   3 +-
 fs/f2fs/inode.c                         |   3 +-
 fs/f2fs/namei.c                         |   3 +
 fs/f2fs/node.c                          |  19 +++-
 fs/f2fs/node.h                          |   1 +
 fs/f2fs/recovery.c                      |   3 +-
 fs/f2fs/segment.c                       | 184 +++++++++++++++++++++++---------
 fs/f2fs/segment.h                       |  16 ++-
 fs/f2fs/super.c                         | 102 +++++++++++++-----
 fs/f2fs/sysfs.c                         |  47 ++++++++
 fs/f2fs/verity.c                        |  75 +++++++++----
 fs/f2fs/xattr.c                         |   1 +
 include/linux/f2fs_fs.h                 |   2 +-
 27 files changed, 660 insertions(+), 221 deletions(-)
 delete mode 100644 fs/f2fs/compress.h

             reply index

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-03 23:24 Jaegeuk Kim [this message]
2021-05-05  1:17 ` [f2fs-dev] " pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on

Archives are clonable:
	git clone --mirror lkml/git/0.git
	git clone --mirror lkml/git/1.git
	git clone --mirror lkml/git/2.git
	git clone --mirror lkml/git/3.git
	git clone --mirror lkml/git/4.git
	git clone --mirror lkml/git/5.git
	git clone --mirror lkml/git/6.git
	git clone --mirror lkml/git/7.git
	git clone --mirror lkml/git/8.git
	git clone --mirror lkml/git/9.git
	git clone --mirror lkml/git/10.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ \
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone