[PATCH] read_mapping_page for address space
Add read_mapping_page() which is used for callers that pass mapping->a_ops->readpage as the filler for read_cache_page. This removes some duplication from filesystem code. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
c330dda908
commit
090d2b185d
@@ -86,8 +86,7 @@ static inline void ntfs_unmap_page(struct page *page)
|
||||
static inline struct page *ntfs_map_page(struct address_space *mapping,
|
||||
unsigned long index)
|
||||
{
|
||||
struct page *page = read_cache_page(mapping, index,
|
||||
(filler_t*)mapping->a_ops->readpage, NULL);
|
||||
struct page *page = read_mapping_page(mapping, index, NULL);
|
||||
|
||||
if (!IS_ERR(page)) {
|
||||
wait_on_page_locked(page);
|
||||
|
@@ -2529,8 +2529,7 @@ int ntfs_attr_set(ntfs_inode *ni, const s64 ofs, const s64 cnt, const u8 val)
|
||||
end >>= PAGE_CACHE_SHIFT;
|
||||
/* If there is a first partial page, need to do it the slow way. */
|
||||
if (start_ofs) {
|
||||
page = read_cache_page(mapping, idx,
|
||||
(filler_t*)mapping->a_ops->readpage, NULL);
|
||||
page = read_mapping_page(mapping, idx, NULL);
|
||||
if (IS_ERR(page)) {
|
||||
ntfs_error(vol->sb, "Failed to read first partial "
|
||||
"page (sync error, index 0x%lx).", idx);
|
||||
@@ -2600,8 +2599,7 @@ int ntfs_attr_set(ntfs_inode *ni, const s64 ofs, const s64 cnt, const u8 val)
|
||||
}
|
||||
/* If there is a last partial page, need to do it the slow way. */
|
||||
if (end_ofs) {
|
||||
page = read_cache_page(mapping, idx,
|
||||
(filler_t*)mapping->a_ops->readpage, NULL);
|
||||
page = read_mapping_page(mapping, idx, NULL);
|
||||
if (IS_ERR(page)) {
|
||||
ntfs_error(vol->sb, "Failed to read last partial page "
|
||||
"(sync error, index 0x%lx).", idx);
|
||||
|
@@ -231,8 +231,7 @@ do_non_resident_extend:
|
||||
* Read the page. If the page is not present, this will zero
|
||||
* the uninitialized regions for us.
|
||||
*/
|
||||
page = read_cache_page(mapping, index,
|
||||
(filler_t*)mapping->a_ops->readpage, NULL);
|
||||
page = read_mapping_page(mapping, index, NULL);
|
||||
if (IS_ERR(page)) {
|
||||
err = PTR_ERR(page);
|
||||
goto init_err_out;
|
||||
|
Reference in New Issue
Block a user