On Wed, 23 Nov 2011, Christoph Hellwig wrote: > > It also seems like all fallocate implementaions for far got away > without the unmap_mapping_range, so either people didn't test them > hard enough, or tmpfs doesn't need it either. I fear the former > is true. They're saved by the funny little one-by-one unmap_mapping_range() fallback in truncate_inode_page(). It's inefficient (in those rare cases when someone is punching a hole somewhere that's mapped) and we ought to do better, but we don't have an actual bug there. Hugh int truncate_inode_page(struct address_space *mapping, struct page *page) { if (page_mapped(page)) { unmap_mapping_range(mapping, (loff_t)page->index << PAGE_CACHE_SHIFT, PAGE_CACHE_SIZE, 0); } return truncate_complete_page(mapping, page); } -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html