Displaying 3 results from an estimated 3 matches for "j_wait_updates".
2010 Aug 04
6
[PATCH -v2 0/3] jbd2 scalability patches
This version fixes three bugs in the 2nd patch of this series that
caused kernel BUG when the system was under race. We weren't accounting
with t_oustanding_credits correctly, and there were race conditions
caused by the fact the I had overlooked the fact that
__jbd2_log_wait_for_space() and jbd2_get_transaction() requires
j_state_lock to be write locked.
Theodore Ts'o (3):
jbd2: Use
2006 Aug 14
0
Question concerning the EXT3 Journaling code
...the thread to go to sleep in start_this_handle(), and loop back to the
"repeat" label.
In looking at how the wake_up() occurs, there exists the following
section of code:
transaction->t_updates--;
if (!transaction->t_updates) {
wake_up(&journal->j_wait_updates);
if (journal->j_barrier_count)
wake_up(&journal->j_wait_transaction_locked);
}
It would seem to me that this wake_up() will end up being a no-op, as
the thread being woken up will go back to sleep since <j_barrier_count>
is non-zero. I'...
2013 Jun 19
1
[PATCH] fs/jbd2: t_updates should increase when start_this_handle() failed in jbd2__journal_restart()
jbd2_journal_restart() would restart a handle. In this function, it
calls start_this_handle(). Before calling start_this_handle()?subtract
1 from transaction->t_updates.
If start_this_handle() succeeds, transaction->t_updates increases by 1
in it. But if start_this_handle() fails, transaction->t_updates does
not increase.
So, when commit the handle's transaction in