[GIT PULL] ext4 updates for 6.11-rc1

Theodore Ts'o
2024-07-18T03:27:41Z

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(-)