diff options
Diffstat (limited to 'mm/filemap.c')
-rw-r--r-- | mm/filemap.c | 126 |
1 files changed, 63 insertions, 63 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index a8c69c8c0a90..f2479af09da9 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -265,7 +265,7 @@ void delete_from_page_cache(struct page *page) | |||
265 | 265 | ||
266 | if (freepage) | 266 | if (freepage) |
267 | freepage(page); | 267 | freepage(page); |
268 | page_cache_release(page); | 268 | put_page(page); |
269 | } | 269 | } |
270 | EXPORT_SYMBOL(delete_from_page_cache); | 270 | EXPORT_SYMBOL(delete_from_page_cache); |
271 | 271 | ||
@@ -352,8 +352,8 @@ EXPORT_SYMBOL(filemap_flush); | |||
352 | static int __filemap_fdatawait_range(struct address_space *mapping, | 352 | static int __filemap_fdatawait_range(struct address_space *mapping, |
353 | loff_t start_byte, loff_t end_byte) | 353 | loff_t start_byte, loff_t end_byte) |
354 | { | 354 | { |
355 | pgoff_t index = start_byte >> PAGE_CACHE_SHIFT; | 355 | pgoff_t index = start_byte >> PAGE_SHIFT; |
356 | pgoff_t end = end_byte >> PAGE_CACHE_SHIFT; | 356 | pgoff_t end = end_byte >> PAGE_SHIFT; |
357 | struct pagevec pvec; | 357 | struct pagevec pvec; |
358 | int nr_pages; | 358 | int nr_pages; |
359 | int ret = 0; | 359 | int ret = 0; |
@@ -550,7 +550,7 @@ int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask) | |||
550 | pgoff_t offset = old->index; | 550 | pgoff_t offset = old->index; |
551 | freepage = mapping->a_ops->freepage; | 551 | freepage = mapping->a_ops->freepage; |
552 | 552 | ||
553 | page_cache_get(new); | 553 | get_page(new); |
554 | new->mapping = mapping; | 554 | new->mapping = mapping; |
555 | new->index = offset; | 555 | new->index = offset; |
556 | 556 | ||
@@ -572,7 +572,7 @@ int replace_page_cache_page(struct page *old, struct page *new, gfp_t gfp_mask) | |||
572 | radix_tree_preload_end(); | 572 | radix_tree_preload_end(); |
573 | if (freepage) | 573 | if (freepage) |
574 | freepage(old); | 574 | freepage(old); |
575 | page_cache_release(old); | 575 | put_page(old); |
576 | } | 576 | } |
577 | 577 | ||
578 | return error; | 578 | return error; |
@@ -651,7 +651,7 @@ static int __add_to_page_cache_locked(struct page *page, | |||
651 | return error; | 651 | return error; |
652 | } | 652 | } |
653 | 653 | ||
654 | page_cache_get(page); | 654 | get_page(page); |
655 | page->mapping = mapping; | 655 | page->mapping = mapping; |
656 | page->index = offset; | 656 | page->index = offset; |
657 | 657 | ||
@@ -675,7 +675,7 @@ err_insert: | |||
675 | spin_unlock_irq(&mapping->tree_lock); | 675 | spin_unlock_irq(&mapping->tree_lock); |
676 | if (!huge) | 676 | if (!huge) |
677 | mem_cgroup_cancel_charge(page, memcg, false); | 677 | mem_cgroup_cancel_charge(page, memcg, false); |
678 | page_cache_release(page); | 678 | put_page(page); |
679 | return error; | 679 | return error; |
680 | } | 680 | } |
681 | 681 | ||
@@ -1083,7 +1083,7 @@ repeat: | |||
1083 | * include/linux/pagemap.h for details. | 1083 | * include/linux/pagemap.h for details. |
1084 | */ | 1084 | */ |
1085 | if (unlikely(page != *pagep)) { | 1085 | if (unlikely(page != *pagep)) { |
1086 | page_cache_release(page); | 1086 | put_page(page); |
1087 | goto repeat; | 1087 | goto repeat; |
1088 | } | 1088 | } |
1089 | } | 1089 | } |
@@ -1121,7 +1121,7 @@ repeat: | |||
1121 | /* Has the page been truncated? */ | 1121 | /* Has the page been truncated? */ |
1122 | if (unlikely(page->mapping != mapping)) { | 1122 | if (unlikely(page->mapping != mapping)) { |
1123 | unlock_page(page); | 1123 | unlock_page(page); |
1124 | page_cache_release(page); | 1124 | put_page(page); |
1125 | goto repeat; | 1125 | goto repeat; |
1126 | } | 1126 | } |
1127 | VM_BUG_ON_PAGE(page->index != offset, page); | 1127 | VM_BUG_ON_PAGE(page->index != offset, page); |
@@ -1168,7 +1168,7 @@ repeat: | |||
1168 | if (fgp_flags & FGP_LOCK) { | 1168 | if (fgp_flags & FGP_LOCK) { |
1169 | if (fgp_flags & FGP_NOWAIT) { | 1169 | if (fgp_flags & FGP_NOWAIT) { |
1170 | if (!trylock_page(page)) { | 1170 | if (!trylock_page(page)) { |
1171 | page_cache_release(page); | 1171 | put_page(page); |
1172 | return NULL; | 1172 | return NULL; |
1173 | } | 1173 | } |
1174 | } else { | 1174 | } else { |
@@ -1178,7 +1178,7 @@ repeat: | |||
1178 | /* Has the page been truncated? */ | 1178 | /* Has the page been truncated? */ |
1179 | if (unlikely(page->mapping != mapping)) { | 1179 | if (unlikely(page->mapping != mapping)) { |
1180 | unlock_page(page); | 1180 | unlock_page(page); |
1181 | page_cache_release(page); | 1181 | put_page(page); |
1182 | goto repeat; | 1182 | goto repeat; |
1183 | } | 1183 | } |
1184 | VM_BUG_ON_PAGE(page->index != offset, page); | 1184 | VM_BUG_ON_PAGE(page->index != offset, page); |
@@ -1209,7 +1209,7 @@ no_page: | |||
1209 | err = add_to_page_cache_lru(page, mapping, offset, | 1209 | err = add_to_page_cache_lru(page, mapping, offset, |
1210 | gfp_mask & GFP_RECLAIM_MASK); | 1210 | gfp_mask & GFP_RECLAIM_MASK); |
1211 | if (unlikely(err)) { | 1211 | if (unlikely(err)) { |
1212 | page_cache_release(page); | 1212 | put_page(page); |
1213 | page = NULL; | 1213 | page = NULL; |
1214 | if (err == -EEXIST) | 1214 | if (err == -EEXIST) |
1215 | goto repeat; | 1215 | goto repeat; |
@@ -1278,7 +1278,7 @@ repeat: | |||
1278 | 1278 | ||
1279 | /* Has the page moved? */ | 1279 | /* Has the page moved? */ |
1280 | if (unlikely(page != *slot)) { | 1280 | if (unlikely(page != *slot)) { |
1281 | page_cache_release(page); | 1281 | put_page(page); |
1282 | goto repeat; | 1282 | goto repeat; |
1283 | } | 1283 | } |
1284 | export: | 1284 | export: |
@@ -1343,7 +1343,7 @@ repeat: | |||
1343 | 1343 | ||
1344 | /* Has the page moved? */ | 1344 | /* Has the page moved? */ |
1345 | if (unlikely(page != *slot)) { | 1345 | if (unlikely(page != *slot)) { |
1346 | page_cache_release(page); | 1346 | put_page(page); |
1347 | goto repeat; | 1347 | goto repeat; |
1348 | } | 1348 | } |
1349 | 1349 | ||
@@ -1405,7 +1405,7 @@ repeat: | |||
1405 | 1405 | ||
1406 | /* Has the page moved? */ | 1406 | /* Has the page moved? */ |
1407 | if (unlikely(page != *slot)) { | 1407 | if (unlikely(page != *slot)) { |
1408 | page_cache_release(page); | 1408 | put_page(page); |
1409 | goto repeat; | 1409 | goto repeat; |
1410 | } | 1410 | } |
1411 | 1411 | ||
@@ -1415,7 +1415,7 @@ repeat: | |||
1415 | * negatives, which is just confusing to the caller. | 1415 | * negatives, which is just confusing to the caller. |
1416 | */ | 1416 | */ |
1417 | if (page->mapping == NULL || page->index != iter.index) { | 1417 | if (page->mapping == NULL || page->index != iter.index) { |
1418 | page_cache_release(page); | 1418 | put_page(page); |
1419 | break; | 1419 | break; |
1420 | } | 1420 | } |
1421 | 1421 | ||
@@ -1482,7 +1482,7 @@ repeat: | |||
1482 | 1482 | ||
1483 | /* Has the page moved? */ | 1483 | /* Has the page moved? */ |
1484 | if (unlikely(page != *slot)) { | 1484 | if (unlikely(page != *slot)) { |
1485 | page_cache_release(page); | 1485 | put_page(page); |
1486 | goto repeat; | 1486 | goto repeat; |
1487 | } | 1487 | } |
1488 | 1488 | ||
@@ -1549,7 +1549,7 @@ repeat: | |||
1549 | 1549 | ||
1550 | /* Has the page moved? */ | 1550 | /* Has the page moved? */ |
1551 | if (unlikely(page != *slot)) { | 1551 | if (unlikely(page != *slot)) { |
1552 | page_cache_release(page); | 1552 | put_page(page); |
1553 | goto repeat; | 1553 | goto repeat; |
1554 | } | 1554 | } |
1555 | export: | 1555 | export: |
@@ -1610,11 +1610,11 @@ static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos, | |||
1610 | unsigned int prev_offset; | 1610 | unsigned int prev_offset; |
1611 | int error = 0; | 1611 | int error = 0; |
1612 | 1612 | ||
1613 | index = *ppos >> PAGE_CACHE_SHIFT; | 1613 | index = *ppos >> PAGE_SHIFT; |
1614 | prev_index = ra->prev_pos >> PAGE_CACHE_SHIFT; | 1614 | prev_index = ra->prev_pos >> PAGE_SHIFT; |
1615 | prev_offset = ra->prev_pos & (PAGE_CACHE_SIZE-1); | 1615 | prev_offset = ra->prev_pos & (PAGE_SIZE-1); |
1616 | last_index = (*ppos + iter->count + PAGE_CACHE_SIZE-1) >> PAGE_CACHE_SHIFT; | 1616 | last_index = (*ppos + iter->count + PAGE_SIZE-1) >> PAGE_SHIFT; |
1617 | offset = *ppos & ~PAGE_CACHE_MASK; | 1617 | offset = *ppos & ~PAGE_MASK; |
1618 | 1618 | ||
1619 | for (;;) { | 1619 | for (;;) { |
1620 | struct page *page; | 1620 | struct page *page; |
@@ -1648,7 +1648,7 @@ find_page: | |||
1648 | if (PageUptodate(page)) | 1648 | if (PageUptodate(page)) |
1649 | goto page_ok; | 1649 | goto page_ok; |
1650 | 1650 | ||
1651 | if (inode->i_blkbits == PAGE_CACHE_SHIFT || | 1651 | if (inode->i_blkbits == PAGE_SHIFT || |
1652 | !mapping->a_ops->is_partially_uptodate) | 1652 | !mapping->a_ops->is_partially_uptodate) |
1653 | goto page_not_up_to_date; | 1653 | goto page_not_up_to_date; |
1654 | if (!trylock_page(page)) | 1654 | if (!trylock_page(page)) |
@@ -1672,18 +1672,18 @@ page_ok: | |||
1672 | */ | 1672 | */ |
1673 | 1673 | ||
1674 | isize = i_size_read(inode); | 1674 | isize = i_size_read(inode); |
1675 | end_index = (isize - 1) >> PAGE_CACHE_SHIFT; | 1675 | end_index = (isize - 1) >> PAGE_SHIFT; |
1676 | if (unlikely(!isize || index > end_index)) { | 1676 | if (unlikely(!isize || index > end_index)) { |
1677 | page_cache_release(page); | 1677 | put_page(page); |
1678 | goto out; | 1678 | goto out; |
1679 | } | 1679 | } |
1680 | 1680 | ||
1681 | /* nr is the maximum number of bytes to copy from this page */ | 1681 | /* nr is the maximum number of bytes to copy from this page */ |
1682 | nr = PAGE_CACHE_SIZE; | 1682 | nr = PAGE_SIZE; |
1683 | if (index == end_index) { | 1683 | if (index == end_index) { |
1684 | nr = ((isize - 1) & ~PAGE_CACHE_MASK) + 1; | 1684 | nr = ((isize - 1) & ~PAGE_MASK) + 1; |
1685 | if (nr <= offset) { | 1685 | if (nr <= offset) { |
1686 | page_cache_release(page); | 1686 | put_page(page); |
1687 | goto out; | 1687 | goto out; |
1688 | } | 1688 | } |
1689 | } | 1689 | } |
@@ -1711,11 +1711,11 @@ page_ok: | |||
1711 | 1711 | ||
1712 | ret = copy_page_to_iter(page, offset, nr, iter); | 1712 | ret = copy_page_to_iter(page, offset, nr, iter); |
1713 | offset += ret; | 1713 | offset += ret; |
1714 | index += offset >> PAGE_CACHE_SHIFT; | 1714 | index += offset >> PAGE_SHIFT; |
1715 | offset &= ~PAGE_CACHE_MASK; | 1715 | offset &= ~PAGE_MASK; |
1716 | prev_offset = offset; | 1716 | prev_offset = offset; |
1717 | 1717 | ||
1718 | page_cache_release(page); | 1718 | put_page(page); |
1719 | written += ret; | 1719 | written += ret; |
1720 | if (!iov_iter_count(iter)) | 1720 | if (!iov_iter_count(iter)) |
1721 | goto out; | 1721 | goto out; |
@@ -1735,7 +1735,7 @@ page_not_up_to_date_locked: | |||
1735 | /* Did it get truncated before we got the lock? */ | 1735 | /* Did it get truncated before we got the lock? */ |
1736 | if (!page->mapping) { | 1736 | if (!page->mapping) { |
1737 | unlock_page(page); | 1737 | unlock_page(page); |
1738 | page_cache_release(page); | 1738 | put_page(page); |
1739 | continue; | 1739 | continue; |
1740 | } | 1740 | } |
1741 | 1741 | ||
@@ -1757,7 +1757,7 @@ readpage: | |||
1757 | 1757 | ||
1758 | if (unlikely(error)) { | 1758 | if (unlikely(error)) { |
1759 | if (error == AOP_TRUNCATED_PAGE) { | 1759 | if (error == AOP_TRUNCATED_PAGE) { |
1760 | page_cache_release(page); | 1760 | put_page(page); |
1761 | error = 0; | 1761 | error = 0; |
1762 | goto find_page; | 1762 | goto find_page; |
1763 | } | 1763 | } |
@@ -1774,7 +1774,7 @@ readpage: | |||
1774 | * invalidate_mapping_pages got it | 1774 | * invalidate_mapping_pages got it |
1775 | */ | 1775 | */ |
1776 | unlock_page(page); | 1776 | unlock_page(page); |
1777 | page_cache_release(page); | 1777 | put_page(page); |
1778 | goto find_page; | 1778 | goto find_page; |
1779 | } | 1779 | } |
1780 | unlock_page(page); | 1780 | unlock_page(page); |
@@ -1789,7 +1789,7 @@ readpage: | |||
1789 | 1789 | ||
1790 | readpage_error: | 1790 | readpage_error: |
1791 | /* UHHUH! A synchronous read error occurred. Report it */ | 1791 | /* UHHUH! A synchronous read error occurred. Report it */ |
1792 | page_cache_release(page); | 1792 | put_page(page); |
1793 | goto out; | 1793 | goto out; |
1794 | 1794 | ||
1795 | no_cached_page: | 1795 | no_cached_page: |
@@ -1805,7 +1805,7 @@ no_cached_page: | |||
1805 | error = add_to_page_cache_lru(page, mapping, index, | 1805 | error = add_to_page_cache_lru(page, mapping, index, |
1806 | mapping_gfp_constraint(mapping, GFP_KERNEL)); | 1806 | mapping_gfp_constraint(mapping, GFP_KERNEL)); |
1807 | if (error) { | 1807 | if (error) { |
1808 | page_cache_release(page); | 1808 | put_page(page); |
1809 | if (error == -EEXIST) { | 1809 | if (error == -EEXIST) { |
1810 | error = 0; | 1810 | error = 0; |
1811 | goto find_page; | 1811 | goto find_page; |
@@ -1817,10 +1817,10 @@ no_cached_page: | |||
1817 | 1817 | ||
1818 | out: | 1818 | out: |
1819 | ra->prev_pos = prev_index; | 1819 | ra->prev_pos = prev_index; |
1820 | ra->prev_pos <<= PAGE_CACHE_SHIFT; | 1820 | ra->prev_pos <<= PAGE_SHIFT; |
1821 | ra->prev_pos |= prev_offset; | 1821 | ra->prev_pos |= prev_offset; |
1822 | 1822 | ||
1823 | *ppos = ((loff_t)index << PAGE_CACHE_SHIFT) + offset; | 1823 | *ppos = ((loff_t)index << PAGE_SHIFT) + offset; |
1824 | file_accessed(filp); | 1824 | file_accessed(filp); |
1825 | return written ? written : error; | 1825 | return written ? written : error; |
1826 | } | 1826 | } |
@@ -1912,7 +1912,7 @@ static int page_cache_read(struct file *file, pgoff_t offset, gfp_t gfp_mask) | |||
1912 | else if (ret == -EEXIST) | 1912 | else if (ret == -EEXIST) |
1913 | ret = 0; /* losing race to add is OK */ | 1913 | ret = 0; /* losing race to add is OK */ |
1914 | 1914 | ||
1915 | page_cache_release(page); | 1915 | put_page(page); |
1916 | 1916 | ||
1917 | } while (ret == AOP_TRUNCATED_PAGE); | 1917 | } while (ret == AOP_TRUNCATED_PAGE); |
1918 | 1918 | ||
@@ -2022,8 +2022,8 @@ int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) | |||
2022 | loff_t size; | 2022 | loff_t size; |
2023 | int ret = 0; | 2023 | int ret = 0; |
2024 | 2024 | ||
2025 | size = round_up(i_size_read(inode), PAGE_CACHE_SIZE); | 2025 | size = round_up(i_size_read(inode), PAGE_SIZE); |
2026 | if (offset >= size >> PAGE_CACHE_SHIFT) | 2026 | if (offset >= size >> PAGE_SHIFT) |
2027 | return VM_FAULT_SIGBUS; | 2027 | return VM_FAULT_SIGBUS; |
2028 | 2028 | ||
2029 | /* | 2029 | /* |
@@ -2049,7 +2049,7 @@ retry_find: | |||
2049 | } | 2049 | } |
2050 | 2050 | ||
2051 | if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) { | 2051 | if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) { |
2052 | page_cache_release(page); | 2052 | put_page(page); |
2053 | return ret | VM_FAULT_RETRY; | 2053 | return ret | VM_FAULT_RETRY; |
2054 | } | 2054 | } |
2055 | 2055 | ||
@@ -2072,10 +2072,10 @@ retry_find: | |||
2072 | * Found the page and have a reference on it. | 2072 | * Found the page and have a reference on it. |
2073 | * We must recheck i_size under page lock. | 2073 | * We must recheck i_size under page lock. |
2074 | */ | 2074 | */ |
2075 | size = round_up(i_size_read(inode), PAGE_CACHE_SIZE); | 2075 | size = round_up(i_size_read(inode), PAGE_SIZE); |
2076 | if (unlikely(offset >= size >> PAGE_CACHE_SHIFT)) { | 2076 | if (unlikely(offset >= size >> PAGE_SHIFT)) { |
2077 | unlock_page(page); | 2077 | unlock_page(page); |
2078 | page_cache_release(page); | 2078 | put_page(page); |
2079 | return VM_FAULT_SIGBUS; | 2079 | return VM_FAULT_SIGBUS; |
2080 | } | 2080 | } |
2081 | 2081 | ||
@@ -2120,7 +2120,7 @@ page_not_uptodate: | |||
2120 | if (!PageUptodate(page)) | 2120 | if (!PageUptodate(page)) |
2121 | error = -EIO; | 2121 | error = -EIO; |
2122 | } | 2122 | } |
2123 | page_cache_release(page); | 2123 | put_page(page); |
2124 | 2124 | ||
2125 | if (!error || error == AOP_TRUNCATED_PAGE) | 2125 | if (!error || error == AOP_TRUNCATED_PAGE) |
2126 | goto retry_find; | 2126 | goto retry_find; |
@@ -2164,7 +2164,7 @@ repeat: | |||
2164 | 2164 | ||
2165 | /* Has the page moved? */ | 2165 | /* Has the page moved? */ |
2166 | if (unlikely(page != *slot)) { | 2166 | if (unlikely(page != *slot)) { |
2167 | page_cache_release(page); | 2167 | put_page(page); |
2168 | goto repeat; | 2168 | goto repeat; |
2169 | } | 2169 | } |
2170 | 2170 | ||
@@ -2178,8 +2178,8 @@ repeat: | |||
2178 | if (page->mapping != mapping || !PageUptodate(page)) | 2178 | if (page->mapping != mapping || !PageUptodate(page)) |
2179 | goto unlock; | 2179 | goto unlock; |
2180 | 2180 | ||
2181 | size = round_up(i_size_read(mapping->host), PAGE_CACHE_SIZE); | 2181 | size = round_up(i_size_read(mapping->host), PAGE_SIZE); |
2182 | if (page->index >= size >> PAGE_CACHE_SHIFT) | 2182 | if (page->index >= size >> PAGE_SHIFT) |
2183 | goto unlock; | 2183 | goto unlock; |
2184 | 2184 | ||
2185 | pte = vmf->pte + page->index - vmf->pgoff; | 2185 | pte = vmf->pte + page->index - vmf->pgoff; |
@@ -2195,7 +2195,7 @@ repeat: | |||
2195 | unlock: | 2195 | unlock: |
2196 | unlock_page(page); | 2196 | unlock_page(page); |
2197 | skip: | 2197 | skip: |
2198 | page_cache_release(page); | 2198 | put_page(page); |
2199 | next: | 2199 | next: |
2200 | if (iter.index == vmf->max_pgoff) | 2200 | if (iter.index == vmf->max_pgoff) |
2201 | break; | 2201 | break; |
@@ -2278,7 +2278,7 @@ static struct page *wait_on_page_read(struct page *page) | |||
2278 | if (!IS_ERR(page)) { | 2278 | if (!IS_ERR(page)) { |
2279 | wait_on_page_locked(page); | 2279 | wait_on_page_locked(page); |
2280 | if (!PageUptodate(page)) { | 2280 | if (!PageUptodate(page)) { |
2281 | page_cache_release(page); | 2281 | put_page(page); |
2282 | page = ERR_PTR(-EIO); | 2282 | page = ERR_PTR(-EIO); |
2283 | } | 2283 | } |
2284 | } | 2284 | } |
@@ -2301,7 +2301,7 @@ repeat: | |||
2301 | return ERR_PTR(-ENOMEM); | 2301 | return ERR_PTR(-ENOMEM); |
2302 | err = add_to_page_cache_lru(page, mapping, index, gfp); | 2302 | err = add_to_page_cache_lru(page, mapping, index, gfp); |
2303 | if (unlikely(err)) { | 2303 | if (unlikely(err)) { |
2304 | page_cache_release(page); | 2304 | put_page(page); |
2305 | if (err == -EEXIST) | 2305 | if (err == -EEXIST) |
2306 | goto repeat; | 2306 | goto repeat; |
2307 | /* Presumably ENOMEM for radix tree node */ | 2307 | /* Presumably ENOMEM for radix tree node */ |
@@ -2311,7 +2311,7 @@ repeat: | |||
2311 | filler: | 2311 | filler: |
2312 | err = filler(data, page); | 2312 | err = filler(data, page); |
2313 | if (err < 0) { | 2313 | if (err < 0) { |
2314 | page_cache_release(page); | 2314 | put_page(page); |
2315 | return ERR_PTR(err); | 2315 | return ERR_PTR(err); |
2316 | } | 2316 | } |
2317 | 2317 | ||
@@ -2364,7 +2364,7 @@ filler: | |||
2364 | /* Case c or d, restart the operation */ | 2364 | /* Case c or d, restart the operation */ |
2365 | if (!page->mapping) { | 2365 | if (!page->mapping) { |
2366 | unlock_page(page); | 2366 | unlock_page(page); |
2367 | page_cache_release(page); | 2367 | put_page(page); |
2368 | goto repeat; | 2368 | goto repeat; |
2369 | } | 2369 | } |
2370 | 2370 | ||
@@ -2511,7 +2511,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos) | |||
2511 | struct iov_iter data; | 2511 | struct iov_iter data; |
2512 | 2512 | ||
2513 | write_len = iov_iter_count(from); | 2513 | write_len = iov_iter_count(from); |
2514 | end = (pos + write_len - 1) >> PAGE_CACHE_SHIFT; | 2514 | end = (pos + write_len - 1) >> PAGE_SHIFT; |
2515 | 2515 | ||
2516 | written = filemap_write_and_wait_range(mapping, pos, pos + write_len - 1); | 2516 | written = filemap_write_and_wait_range(mapping, pos, pos + write_len - 1); |
2517 | if (written) | 2517 | if (written) |
@@ -2525,7 +2525,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos) | |||
2525 | */ | 2525 | */ |
2526 | if (mapping->nrpages) { | 2526 | if (mapping->nrpages) { |
2527 | written = invalidate_inode_pages2_range(mapping, | 2527 | written = invalidate_inode_pages2_range(mapping, |
2528 | pos >> PAGE_CACHE_SHIFT, end); | 2528 | pos >> PAGE_SHIFT, end); |
2529 | /* | 2529 | /* |
2530 | * If a page can not be invalidated, return 0 to fall back | 2530 | * If a page can not be invalidated, return 0 to fall back |
2531 | * to buffered write. | 2531 | * to buffered write. |
@@ -2550,7 +2550,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from, loff_t pos) | |||
2550 | */ | 2550 | */ |
2551 | if (mapping->nrpages) { | 2551 | if (mapping->nrpages) { |
2552 | invalidate_inode_pages2_range(mapping, | 2552 | invalidate_inode_pages2_range(mapping, |
2553 | pos >> PAGE_CACHE_SHIFT, end); | 2553 | pos >> PAGE_SHIFT, end); |
2554 | } | 2554 | } |
2555 | 2555 | ||
2556 | if (written > 0) { | 2556 | if (written > 0) { |
@@ -2611,8 +2611,8 @@ ssize_t generic_perform_write(struct file *file, | |||
2611 | size_t copied; /* Bytes copied from user */ | 2611 | size_t copied; /* Bytes copied from user */ |
2612 | void *fsdata; | 2612 | void *fsdata; |
2613 | 2613 | ||
2614 | offset = (pos & (PAGE_CACHE_SIZE - 1)); | 2614 | offset = (pos & (PAGE_SIZE - 1)); |
2615 | bytes = min_t(unsigned long, PAGE_CACHE_SIZE - offset, | 2615 | bytes = min_t(unsigned long, PAGE_SIZE - offset, |
2616 | iov_iter_count(i)); | 2616 | iov_iter_count(i)); |
2617 | 2617 | ||
2618 | again: | 2618 | again: |
@@ -2665,7 +2665,7 @@ again: | |||
2665 | * because not all segments in the iov can be copied at | 2665 | * because not all segments in the iov can be copied at |
2666 | * once without a pagefault. | 2666 | * once without a pagefault. |
2667 | */ | 2667 | */ |
2668 | bytes = min_t(unsigned long, PAGE_CACHE_SIZE - offset, | 2668 | bytes = min_t(unsigned long, PAGE_SIZE - offset, |
2669 | iov_iter_single_seg_count(i)); | 2669 | iov_iter_single_seg_count(i)); |
2670 | goto again; | 2670 | goto again; |
2671 | } | 2671 | } |
@@ -2752,8 +2752,8 @@ ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from) | |||
2752 | iocb->ki_pos = endbyte + 1; | 2752 | iocb->ki_pos = endbyte + 1; |
2753 | written += status; | 2753 | written += status; |
2754 | invalidate_mapping_pages(mapping, | 2754 | invalidate_mapping_pages(mapping, |
2755 | pos >> PAGE_CACHE_SHIFT, | 2755 | pos >> PAGE_SHIFT, |
2756 | endbyte >> PAGE_CACHE_SHIFT); | 2756 | endbyte >> PAGE_SHIFT); |
2757 | } else { | 2757 | } else { |
2758 | /* | 2758 | /* |
2759 | * We don't know how much we wrote, so just return | 2759 | * We don't know how much we wrote, so just return |