[PATCH] Fix JFS after clear_page_dirty() removal
Dave Kleikamp [Wed, 20 Dec 2006 21:55:35 +0000 (15:55 -0600)]
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 <shaggy@linux.vnet.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

fs/jfs/jfs_metapage.c

index b1a1c72..ceaf03b 100644 (file)
@@ -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);
 }