Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-02-04 Thread Stephen C. Tweedie
Hi, On Sun, 2005-01-30 at 10:55, Alex Tomas wrote: > yup, you're right. so, here is an implementation of this. > tested on UP/SMP by dbench/fsx. Stephen, Andrew, could you > review the patch and give it a run? Just to say I haven't forgotten, just been battling this week against all sorts of ap

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-30 Thread Alex Tomas
> Stephen C Tweedie (SCT) writes: SCT> Hi, SCT> On Tue, 2005-01-25 at 19:30, Alex Tomas wrote: >> >> journal_dirty_metadata(handle, bh) >> >> { >> >> transaction->t_reserved--; >> >> handle->h_buffer_credits--; >> >> if (jh->b_tcount > 0) { >> >> /* modifed, no nee

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-26 Thread Stephen C. Tweedie
Hi, On Tue, 2005-01-25 at 19:30, Alex Tomas wrote: > >> journal_dirty_metadata(handle, bh) > >> { > >> transaction->t_reserved--; > >> handle->h_buffer_credits--; > >> if (jh->b_tcount > 0) { > >> /* modifed, no need to track it any more */ > >> transaction-> t

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-25 Thread Alex Tomas
> Stephen C Tweedie (SCT) writes: >> journal_dirty_metadata(handle, bh) >> { >> transaction->t_reserved--; >> handle->h_buffer_credits--; >> if (jh->b_tcount > 0) { >> /* modifed, no need to track it any more */ >> transaction-> t_outstanding_credits++; >>

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-25 Thread Stephen C. Tweedie
Hi, On Tue, 2005-01-25 at 14:36, Alex Tomas wrote: > Hi, could you review the following solution? > > > t_outstanding_credits - number of _modified_ blocks in the transaction > t_reserved - number of blocks all running handle reserved > transaction size = t_outstanding_credits + t_reserved;

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-25 Thread Alex Tomas
Hi, could you review the following solution? t_outstanding_credits - number of _modified_ blocks in the transaction t_reserved - number of blocks all running handle reserved transaction size = t_outstanding_credits + t_reserved; #define TSIZE(t)((t)->t_outstanding_credits + (t)

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-24 Thread Alex Tomas
> Stephen C Tweedie (SCT) writes: >> + /* return credit back to the handle if it was really spent */ >> + if (credits) { >> + handle->h_buffer_credits++; >> + spin_lock(&handle->h_transaction->t_handle_lock); >> + handle->h_transaction->t_outstandi

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-24 Thread Stephen C. Tweedie
Hi, On Mon, 2005-01-24 at 22:24, Alex Tomas wrote: > hmmm. that's a good catch. so, with this patch A increments h_buffer_credits > and this one will go to the t_outstanding_credits while the buffer is still > part of the transaction. indeed, an imbalance. > > probably something like the followin

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-24 Thread Alex Tomas
> Stephen C Tweedie (SCT) writes: >> + /* return credit back to the handle if it was really spent */ >> + if (credits) >> + handle->h_buffer_credits++; >> + jh->b_tcount--; >> + if (jh->b_tcount == 0) { >> + /* >> +* this was last reference to

Re: [Ext2-devel] [PATCH] JBD: journal_release_buffer()

2005-01-24 Thread Stephen C. Tweedie
Hi, On Wed, 2005-01-19 at 15:32, Alex Tomas wrote: > @@ -1178,8 +1199,40 @@ > void > journal_release_buffer(handle_t *handle, struct buffer_head *bh, int credits) > { > + /* return credit back to the handle if it was really spent */ > + if (credits) > + handle->h_buffer_cre