mlock_migrate_page(newpage, page);
--- 3.4.0+/mm/page-writeback.c 2012-05-29 08:09:58.304806782 -0700
+++ linux/mm/page-writeback.c 2012-06-01 00:23:43.984116973 -0700
@@ -1987,7 +1987,10 @@ int __set_page_dirty_nobuffers(struct pa
mapping2 = page_mapping(page);
if (mapping2) { /* Race with truncate? */
BUG_ON(mapping2 != mapping);
- WARN_ON_ONCE(!PagePrivate(page)&& !PageUptodate(page));
+ if (WARN_ON(!PagePrivate(page)&& !PageUptodate(page)))
+ print_symbol(KERN_WARNING
+ "mapping->a_ops->writepage: %s\n",
+ (unsigned long)mapping->a_ops->writepage);