aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/afs')
-rw-r--r--fs/afs/dir.c3
-rw-r--r--fs/afs/mntpt.c11
2 files changed, 4 insertions, 10 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c
index dac5b990c0cd..0c1e902f17a3 100644
--- a/fs/afs/dir.c
+++ b/fs/afs/dir.c
@@ -194,10 +194,7 @@ static struct page *afs_dir_get_page(struct inode *dir, unsigned long index,
194 194
195 page = read_mapping_page(dir->i_mapping, index, &file); 195 page = read_mapping_page(dir->i_mapping, index, &file);
196 if (!IS_ERR(page)) { 196 if (!IS_ERR(page)) {
197 wait_on_page_locked(page);
198 kmap(page); 197 kmap(page);
199 if (!PageUptodate(page))
200 goto fail;
201 if (!PageChecked(page)) 198 if (!PageChecked(page))
202 afs_dir_check_page(dir, page); 199 afs_dir_check_page(dir, page);
203 if (PageError(page)) 200 if (PageError(page))
diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c
index b905ae37f912..034fcfd4e330 100644
--- a/fs/afs/mntpt.c
+++ b/fs/afs/mntpt.c
@@ -68,13 +68,11 @@ int afs_mntpt_check_symlink(struct afs_vnode *vnode, struct key *key)
68 } 68 }
69 69
70 ret = -EIO; 70 ret = -EIO;
71 wait_on_page_locked(page);
72 buf = kmap(page);
73 if (!PageUptodate(page))
74 goto out_free;
75 if (PageError(page)) 71 if (PageError(page))
76 goto out_free; 72 goto out_free;
77 73
74 buf = kmap(page);
75
78 /* examine the symlink's contents */ 76 /* examine the symlink's contents */
79 size = vnode->status.size; 77 size = vnode->status.size;
80 _debug("symlink to %*.*s", (int) size, (int) size, buf); 78 _debug("symlink to %*.*s", (int) size, (int) size, buf);
@@ -91,8 +89,8 @@ int afs_mntpt_check_symlink(struct afs_vnode *vnode, struct key *key)
91 89
92 ret = 0; 90 ret = 0;
93 91
94out_free:
95 kunmap(page); 92 kunmap(page);
93out_free:
96 page_cache_release(page); 94 page_cache_release(page);
97out: 95out:
98 _leave(" = %d", ret); 96 _leave(" = %d", ret);
@@ -171,8 +169,7 @@ static struct vfsmount *afs_mntpt_do_automount(struct dentry *mntpt)
171 } 169 }
172 170
173 ret = -EIO; 171 ret = -EIO;
174 wait_on_page_locked(page); 172 if (PageError(page))
175 if (!PageUptodate(page) || PageError(page))
176 goto error; 173 goto error;
177 174
178 buf = kmap(page); 175 buf = kmap(page);