• Mel Gorman's avatar
    Remove implementation of readpage from the hugetlbfs_aops · f2deae9d
    Mel Gorman authored
    The core VM assumes the page size used by the address_space in
    inode->i_mapping is PAGE_SIZE but hugetlbfs breaks this assumption by
    inserting pages into the page cache at offsets the core VM considers
    unexpected.
    
    This would not be a problem except that hugetlbfs also provide a
    ->readpage implementation.  As it exists, the core VM can assume the
    base page size is being used, allocate pages on behalf of the
    filesystem, insert them into the page cache and call ->readpage to
    populate them.  These pages are the wrong size and at the wrong offset
    for hugetlbfs causing confusion.
    
    This patch deletes the ->readpage implementation for hugetlbfs on the
    grounds the core VM should not be allocating and populating pages on
    behalf of hugetlbfs.  There should be no existing users of the
    ->readpage implementation so it should not cause a regression.
    Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f2deae9d
inode.c 24.1 KB