diff options
author | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2010-07-24 04:09:10 -0400 |
---|---|---|
committer | Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp> | 2010-07-24 04:36:29 -0400 |
commit | c28e69d9332aab739920082a0a5677d861390824 (patch) | |
tree | b51e3cb03298c8f2d3d1443647b7a6e75af5d4c6 /fs | |
parent | c5ca48aabe8b11674bf1102abe52d17ecc053f9c (diff) |
nilfs2: simplify nilfs_get_page function
Implementation of nilfs_get_page() is a bit old as below:
- A common read_mapping_page inline function is now available instead
of its read_cache_page use.
- wait_on_page_locked() use in the function is eliminable since
read_cache_page function does the same thing through wait_on_page_read().
- PageUptodate() check is eliminable for the same reason.
This renews nilfs_get_page() based on these points.
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nilfs2/dir.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c index 85c89dfc71f0..d8d183e6d095 100644 --- a/fs/nilfs2/dir.c +++ b/fs/nilfs2/dir.c | |||
@@ -199,13 +199,10 @@ fail: | |||
199 | static struct page *nilfs_get_page(struct inode *dir, unsigned long n) | 199 | static struct page *nilfs_get_page(struct inode *dir, unsigned long n) |
200 | { | 200 | { |
201 | struct address_space *mapping = dir->i_mapping; | 201 | struct address_space *mapping = dir->i_mapping; |
202 | struct page *page = read_cache_page(mapping, n, | 202 | struct page *page = read_mapping_page(mapping, n, NULL); |
203 | (filler_t *)mapping->a_ops->readpage, NULL); | 203 | |
204 | if (!IS_ERR(page)) { | 204 | if (!IS_ERR(page)) { |
205 | wait_on_page_locked(page); | ||
206 | kmap(page); | 205 | kmap(page); |
207 | if (!PageUptodate(page)) | ||
208 | goto fail; | ||
209 | if (!PageChecked(page)) | 206 | if (!PageChecked(page)) |
210 | nilfs_check_page(page); | 207 | nilfs_check_page(page); |
211 | if (PageError(page)) | 208 | if (PageError(page)) |