From: Dave Kleikamp Date: Wed, 20 Dec 2006 21:55:35 +0000 (-0600) Subject: [PATCH] Fix JFS after clear_page_dirty() removal X-Git-Tag: v2.6.20-rc2~69 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0e671a932cb9c653b27393cec26aec012a8d97e;p=linux-2.6 [PATCH] Fix JFS after clear_page_dirty() removal This patch removes some questionable code that attempted to make a no-longer-used page easier to reclaim. Calling metapage_writepage against such a page will not result in any I/O being performed, so removing this code shouldn't be a big deal. [ It's likely that we could have just replaced the "clear_page_dirty()" call with a call to "cancel_dirty_page()" instead, but in the meantime this is cleaner and simpler anyway, so unless there is some overriding reason (and Dave implies there isn't) I'll just use this patch as-is. - Linus ] Signed-off-by: Dave Kleikamp Signed-off-by: Linus Torvalds --- diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c index b1a1c72960..ceaf03b949 100644 --- a/fs/jfs/jfs_metapage.c +++ b/fs/jfs/jfs_metapage.c @@ -764,22 +764,9 @@ void release_metapage(struct metapage * mp) } else if (mp->lsn) /* discard_metapage doesn't remove it */ remove_from_logsync(mp); -#if MPS_PER_PAGE == 1 - /* - * If we know this is the only thing in the page, we can throw - * the page out of the page cache. If pages are larger, we - * don't want to do this. - */ - - /* Retest mp->count since we may have released page lock */ - if (test_bit(META_discard, &mp->flag) && !mp->count) { - clear_page_dirty(page); - ClearPageUptodate(page); - } -#else /* Try to keep metapages from using up too much memory */ drop_metapage(page, mp); -#endif + unlock_page(page); page_cache_release(page); }