The following changes since commit 4e3c51f4e805291b057d12f5dda5aeb50a538dc4: fs: do not update freeing inode i_io_list (2022-11-22 17:00:00 -0500) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus for you to fetch changes up to 1da18e38cb97e9521e93d63034521a9649524f64: ext4: fix reserved cluster accounting in __es_remove_extent() (2022-12-09 00:58:04 -0500) ---------------------------------------------------------------- A large number of cleanups and bug fixes, with many of the bug fixes found by Syzbot and fuzzing. (Many of the bug fixes involve less-used ext4 features such as fast_commit, inline_data and bigalloc.) In addition, remove the writepage function for ext4, since the medium-term plan is to remove ->writepage() entirely. (The VM doesn't need or want writepage() for writeback, since it is fine with ->writepages() so long as ->migrate_folio() is implemented.) ---------------------------------------------------------------- Alexander Potapenko (1): fs: ext4: initialize fsdata in pagecache_write() Baokun Li (10): ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop ext4: fix bug_on in __es_tree_search caused by bad quota inode ext4: add helper to check quota inums ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode ext4: fix bug_on in __es_tree_search caused by bad boot loader inode ext4: fix use-after-free in ext4_orphan_cleanup ext4: correct inconsistent error msg in nojournal mode ext4: fix bad checksum after online resize ext4: fix corrupt backup group descriptors after online resize ext4: fix corruption when online resizing a 1K bigalloc fs Bixuan Cui (1): jbd2: use the correct print format Darrick J. Wong (2): ext4: dont return EINVAL from GETFSUUID when reporting UUID length ext4: don't fail GETFSUUID when the caller provides a long buffer Eric Biggers (8): ext4: don't allow journal inode to have encrypt flag ext4: disable fast-commit of encrypted dir operations ext4: don't set up encryption key during jbd2 transaction ext4: fix leaking uninitialized memory in fast-commit journal ext4: add missing validation of fast-commit record lengths ext4: fix unaligned memory access in ext4_fc_reserve_space() ext4: fix off-by-one errors in fast-commit block filling ext4: simplify fast-commit CRC calculation Eric Whitney (1): ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline Gaosheng Cui (1): ext4: fix undefined behavior in bit shift for ext4_check_flag_values Guoqing Jiang (1): ext4: make ext4_mb_initialize_context return void Jan Kara (16): ext4: avoid BUG_ON when creating xattrs ext4: fix deadlock due to mbcache entry corruption ext4: handle redirtying in ext4_bio_write_page() ext4: move keep_towrite handling to ext4_bio_write_page() ext4: remove nr_submitted from ext4_bio_write_page() ext4: drop pointless IO submission from ext4_bio_write_page() ext4: add support for writepages calls that cannot map blocks ext4: provide ext4_do_writepages() ext4: move percpu_rwsem protection into ext4_writepages() ext4: switch to using ext4_do_writepages() for ordered data writeout jbd2: switch jbd2_submit_inode_data() to use fs-provided hook for data writeout ext4: switch to using write_cache_pages() for data=journal writeout mm: export buffer_migrate_folio_norefs() ext4: stop providing .writepage hook ext4: initialize quota before expanding inode in setproject ioctl ext4: avoid unaccounted block allocation when expanding inode Jiangshan Yi (1): fs/ext4: replace ternary operator with min()/max() and min_t() Jinpeng Cui (1): ext4: remove redundant variable err JunChao Sun (1): ext4: replace kmem_cache_create with KMEM_CACHE Li Zhong (1): ext4: check the return value of ext4_xattr_inode_dec_ref() Lukas Czerner (2): ext4: journal_path mount options should follow links ext4: print file system UUID on mount, remount and unmount Luís Henriques (2): ext4: remove trailing newline from ext4_msg() message ext4: fix error code return to user-space in ext4_get_branch() Ye Bin (6): ext4: init quota for 'old.inode' in 'ext4_rename' ext4: fix uninititialized value in 'ext4_evict_inode' ext4: fix kernel BUG in 'ext4_write_inline_data_end()' ext4: allocate extended attribute value in vmalloc area ext4: fix inode leak in ext4_xattr_inode_create() on an error path ext4: fix reserved cluster accounting in __es_remove_extent() Zhang Yi (2): ext4: silence the warning when evicting inode with dioread_nolock ext4: check and assert if marking an no_delete evicting inode dirty changfengnan (1): ext4: split ext4_journal_start trace for debug Documentation/filesystems/mount_api.rst | 1 + fs/ext4/ext4.h | 13 +- fs/ext4/ext4_jbd2.c | 14 ++- fs/ext4/ext4_jbd2.h | 10 +- fs/ext4/extents.c | 16 ++- fs/ext4/extents_status.c | 11 +- fs/ext4/fast_commit.c | 205 ++++++++++++++++--------------- fs/ext4/fast_commit.h | 3 +- fs/ext4/ialloc.c | 4 +- fs/ext4/indirect.c | 9 +- fs/ext4/inline.c | 3 +- fs/ext4/inode.c | 252 +++++++++++++++++++++++++++------------ fs/ext4/ioctl.c | 24 ++-- fs/ext4/mballoc.c | 10 +- fs/ext4/namei.c | 47 ++++---- fs/ext4/orphan.c | 2 +- fs/ext4/page-io.c | 44 ++++--- fs/ext4/readpage.c | 5 +- fs/ext4/resize.c | 36 +++--- fs/ext4/super.c | 60 +++++++--- fs/ext4/verity.c | 2 +- fs/ext4/xattr.c | 22 ++-- fs/fs_parser.c | 3 +- fs/jbd2/commit.c | 5 +- fs/mbcache.c | 14 ++- fs/quota/dquot.c | 2 + include/linux/fs_parser.h | 1 + include/linux/jbd2.h | 2 +- include/linux/mbcache.h | 9 +- include/trace/events/ext4.h | 64 ++++++++-- include/trace/events/jbd2.h | 44 +++---- mm/migrate.c | 1 + 32 files changed, 571 insertions(+), 367 deletions(-)