Messages in this thread Patch in this message | | | Date | Wed, 16 Oct 2002 22:46:48 +0200 | From | "J.A. Magallon" <> | Subject | Latest ext3 merge in mainline lacks 2 hunks ? |
| |
Hi all...
I was patching mainline kernels with the ext3 update until this was merged recently. The merge differs from what I had (taken from LKML) in two missing hunks not present still in -pre11. Some of the maintainers can say if they are important ?
Here they are:
diff -ruN linux-2.4.20-pre8-jam1/fs/jbd/commit.c linux-2.4.20-pre8-jam1-ext3/fs/jbd/commit.c --- linux-2.4.20-pre8-jam1/fs/jbd/commit.c 2002-09-28 02:04:49.000000000 +0200 +++ linux-2.4.20-pre8-jam1-ext3/fs/jbd/commit.c 2002-09-28 02:11:55.000000000 +0200 @@ -714,13 +714,25 @@ JBUFFER_TRACE(jh, "refile for checkpoint writeback"); __journal_refile_buffer(jh); } else { + struct page *page = bh->b_page; + J_ASSERT_BH(bh, !buffer_dirty(bh)); J_ASSERT_JH(jh, jh->b_next_transaction == NULL); __journal_unfile_buffer(jh); jh->b_transaction = 0; __journal_remove_journal_head(bh); - __brelse(bh); + + if (TryLockPage(page)) { + __brelse(bh); + } else { + __brelse(bh); + page_cache_get(page); + try_to_free_buffers(page, 0); + unlock_page(page); + page_cache_release(page); + } } + spin_unlock(&journal_datalist_lock); } diff -ruN linux-2.4.20-pre8-jam1/fs/jbd/transaction.c linux-2.4.20-pre8-jam1-ext3/fs/jbd/transaction.c --- linux-2.4.20-pre8-jam1/fs/jbd/transaction.c 2002-09-28 02:04:49.000000000 +0200 +++ linux-2.4.20-pre8-jam1-ext3/fs/jbd/transaction.c 2002-09-28 02:11:55.000000000 +0200 @@ -1945,8 +1945,17 @@ unlock_journal(journal); if (!offset) { - if (!may_free || !try_to_free_buffers(page, 0)) + if (!may_free || !try_to_free_buffers(page, 0)) { + if (!offset) { + /* We are still using the page, but only + because a transaction is pinning the + page. Once it commits, we want to + encourage the page to be reaped as + quickly as possible. */ + ClearPageReferenced(page); + } return 0; + } J_ASSERT(page->buffers == NULL); } return 1;
-- J.A. Magallon <jamagallon@able.es> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.20-pre11-jam0 (gcc 3.2 (Mandrake Linux 9.0 3.2-2mdk)) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |