Commit b449fc6f authored by Andreas Dilger's avatar Andreas Dilger Committed by Jan Kara
Browse files

JBD: round commit timer up to avoid uncommitted transaction



Fix jiffie rounding in jbd commit timer setup code.  Rounding down could cause
the timer to be fired before the corresponding transaction has expired.  That
transaction can stay not committed forever if no new transaction is created or
explicit sync/umount happens.

Signed-off-by: default avatarAndreas Dilger <adilger@sun.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent ab86e576
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -56,7 +56,8 @@ get_transaction(journal_t *journal, transaction_t *transaction)
	spin_lock_init(&transaction->t_handle_lock);

	/* Set up the commit timer for the new transaction. */
	journal->j_commit_timer.expires = round_jiffies(transaction->t_expires);
	journal->j_commit_timer.expires =
				round_jiffies_up(transaction->t_expires);
	add_timer(&journal->j_commit_timer);

	J_ASSERT(journal->j_running_transaction == NULL);