public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: "Stephen C. Tweedie" <sct@redhat.com>
To: Duane Griffin <duaneg@dghda.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ext4@vger.kernel.org, Sami Liedes <sliedes@cc.hut.fi>,
	Stephen Tweedie <sct@redhat.com>
Subject: Re: [PATCH] jbd: abort instead of waiting for nonexistent transactions
Date: Thu, 07 Aug 2008 16:01:08 +0100	[thread overview]
Message-ID: <1218121268.14209.13.camel@sisko.scot.localnet> (raw)
In-Reply-To: <e9e943910808061747x57dc2ed0s614785d9d0a087a8@mail.gmail.com>

Hi,

On Thu, 2008-08-07 at 01:47 +0100, Duane Griffin wrote:

> > Surely we'd be better off detecting this in the first place at mount
> > time, not later on during checkpoint?
> 
> Sounds sensible. In fact I've got another patch, waiting for feedback
> from the reporter, that adds some very basic validation there (i.e.
> first > 0 && last >= first). Not enough, I suspect. I guess we could
> do much better?

Right: in journal.c we initialise the maximum size of a transaction to

	journal->j_max_transaction_buffers = journal->j_maxlen / 4;

(the logic being that we need the journal to be able to hold an absolute
minimum of one full transaction being checkpointed, one being committed,
and one being live concurrently for the transaction engine to work
correctly, which gives three outstanding transactions; we up that to
four to protect against rounding errors and to ensure space for the
sequence and commit blocks that take up log space in addition to the
journaled buffers themselves.)

If, during journal load, that's not enough for a minimum-sized single
update, we'll never be able to start some transactions, so that would be
a good place to check that we're starting off with a large enough
journal.

--Stephen





  reply	other threads:[~2008-08-07 15:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-04 23:51 [PATCH] jbd: abort instead of waiting for nonexistent transactions Duane Griffin
2008-08-04 23:51 ` [PATCH] jbd2: " Duane Griffin
2008-08-05  0:03 ` [PATCH] jbd: " Andrew Morton
2008-08-05  0:41   ` Duane Griffin
2008-08-05 15:50 ` Stephen C. Tweedie
2008-08-07  0:47   ` Duane Griffin
2008-08-07 15:01     ` Stephen C. Tweedie [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-08-05  1:05 Duane Griffin
2008-08-05  1:42 ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1218121268.14209.13.camel@sisko.scot.localnet \
    --to=sct@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=duaneg@dghda.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sliedes@cc.hut.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox