The following changes since commit a1b8638ba1320e6684aa98233c15255eb803fac7: Linux 5.9-rc7 (2020-09-27 14:38:10 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git tags/ext4_for_linus for you to fetch changes up to 1322181170bb01bce3c228b82ae3d5c6b793164f: ext4: fix invalid inode checksum (2020-10-21 23:22:38 -0400) ---------------------------------------------------------------- The siginificant new ext4 feature this time around is Harshad's new fast_commit mode. In addition, thanks to Mauricio for fixing a race where mmap'ed pages that are being changed in parallel with a data=journal transaction commit could result in bad checksums in the failure that could cause journal replays to fail. Also notable is Ritesh's buffered write optimization which can result in significant improvements on parallel write workloads. (The kernel test robot reported a 330.6% improvement on fio.write_iops on a 96 core system using DAX[1].) Besides that, we have the usual miscellaneous cleanups and bug fixes. [1] https://lore.kernel.org/r/20200925071217.GO28663@shao2-debian ---------------------------------------------------------------- Chunguang Xu (4): ext4: rename journal_dev to s_journal_dev inside ext4_sb_info ext4: rename system_blks to s_system_blks inside ext4_sb_info ext4: delete invalid comments near mb_buddy_adjust_border ext4: make mb_check_counter per group Constantine Sapuntzakis (1): ext4: fix superblock checksum calculation race Darrick J. Wong (1): ext4: limit entries returned when counting fsmap records Dinghao Liu (1): ext4: fix error handling code in add_new_gdb Eric Biggers (1): ext4: fix leaking sysfs kobject after failed mount Harshad Shirwadkar (9): doc: update ext4 and journalling docs to include fast commit feature ext4: add fast_commit feature and handling for extended mount options ext4 / jbd2: add fast commit initialization jbd2: add fast commit machinery ext4: main fast-commit commit path jbd2: fast commit recovery path ext4: fast commit recovery path ext4: add a mount opt to forcefully turn fast commits on ext4: add fast commit stats in procfs Hui Su (1): jbd2: fix the comment of struct jbd2_journal_handle Jan Kara (2): ext4: discard preallocations before releasing group lock ext4: Detect already used quota file early Jens Axboe (1): ext4: flag as supporting buffered async reads Kaixu Xia (1): ext4: use the normal helper to get the actual inode Luo Meng (1): ext4: fix invalid inode checksum Mauricio Faria de Oliveira (4): jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers() jbd2, ext4, ocfs2: introduce/use journal callbacks j_submit|finish_inode_data_buffers() ext4: data=journal: fixes for ext4_page_mkwrite() ext4: data=journal: write-protect pages on j_submit_inode_data_buffers() Nikolay Borisov (1): ext4: remove unused argument from ext4_(inc|dec)_count Petr Malat (1): ext4: do not interpret high bytes if 64bit feature is disabled Randy Dunlap (1): ext4: delete duplicated words + other fixes Ritesh Harjani (3): ext4: implement swap_activate aops using iomap ext4: optimize file overwrites ext4: fix bs < ps issue reported with dioread_nolock mount opt Tian Tao (1): ext4: remove unused including <linux/version.h> Xiao Yang (1): ext4: disallow modifying DAX inode flag if inline_data has been set Ye Bin (1): ext4: fix dead loop in ext4_mb_new_blocks Zhang Qilong (1): ext4: add trace exit in exception path. Zhang Xiaoxu (1): ext4: fix bdev write error check failed when mount fs with ro changfengnan (1): jbd2: avoid transaction reuse after reformatting zhangyi (F) (7): ext4: clear buffer verified flag if read meta block from disk ext4: introduce new metadata buffer read helpers ext4: use common helpers in all places reading metadata buffers ext4: use ext4_buffer_uptodate() in __ext4_get_inode_loc() ext4: introduce ext4_sb_breadahead_unmovable() to replace sb_breadahead_unmovable() ext4: use ext4_sb_bread() instead of sb_bread() ext4: introduce ext4_sb_bread_unmovable() to replace sb_bread_unmovable() Documentation/filesystems/ext4/journal.rst | 66 ++ Documentation/filesystems/journalling.rst | 33 + fs/ext4/Makefile | 2 +- fs/ext4/acl.c | 2 + fs/ext4/balloc.c | 14 +- fs/ext4/block_validity.c | 10 +- fs/ext4/dir.c | 4 +- fs/ext4/ext4.h | 136 +++- fs/ext4/ext4_jbd2.c | 2 +- fs/ext4/extents.c | 315 +++++++- fs/ext4/extents_status.c | 24 + fs/ext4/fast_commit.c | 2139 ++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/fast_commit.h | 159 ++++ fs/ext4/file.c | 12 +- fs/ext4/fsmap.c | 11 +- fs/ext4/fsync.c | 4 +- fs/ext4/ialloc.c | 173 ++++- fs/ext4/indirect.c | 13 +- fs/ext4/inline.c | 2 +- fs/ext4/inode.c | 290 +++++-- fs/ext4/ioctl.c | 22 +- fs/ext4/mballoc.c | 257 ++++++- fs/ext4/mmp.c | 10 +- fs/ext4/move_extent.c | 2 +- fs/ext4/namei.c | 206 +++-- fs/ext4/resize.c | 14 +- fs/ext4/super.c | 352 +++++++-- fs/ext4/sysfs.c | 2 + fs/ext4/xattr.c | 3 + fs/jbd2/commit.c | 106 ++- fs/jbd2/journal.c | 245 +++++- fs/jbd2/recovery.c | 135 +++- fs/ocfs2/journal.c | 4 + include/linux/jbd2.h | 124 ++- include/trace/events/ext4.h | 228 +++++- 35 files changed, 4725 insertions(+), 396 deletions(-) create mode 100644 fs/ext4/fast_commit.c create mode 100644 fs/ext4/fast_commit.h