The following changes since commit f2661062f16b2de5d7b6a5c42a9a5c96326b8454: Linux 6.10-rc5 (2024-06-23 17:08:54 -0400) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus-6.11-rc1 for you to fetch changes up to f9ca51596bbfd0f9c386dd1c613c394c78d9e5e6: ext4: make sure the first directory block is not a hole (2024-07-10 23:25:12 -0400) ---------------------------------------------------------------- Many cleanups and bug fixes in ext4, especially for the fast commit feature. Also some performance improvements; in particular, improving IOPS and throughput on fast devices running Async Direct I/O by up to 20% by optimizing jbd2_transaction_committed(). ---------------------------------------------------------------- Baokun Li (2): ext4: check dot and dotdot of dx_root before making dir indexed ext4: make sure the first directory block is not a hole Jan Kara (6): ext4: avoid writing unitialized memory to disk in EA inodes jbd2: make jbd2_journal_get_max_txn_bufs() internal jbd2: precompute number of transaction descriptor blocks jbd2: avoid infinite transaction commit loop jbd2: drop pointless shrinker batch initialization jbd2: increase maximum transaction size Jeff Johnson (2): jbd2: add missing MODULE_DESCRIPTION() ext4: add missing MODULE_DESCRIPTION() Kees Cook (1): ext4: use memtostr_pad() for s_volume_name Kemeng Shi (9): jbd2: avoid memleak in jbd2_journal_write_metadata_buffer jbd2: remove unused return info from jbd2_journal_write_metadata_buffer jbd2: remove unnedded "need_copy_out" in jbd2_journal_write_metadata_buffer jbd2: jump to new copy_done tag when b_frozen_data is created concurrently jbd2: remove unneeded kmap to do escape in jbd2_journal_write_metadata_buffer jbd2: use bh_in instead of jh2bh(jh_in) to simplify code jbd2: remove dead equality check of j_commit_[sequence/request] in kjournald2 jbd2: remove dead check of JBD2_UNMOUNT in kjournald2 jbd2: remove unnecessary "should_sleep" in kjournald2 Li zeming (1): ext4: block_validity: Remove unnecessary ‘NULL’ values from new_node Luis Henriques (SUSE) (4): ext4: fix infinite loop when replaying fast_commit ext4: use ext4_update_inode_fsync_trans() helper in inode creation ext4: fix possible tid_t sequence overflows ext4: don't track ranges in fast_commit if inode has inlined data Thorsten Blum (1): jbd2: use str_plural() to fix Coccinelle warning Wojciech Gładysz (1): ext4: sanity check for NULL pointer after ext4_force_shutdown Xiaxi Shen (1): ext4: fix uninitialized variable in ext4_inlinedir_to_tree Ye Bin (1): jbd2: avoid mount failed when commit block is partial submitted Zhang Yi (11): ext4: factor out a common helper to query extent map ext4: check the extent status again before inserting delalloc block ext4: warn if delalloc counters are not zero on inactive ext4: trim delalloc extent ext4: drop iblock parameter ext4: make ext4_es_insert_delayed_block() insert multi-blocks ext4: make ext4_da_reserve_space() reserve multi-clusters ext4: factor out a helper to check the cluster allocation state ext4: make ext4_insert_delayed_block() insert multi-blocks ext4: make ext4_da_map_blocks() buffer_head unaware jbd2: speed up jbd2_transaction_committed() fs/buffer.c | 2 + fs/ext4/block_validity.c | 2 +- fs/ext4/ext4.h | 2 +- fs/ext4/extents_status.c | 72 ++++++++++----- fs/ext4/extents_status.h | 5 +- fs/ext4/fast_commit.c | 14 ++- fs/ext4/ialloc.c | 5 +- fs/ext4/inline.c | 6 +- fs/ext4/inode-test.c | 1 + fs/ext4/inode.c | 255 +++++++++++++++++++++++++++++++++------------------ fs/ext4/ioctl.c | 2 +- fs/ext4/namei.c | 73 +++++++++++---- fs/ext4/super.c | 6 +- fs/ext4/xattr.c | 6 ++ fs/jbd2/commit.c | 14 +-- fs/jbd2/journal.c | 124 ++++++++++++++----------- fs/jbd2/recovery.c | 33 ++++++- fs/jbd2/transaction.c | 45 +++------ include/linux/jbd2.h | 12 ++- include/trace/events/ext4.h | 26 +++--- 20 files changed, 455 insertions(+), 250 deletions(-)