All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] JBD2: round commit timer up to avoid uncommitted transaction
@ 2009-07-27 20:22 Andreas Dilger
  2009-07-30 17:47 ` Jan Kara
  2009-08-11  2:52 ` Theodore Tso
  0 siblings, 2 replies; 5+ messages in thread
From: Andreas Dilger @ 2009-07-27 20:22 UTC (permalink / raw)
  To: linux-ext4, Theodore Ts'o; +Cc: Alex Zhuravlev

jbd and jbd2 fixes: 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 expicit sync/umount happens.

Signed-off-by: Alex Zhuravlev (Tomas) <alex.zhuravlev@sun.com>
Signed-off-by: Andreas Dilger <adilger@sun.com>

Index: linux-2.6.27.21-0.1/fs/jbd2/transaction.c
===================================================================
--- linux-2.6.27.21-0.1.orig/fs/jbd2/transaction.c	2009-06-10 11:11:41.000000000 -0600
+++ linux-2.6.27.21-0.1/fs/jbd2/transaction.c	2009-06-10 11:12:32.000000000 -0600
@@ -54,7 +54,7 @@
 	INIT_LIST_HEAD(&transaction->t_inode_list);
 
 	/* 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);

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-08-11 13:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-27 20:22 [PATCH] JBD2: round commit timer up to avoid uncommitted transaction Andreas Dilger
2009-07-30 17:47 ` Jan Kara
2009-07-30 18:00   ` Andreas Dilger
2009-07-30 18:11     ` Jan Kara
2009-08-11  2:52 ` Theodore Tso

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.