Re: [patch 0/3] j_state_lock, j_list_lock, remove-bitlocks

Steven Rostedt
2005-03-16T11:05:50Z

On Wed, 16 Mar 2005, Andrew Morton wrote:

>
> Those two are in the journal, actually. You refer to jbd_lock_bh_state()
> and jbd_lock_bh_journal_head(). I think they both need to be in the
> buffer_head. jbd_lock_bh_journal_head() can probably go away (just use
> caller's jbd_lock_bh_state()).
>
> Or make them global, or put them in the journal.

The jbd_lock_bh_journal_head can be one global lock without a problem. But
when I made jbd_lock_bh_state a global lock, I believe it deadlocked on
me. So this one has to go into the buffer head. What do you mean with
"put them in the journal", do you mean the journal_s structure? Is there a
safe way to get to that structure from the buffer head? The state lock is
used quite a bit and it gets tricky trying to figure out how to use other
structures wrt buffer_heads at all the locations that use
jbd_lock_bh_state.

-- Steve