jbd2: don't give up looking for space so easily in __jbd2_log_wait_for_space
commit1543f0eea45ecdf2179fe8bbbe34a732ead13f0a
authorTheodore Ts'o <tytso@mit.edu>
Sun, 16 Nov 2008 16:05:35 +0000 (16 11:05 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 5 Dec 2008 18:55:42 +0000 (5 10:55 -0800)
tree64274693166b5d2e4599f415120c35f1612cb332
parentf93631dbf476a77b941d347d64c3fd70fb35a1b2
jbd2: don't give up looking for space so easily in __jbd2_log_wait_for_space

(cherry picked from commit 8c3f25d8950c3e9fe6c9849f88679b3f2a071550)

Commit 23f8b79e introducd a regression because it assumed that if
there were no transactions ready to be checkpointed, that no progress
could be made on making space available in the journal, and so the
journal should be aborted.  This assumption is false; it could be the
case that simply calling jbd2_cleanup_journal_tail() will recover the
necessary space, or, for small journals, the currently committing
transaction could be responsible for chewing up the required space in
the log, so we need to wait for the currently committing transaction
to finish before trying to force a checkpoint operation.

This patch fixes a bug reported by Mihai Harpau at:
https://bugzilla.redhat.com/show_bug.cgi?id=469582

This patch fixes a bug reported by François Valenduc at:
http://bugzilla.kernel.org/show_bug.cgi?id=11840

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Duane Griffin <duaneg@dghda.com>
Cc: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/jbd2/checkpoint.c