ext4: fast commit fixes This patch series adds several code-only (no on disk format changes) fixes for the fast commit code. I verified that there were no regressions introduced by this patch series in xfstests auto and log groups in fast_commit and 4k configurations. Changes since V1: - Broke couple of misc patches into separate patches - Added a few new fixes: - atomic update of mount flags - no fast commits on aborted journal - Dropped confusing fast commit mount options - Dropped jbd2_fc_init() Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@xxxxxxxxx> Harshad Shirwadkar (22): ext4: describe fast_commit feature flags ext4: mark fc ineligible if inode gets evictied due to mem pressure ext4: drop redundant calls ext4_fc_track_range ext4: fixup ext4_fc_track_* functions' signature jbd2: rename j_maxlen to j_total_len and add jbd2_journal_max_txn_bufs ext4: clean up the JBD2 API that initializes fast commits jbd2: drop jbd2_fc_init documentation jbd2: don't use state lock during commit path jbd2: don't pass tid to jbd2_fc_end_commit_fallback() jbd2: add todo for a fast commit performance optimization jbd2: don't touch buffer state until it is filled jbd2: don't read journal->j_commit_sequence without taking a lock ext4: dedpulicate the code to wait on inode that's being committed ext4: fix code documentatioon ext4: mark buf dirty before submitting fast commit buffer ext4: remove unnecessary fast commit calls from ext4_file_mmap ext4: fix inode dirty check in case of fast commits ext4: disable fast commit with data journalling ext4: issue fsdev cache flush before starting fast commit ext4: make s_mount_flags modifications atomic jbd2: don't start fast commit on aborted journal ext4: cleanup fast commit mount options Documentation/filesystems/ext4/journal.rst | 6 + Documentation/filesystems/ext4/super.rst | 7 + Documentation/filesystems/journalling.rst | 6 +- fs/ext4/ext4.h | 66 +++++--- fs/ext4/extents.c | 7 +- fs/ext4/fast_commit.c | 169 +++++++++++---------- fs/ext4/fast_commit.h | 6 +- fs/ext4/file.c | 6 +- fs/ext4/fsmap.c | 2 +- fs/ext4/fsync.c | 2 +- fs/ext4/inode.c | 19 +-- fs/ext4/mballoc.c | 4 +- fs/ext4/namei.c | 61 ++++---- fs/ext4/super.c | 43 +++--- fs/jbd2/commit.c | 11 +- fs/jbd2/journal.c | 138 +++++++++-------- fs/jbd2/recovery.c | 6 +- fs/ocfs2/journal.c | 2 +- include/linux/jbd2.h | 23 ++- include/trace/events/ext4.h | 10 +- 20 files changed, 328 insertions(+), 266 deletions(-) -- 2.29.1.341.ge80a0c044ae-goog