From fdbd66f4dfda2af3739b85185faee8974814b4a9 Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Mon, 1 Apr 2013 11:23:58 -0400 Subject: [PATCH] --- yaml --- r: 374843 b: refs/heads/master c: cf79ffb5b79e8a2b587fbf218809e691bb396c98 h: refs/heads/master i: 374841: 13ddc31f0d2fe5fb405aa42e8134baa4e228ad90 374839: 50e9c89c81ad60ad5a7ab887178cef50cef2afe3 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/super.c | 5 ++--- trunk/fs/btrfs/transaction.c | 4 ++++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index fa3e8294f86d..908d18dc846c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9a9dbf2cbd1641af49bf081ca3bbe4101df3991 +refs/heads/master: cf79ffb5b79e8a2b587fbf218809e691bb396c98 diff --git a/trunk/fs/btrfs/super.c b/trunk/fs/btrfs/super.c index c3254c995fc8..88f812eddff6 100644 --- a/trunk/fs/btrfs/super.c +++ b/trunk/fs/btrfs/super.c @@ -161,10 +161,9 @@ void __btrfs_std_error(struct btrfs_fs_info *fs_info, const char *function, } /* Don't go through full error handling during mount */ - if (sb->s_flags & MS_BORN) { - save_error_info(fs_info); + save_error_info(fs_info); + if (sb->s_flags & MS_BORN) btrfs_handle_error(fs_info); - } } static const char * const logtypes[] = { diff --git a/trunk/fs/btrfs/transaction.c b/trunk/fs/btrfs/transaction.c index 9940fd90a958..a5764aeb4549 100644 --- a/trunk/fs/btrfs/transaction.c +++ b/trunk/fs/btrfs/transaction.c @@ -1487,6 +1487,10 @@ static void cleanup_transaction(struct btrfs_trans_handle *trans, current->journal_info = NULL; kmem_cache_free(btrfs_trans_handle_cachep, trans); + + spin_lock(&root->fs_info->trans_lock); + root->fs_info->trans_no_join = 0; + spin_unlock(&root->fs_info->trans_lock); } static int btrfs_flush_all_pending_stuffs(struct btrfs_trans_handle *trans,