Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp3138639pxy; Mon, 3 May 2021 16:25:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxa5ZGHYBI9N/+9KOFhJ3DehfyPKkOQs3TZgz5QJGyWgVJ6ReJh8UKiq0rwzYN6DsZaPpUa X-Received: by 2002:a65:620d:: with SMTP id d13mr20572510pgv.85.1620084342270; Mon, 03 May 2021 16:25:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620084342; cv=none; d=google.com; s=arc-20160816; b=EFMWzl2JJ5hbwJdnrG9fsRINc2j8fNZDgdNl8TP/pEMles0kXxXn8yyulNIvIVK8+B NX867YVNqsP3Lk5R4M6jhQV+qCTsHJjv+6kLzWKatKoSGqN1kq9fo3QLv49PG52RmSLL hQdSuoDk0pLaqNBQDsAkASe4D2UyeIDLdFQALBS+Ob/cPVpkUtE3JIUhUeqSuKXvKurF 3YwCla4SeJ5zI/bX3L7qqpKkkDlW0QUmKNi9s/FzfJLwy0FmKSNi7PmX+YjrRXG/c7kx +drbV04n2jg5uWKXxT16XMI3numswckEFcfBUHRMxy3pbgK13NayB98bF+A0739jmCth cFwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=mVMAG5BKJ9NnFJxSAtX0NztuE6gmbyxdkfYiRcWj1oU=; b=NAgUJaZr+Z5v/iZitOfOwr8KEr/CIdbtCVc+GV2cHumQzNJVqI5iHU9SgrYV49VaEx lzAU2OYd4UfI07CHxuZigDugwZzhxLi7MK6FmWR+CRcPamPjti3uUHlxy169uqIPqJrw iqRoXfO1TdzfsBop/205H4MNhDe4pglI5yazhvPzZIIaL30tLFTAGFWJViL3cHTn3qX5 PcUs2YyJoOWzGxWewjLVfA47m4yz3a9Mg03Qm+vEOkKY/fcu0sy1bYDiwZf2SXxgRxsm wcOuKPl5+O8wsw8nPBF9YNGndi+m9isKkgGcjmNrMt730oDDVnSCxMK3bc3Als7ILoEn K4mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LIvfhx2O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q7si1007930pjv.169.2021.05.03.16.25.28; Mon, 03 May 2021 16:25:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LIvfhx2O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229905AbhECXZw (ORCPT + 99 others); Mon, 3 May 2021 19:25:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:40154 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229822AbhECXZw (ORCPT ); Mon, 3 May 2021 19:25:52 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B0543610A2; Mon, 3 May 2021 23:24:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620084298; bh=N5zOlncN9R5ag0CV77uw5WYaavEVXPWnViy/gewguUc=; h=Date:From:To:Cc:Subject:From; b=LIvfhx2OV9Ct22PRwwteGn8nMaODzqYVnXQ1R4n08WEghw4bM66kKs2VCABd5Zqq5 fa9qYX7JaJvaI0LmBKJGf7F7nkhP8MCaSav0DdrYuIm3mz5KkTYRO9fPKp84ov3kf/ qvBnrIKSwPlDcKmrCGxHp9Y3T/tGUd7pJ00GENBA6HYQtcBReqnmvMMU+CvIRZC+xU n5y+6hXQiF2gEz9rb+SKcgh+fiCcjtFp8vjtJlO5UlGOeeLPnb9SjdcjHwgFsbS/mW olnAo0JCu10hpcVLZzXF3A/rTgIOsc1FnMUM+lJVx0OToZNt99SIcJZmvYRv6omJZP 2h1YXrHl0lmgw== Date: Mon, 3 May 2021 16:24:57 -0700 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 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, Could you please consider this pull request? Thanks, The following changes since commit 344178334b0971a1ad5f36b76d7b739400e46ec6: Merge tag 'sound-5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound (2021-03-12 12:01:26 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.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) ---------------------------------------------------------------- f2fs-for-5.13-rc1 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. Enhancement: - 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 huangjianan@oppo.com (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