[PATCH] Fix direct I/O into hugetlb page
Hit a kernel oops on 2.6.7 kernel when doing direct I/O to hugetlb page. The destructor of compound page was moved into page->mapping since 2.6.6. It got interfered with set_page_dirty() for hugetlb page: an O_DIRECT read into first tail page of the compound page will fool set_page_dirty() to deference page->mapping->a_ops and then kernel oops. Patch to fix the oops. We do just like what bio_set_pages_dirty() does. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing
Please register or sign in to comment