Hi,
On Thu 30-08-12 17:45:36, [email protected] wrote:
> The patch below does not apply to the 3.4-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <[email protected]>.
The problem was introduced in 3.5 so there's no need for this patch in
3.4 or older kernels...
Honza
> ------------------ original commit in Linus's tree ------------------
>
> From 2e84f2641ea91a730642ead558a4ee3bd52310c9 Mon Sep 17 00:00:00 2001
> From: Jan Kara <[email protected]>
> Date: Wed, 15 Aug 2012 13:50:27 +0200
> Subject: [PATCH] jbd: don't write superblock when unmounting an ro filesystem
>
> This sequence:
>
> results in an IO error when unmounting the RO filesystem. The bug was
> introduced by:
>
> commit 9754e39c7bc51328f145e933bfb0df47cd67b6e9
> Author: Jan Kara <[email protected]>
> Date: Sat Apr 7 12:33:03 2012 +0200
>
> jbd: Split updating of journal superblock and marking journal empty
>
> which lost some of the magic in journal_update_superblock() which
> used to test for a journal with no outstanding transactions.
>
> This is a port of a jbd2 fix by Eric Sandeen.
>
> CC: <[email protected]> # 3.4.x
> Signed-off-by: Jan Kara <[email protected]>
>
> diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
> index 0935750..a286233 100644
> --- a/fs/jbd/journal.c
> +++ b/fs/jbd/journal.c
> @@ -1113,6 +1113,11 @@ static void mark_journal_empty(journal_t *journal)
>
> BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex));
> spin_lock(&journal->j_state_lock);
> + /* Is it already empty? */
> + if (sb->s_start == 0) {
> + spin_unlock(&journal->j_state_lock);
> + return;
> + }
> jbd_debug(1, "JBD: Marking journal as empty (seq %d)\n",
> journal->j_tail_sequence);
>
>
--
Jan Kara <[email protected]>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html