|
@@ -2370,7 +2370,7 @@ void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed)
|
|
long chg = region_truncate(&inode->i_mapping->private_list, offset);
|
|
long chg = region_truncate(&inode->i_mapping->private_list, offset);
|
|
|
|
|
|
spin_lock(&inode->i_lock);
|
|
spin_lock(&inode->i_lock);
|
|
- inode->i_blocks -= blocks_per_huge_page(h);
|
|
|
|
|
|
+ inode->i_blocks -= (blocks_per_huge_page(h) * freed);
|
|
spin_unlock(&inode->i_lock);
|
|
spin_unlock(&inode->i_lock);
|
|
|
|
|
|
hugetlb_put_quota(inode->i_mapping, (chg - freed));
|
|
hugetlb_put_quota(inode->i_mapping, (chg - freed));
|