diff options
| author | Harshad Shirwadkar <harshadshirwadkar@gmail.com> | 2025-05-08 17:59:03 +0000 |
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2025-05-08 21:56:17 -0400 |
| commit | 857d32f2618166765ce9306a246d0745afc76859 (patch) | |
| tree | db91273e47f06d839d060dd97b663506141437fa /fs/jbd2 | |
| parent | ext4: mark inode dirty before grabbing i_data_sem in ext4_setattr (diff) | |
| download | linux-857d32f2618166765ce9306a246d0745afc76859.tar.gz linux-857d32f2618166765ce9306a246d0745afc76859.zip | |
ext4: rework fast commit commit path
This patch reworks fast commit's commit path to remove locking the
journal for the entire duration of a fast commit. Instead, we only lock
the journal while marking all the eligible inodes as "committing". This
allows handles to make progress in parallel with the fast commit.
Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Link: https://patch.msgid.link/20250508175908.1004880-5-harshadshirwadkar@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2')
| -rw-r--r-- | fs/jbd2/journal.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 743a1d7633cd..bfaa14bb1049 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -728,7 +728,6 @@ int jbd2_fc_begin_commit(journal_t *journal, tid_t tid) } journal->j_flags |= JBD2_FAST_COMMIT_ONGOING; write_unlock(&journal->j_state_lock); - jbd2_journal_lock_updates(journal); return 0; } @@ -742,7 +741,6 @@ static int __jbd2_fc_end_commit(journal_t *journal, tid_t tid, bool fallback) { if (journal->j_fc_cleanup_callback) journal->j_fc_cleanup_callback(journal, 0, tid); - jbd2_journal_unlock_updates(journal); write_lock(&journal->j_state_lock); journal->j_flags &= ~JBD2_FAST_COMMIT_ONGOING; if (fallback) |
