OpenVZ Forum


Home » Mailing lists » Devel » Lost JBD fix
Lost JBD fix [message #14934] Mon, 09 July 2007 18:14 Go to next message
Jan Kara is currently offline  Jan Kara
Messages: 13
Registered: July 2007
Junior Member
Hi Andrew,

it seems we've accidentally lost one JBD fix (probably it was my mistake
when rediffing some checkpointing changes) as Kirill has noted. A transaction
can currently be released when there are still some buffers on one of its
checkpointing lists. Attached patch should fix it (it still seems to apply
fine). Please apply it. Thanks.

Honza
--
Jan Kara <jack@suse.cz>
SuSE CR Labs
Re: Lost JBD fix [message #14936 is a reply to message #14934] Wed, 11 July 2007 17:55 Go to previous messageGo to next message
Chuck Ebbert is currently offline  Chuck Ebbert
Messages: 4
Registered: July 2007
Junior Member
On 07/09/2007 02:14 PM, Jan Kara wrote:
> Hi Andrew,
>
> it seems we've accidentally lost one JBD fix (probably it was my mistake
> when rediffing some checkpointing changes) as Kirill has noted. A transaction
> can currently be released when there are still some buffers on one of its
> checkpointing lists. Attached patch should fix it (it still seems to apply
> fine). Please apply it. Thanks.
>
> Honza
>
>
> ------------------------------------------------------------ ------------
>
> We have to check that also the second checkpoint list is non-empty before
> dropping the transaction.
>
> Signed-off-by: Jan Kara <jack@suse.cz>
>
> diff -rupX /home/jack/.kerndiffexclude linux-2.6.16-rc1/fs/jbd/commit.c linux-2.6.16-rc1-1-checkpoint-fix/fs/jbd/commit.c
> --- linux-2.6.16-rc1/fs/jbd/commit.c 2006-01-15 00:20:12.000000000 +0100
> +++ linux-2.6.16-rc1-1-checkpoint-fix/fs/jbd/commit.c 2006-01-17 23:35:19.000000000 +0100
> @@ -829,7 +829,8 @@ restart_loop:
> journal->j_committing_transaction = NULL;
> spin_unlock(&journal->j_state_lock);
>
> - if (commit_transaction->t_checkpoint_list == NULL) {
> + if (commit_transaction->t_checkpoint_list == NULL &&
> + commit_transaction->t_checkpoint_io_list == NULL) {
> __journal_drop_transaction(journal, commit_transaction);
> } else {
> if (journal->j_checkpoint_transactions == NULL) {

Critical bugfix -- 2.6.22-stable (no earlier versions) should get
this too, right?

If so, can we get this merged into 2.6.23-rc soon?
Re: Lost JBD fix [message #14940 is a reply to message #14936] Fri, 13 July 2007 17:16 Go to previous message
Jan Kara is currently offline  Jan Kara
Messages: 13
Registered: July 2007
Junior Member
On Wed 11-07-07 13:55:30, Chuck Ebbert wrote:
> On 07/09/2007 02:14 PM, Jan Kara wrote:
> > Hi Andrew,
> >
> > it seems we've accidentally lost one JBD fix (probably it was my mistake
> > when rediffing some checkpointing changes) as Kirill has noted. A transaction
> > can currently be released when there are still some buffers on one of its
> > checkpointing lists. Attached patch should fix it (it still seems to apply
> > fine). Please apply it. Thanks.
> >
> > Honza
> >
> >
> > ------------------------------------------------------------ ------------
> >
> > We have to check that also the second checkpoint list is non-empty before
> > dropping the transaction.
> >
> > Signed-off-by: Jan Kara <jack@suse.cz>
> >
> > diff -rupX /home/jack/.kerndiffexclude linux-2.6.16-rc1/fs/jbd/commit.c linux-2.6.16-rc1-1-checkpoint-fix/fs/jbd/commit.c
> > --- linux-2.6.16-rc1/fs/jbd/commit.c 2006-01-15 00:20:12.000000000 +0100
> > +++ linux-2.6.16-rc1-1-checkpoint-fix/fs/jbd/commit.c 2006-01-17 23:35:19.000000000 +0100
> > @@ -829,7 +829,8 @@ restart_loop:
> > journal->j_committing_transaction = NULL;
> > spin_unlock(&journal->j_state_lock);
> >
> > - if (commit_transaction->t_checkpoint_list == NULL) {
> > + if (commit_transaction->t_checkpoint_list == NULL &&
> > + commit_transaction->t_checkpoint_io_list == NULL) {
> > __journal_drop_transaction(journal, commit_transaction);
> > } else {
> > if (journal->j_checkpoint_transactions == NULL) {
>
> Critical bugfix -- 2.6.22-stable (no earlier versions) should get
> this too, right?
Yes, the bugfix is probably obvious enough to go into -stable.

Honza
--
Jan Kara <jack@suse.cz>
SuSE CR Labs
Previous Topic: [PATCH 2/6] Rename pid_nr function
Next Topic: [PATCH 0/3] Parts of pid namespaces approved by all the
Goto Forum:
  


Current Time: Wed Jul 17 04:18:47 GMT 2024

Total time taken to generate the page: 0.03582 seconds