mirror of https://gitee.com/openkylin/linux.git
[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 <shaggy@linux.vnet.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
fba2591bf4
commit
d0e671a932
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue