# git rev-parse -q --verify 041fae9c105ae342a4245cf1e0dc56a23fbb9d3c^{commit} 041fae9c105ae342a4245cf1e0dc56a23fbb9d3c already have revision, skipping fetch # git checkout -q -f -B kisskb 041fae9c105ae342a4245cf1e0dc56a23fbb9d3c # git clean -qxdf # < git log -1 # commit 041fae9c105ae342a4245cf1e0dc56a23fbb9d3c # Merge: eb67d239f3aa 26a8057a1ada # Author: Linus Torvalds # Date: Wed Dec 14 15:27:57 2022 -0800 # # Merge tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs # # Pull f2fs updates from Jaegeuk Kim: # "In this round, we've added two features: F2FS_IOC_START_ATOMIC_REPLACE # and a per-block age-based extent cache. # # F2FS_IOC_START_ATOMIC_REPLACE is a variant of the previous atomic # write feature which guarantees a per-file atomicity. It would be more # efficient than AtomicFile implementation in Android framework. # # The per-block age-based extent cache implements another type of extent # cache in memory which keeps the per-block age in a file, so that block # allocator could split the hot and cold data blocks more accurately. # # Enhancements: # - introduce F2FS_IOC_START_ATOMIC_REPLACE # - refactor extent_cache to add a new per-block-age-based extent cache support # - introduce discard_urgent_util, gc_mode, max_ordered_discard sysfs knobs # - add proc entry to show discard_plist info # - optimize iteration over sparse directories # - add barrier mount option # # Bug fixes: # - avoid victim selection from previous victim section # - fix to enable compress for newly created file if extension matches # - set zstd compress level correctly # - initialize locks early in f2fs_fill_super() to fix bugs reported by syzbot # - correct i_size change for atomic writes # - allow to read node block after shutdown # - allow to set compression for inlined file # - fix gc mode when gc_urgent_high_remaining is 1 # - should put a page when checking the summary info # # Minor fixes and various clean-ups in GC, discard, debugfs, sysfs, and # doc" # # * tag 'f2fs-for-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (63 commits) # f2fs: reset wait_ms to default if any of the victims have been selected # f2fs: fix some format WARNING in debug.c and sysfs.c # f2fs: don't call f2fs_issue_discard_timeout() when discard_cmd_cnt is 0 in f2fs_put_super() # f2fs: fix iostat parameter for discard # f2fs: Fix spelling mistake in label: free_bio_enrty_cache -> free_bio_entry_cache # f2fs: add block_age-based extent cache # f2fs: allocate the extent_cache by default # f2fs: refactor extent_cache to support for read and more # f2fs: remove unnecessary __init_extent_tree # f2fs: move internal functions into extent_cache.c # f2fs: specify extent cache for read explicitly # f2fs: introduce f2fs_is_readonly() for readability # f2fs: remove F2FS_SET_FEATURE() and F2FS_CLEAR_FEATURE() macro # f2fs: do some cleanup for f2fs module init # MAINTAINERS: Add f2fs bug tracker link # f2fs: remove the unused flush argument to change_curseg # f2fs: open code allocate_segment_by_default # f2fs: remove struct segment_allocation default_salloc_ops # f2fs: introduce discard_urgent_util sysfs node # f2fs: define MIN_DISCARD_GRANULARITY macro # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 041fae9c105ae342a4245cf1e0dc56a23fbb9d3c # < make -s -j 160 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allmodconfig # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 160 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 160 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 160 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc11 # Build took: 0:24:06.777199