find_get_page() and find_lock_page() need to unpack the tail If the page being sought corresponds to the tail, and the tail is packed in the inode, the tail must be unpacked. Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> --- mm/filemap.c | 3 +++ 1 file changed, 3 insertions(+) diff -Nurp linux004/mm/filemap.c linux005/mm/filemap.c --- linux004/mm/filemap.c 2007-11-07 08:14:01.000000000 -0600 +++ linux005/mm/filemap.c 2007-11-08 10:49:46.000000000 -0600 @@ -24,6 +24,7 @@ #include <linux/file.h> #include <linux/uio.h> #include <linux/hash.h> +#include <linux/vm_file_tail.h> #include <linux/writeback.h> #include <linux/backing-dev.h> #include <linux/pagevec.h> @@ -600,6 +601,7 @@ struct page * find_get_page(struct addre { struct page *page; + vm_file_tail_unpack_index(mapping, offset); read_lock_irq(&mapping->tree_lock); page = radix_tree_lookup(&mapping->page_tree, offset); if (page) @@ -624,6 +626,7 @@ struct page *find_lock_page(struct addre { struct page *page; + vm_file_tail_unpack_index(mapping, offset); repeat: read_lock_irq(&mapping->tree_lock); page = radix_tree_lookup(&mapping->page_tree, offset); - 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