aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/reiserfs/journal.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index 7a37473b44dd..fd777032c2ba 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -1338,7 +1338,6 @@ static int flush_journal_list(struct super_block *s,
1338 reiserfs_warning(s, "clm-2048", "called with wcount %d", 1338 reiserfs_warning(s, "clm-2048", "called with wcount %d",
1339 atomic_read(&journal->j_wcount)); 1339 atomic_read(&journal->j_wcount));
1340 } 1340 }
1341 BUG_ON(jl->j_trans_id == 0);
1342 1341
1343 /* if flushall == 0, the lock is already held */ 1342 /* if flushall == 0, the lock is already held */
1344 if (flushall) { 1343 if (flushall) {
@@ -1765,6 +1764,8 @@ static int flush_used_journal_lists(struct super_block *s,
1765 break; 1764 break;
1766 tjl = JOURNAL_LIST_ENTRY(tjl->j_list.next); 1765 tjl = JOURNAL_LIST_ENTRY(tjl->j_list.next);
1767 } 1766 }
1767 get_journal_list(jl);
1768 get_journal_list(flush_jl);
1768 /* try to find a group of blocks we can flush across all the 1769 /* try to find a group of blocks we can flush across all the
1769 ** transactions, but only bother if we've actually spanned 1770 ** transactions, but only bother if we've actually spanned
1770 ** across multiple lists 1771 ** across multiple lists
@@ -1773,6 +1774,8 @@ static int flush_used_journal_lists(struct super_block *s,
1773 ret = kupdate_transactions(s, jl, &tjl, &trans_id, len, i); 1774 ret = kupdate_transactions(s, jl, &tjl, &trans_id, len, i);
1774 } 1775 }
1775 flush_journal_list(s, flush_jl, 1); 1776 flush_journal_list(s, flush_jl, 1);
1777 put_journal_list(s, flush_jl);
1778 put_journal_list(s, jl);
1776 return 0; 1779 return 0;
1777} 1780}
1778 1781