Hi Linus, The following changes since commit 6eaae198076080886b9e7d57f4ae06fa782f90ef: Linux 6.5-rc3 (2023-07-23 15:24:10 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus-6.6-rc1 for you to fetch changes up to 768d612f79822d30a1e7d132a4d4b05337ce42ec: ext4: fix slab-use-after-free in ext4_es_insert_extent() (2023-08-27 11:27:13 -0400) Note that there are a merge conflict with Cristoph's fs_holder_ops patches. The resolution is a bit complicated, but can be seen here: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_merge_resolution The merge resolution can also be seen in the linux-next tree. These changes were fully tested using "gce-xfstests -c ext4/all -g auto", and there were no regressions. ---------------------------------------------------------------- Many ext4 and jbd2 cleanups and bug fixes for v6.6-rc1. * Cleanups in the ext4 remount code when going to and from read-only * Cleanups in ext4's multiblock allocator * Cleanups in the jbd2 setup/mounting code paths * Performance improvements when appending to a delayed allocation file * Miscenallenous syzbot and other bug fixes ---------------------------------------------------------------- Baokun Li (4): ext4: add two helper functions extent_logical_end() and pa_logical_end() ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow ext4: avoid overlapping preallocations due to overflow ext4: fix slab-use-after-free in ext4_es_insert_extent() Brian Foster (1): ext4: drop dio overwrite only flag and associated warning Cai Xinchen (1): ext4: remove unused function declaration Eric Biggers (3): ext4: reject casefold inode flag without casefold feature ext4: remove redundant checks of s_encoding libfs: remove redundant checks of s_encoding Guoqing Cai (1): fs: jbd2: fix an incorrect warn log Jan Kara (11): ext4: remove pointless sb_rdonly() checks from freezing code ext4: use sb_rdonly() helper for checking read-only flag ext4: make ext4_forced_shutdown() take struct super_block ext4: make 'abort' mount option handling standard ext4: drop EXT4_MF_FS_ABORTED flag ext4: avoid starting transaction on read-only fs in ext4_quota_off() ext4: warn on read-only filesystem in ext4_journal_check_start() ext4: drop read-only check in ext4_init_inode_table() ext4: drop read-only check in ext4_write_inode() ext4: drop read-only check from ext4_force_commit() ext4: replace read-only check for shutdown check in mmp code Kemeng Shi (10): ext4: correct grp validation in ext4_mb_good_group ext4: avoid potential data overflow in next_linear_group ext4: return found group directly in ext4_mb_choose_next_group_p2_aligned ext4: use is_power_of_2 helper in ext4_mb_regular_allocator ext4: remove unnecessary return for void function ext4: replace the traditional ternary conditional operator with with max()/min() ext4: remove unused ext4_{set}/{clear}_bit_atomic ext4: return found group directly in ext4_mb_choose_next_group_goal_fast ext4: return found group directly in ext4_mb_choose_next_group_best_avail ext4: correct some stale comment of criteria Liu Song (1): ext4: do not mark inode dirty every time when appending using delalloc Lu Hongfei (2): ext4: change the type of blocksize in ext4_mb_init_cache() ext4: use sbi instead of EXT4_SB(sb) in ext4_mb_new_blocks_simple() Luís Henriques (1): ext4: fix memory leaks in ext4_fname_{setup_filename,prepare_lookup} Ojaswin Mujoo (1): ext4: replace CR_FAST macro with inline function for readability Ritesh Harjani (1): ext4: don't use CR_BEST_AVAIL_LEN for non-regular files Ruan Jinjie (1): ext4: use LIST_HEAD() to initialize the list_head in mballoc.c Su Hui (1): ext4: mballoc: avoid garbage value from err Theodore Ts'o (1): ext4: rename s_error_work to s_sb_upd_work Vitaliy Kuznetsov (1): ext4: add periodic superblock update check Wang Jianjian (2): jbd2: remove unused t_handle_lock ext4: add correct group descriptors and reserved GDT blocks to system zone Yang Li (1): jbd2: remove unused function '__cp_buffer_busy' Zhang Yi (14): jbd2: fix checkpoint cleanup performance regression jbd2: move load_superblock() dependent functions jbd2: move load_superblock() into journal_init_common() jbd2: don't load superblock in jbd2_journal_check_used_features() jbd2: checking valid features early in journal_get_superblock() jbd2: open code jbd2_verify_csum_type() helper jbd2: cleanup load_superblock() jbd2: add fast_commit space check jbd2: cleanup journal_init_common() jbd2: drop useless error tag in jbd2_journal_wipe() jbd2: jbd2_journal_init_{dev,inode} return proper error return value ext4: cleanup ext4_get_dev_journal() and ext4_get_journal() ext4: ext4_get_{dev}_journal return proper error value jbd2: correct the end of the journal recovery scan range Zhihao Cheng (2): jbd2: check 'jh->b_transaction' before removing it from checkpoint ext4: fix unttached inode after power cut with orphan file feature enabled fs/ext4/balloc.c | 15 ++- fs/ext4/block_validity.c | 8 +- fs/ext4/crypto.c | 4 + fs/ext4/ext4.h | 32 +++-- fs/ext4/ext4_jbd2.c | 5 +- fs/ext4/extents_status.c | 44 +++++-- fs/ext4/file.c | 38 +++--- fs/ext4/fsync.c | 9 +- fs/ext4/hash.c | 2 +- fs/ext4/ialloc.c | 8 +- fs/ext4/inline.c | 2 +- fs/ext4/inode.c | 124 +++++++++++------- fs/ext4/ioctl.c | 2 +- fs/ext4/mballoc.c | 200 +++++++++++++---------------- fs/ext4/mballoc.h | 14 ++ fs/ext4/mmp.c | 2 +- fs/ext4/namei.c | 17 ++- fs/ext4/page-io.c | 2 +- fs/ext4/super.c | 308 +++++++++++++++++++++++++------------------- fs/ext4/xattr.c | 2 +- fs/jbd2/checkpoint.c | 34 +++-- fs/jbd2/journal.c | 484 +++++++++++++++++++++++++++++++++------------------------------------- fs/jbd2/recovery.c | 12 +- fs/libfs.c | 14 +- fs/ocfs2/journal.c | 8 +- include/linux/jbd2.h | 5 - 26 files changed, 717 insertions(+), 678 deletions(-)