diff options
Diffstat (limited to 'fs/hugetlbfs')
| -rw-r--r-- | fs/hugetlbfs/inode.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 59073e9f01a4..ed113ea17aff 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -842,9 +842,12 @@ static int hugetlbfs_error_remove_page(struct address_space *mapping,  				struct page *page)  {  	struct inode *inode = mapping->host; +	pgoff_t index = page->index;  	remove_huge_page(page); -	hugetlb_fix_reserve_counts(inode); +	if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1))) +		hugetlb_fix_reserve_counts(inode); +  	return 0;  } |