During page migrations UBIFS gets confused. We triggered this by using CMA on two different targets. It turned out that fallback_migrate_page() is not suitable for UBIFS as it does not copy the PagePrivate flag. Non-trivial block based filesystems do not notice since they can use buffer_migrate_page(). UBIFS is using this flag among with PageChecked to account free space. In order to address this issue implement a convenient ->migratepage() function for UBIFS and disable the automatic assignment of fallback_migrate_page(). Filesystems maintains should decide themselves whether they have to implement ->migratepage() or can use the generic function. Another interesting topic is testing ->migratepage(). So far the only reliable test to trigger the UBIFS issue we have is real hardware and CMA. I was able to trigger it a few times in KVM using the migrate_pages() system call. But not reliable at all. Thanks, //richard [PATCH 1/3] mm: Don't blindly assign fallback_migrate_page() [PATCH 2/3] mm: Export migrate_page_move_mapping and [PATCH 3/3] UBIFS: Implement ->migratepage() -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>