aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2017-08-29 23:27:29 -0400
committerIlya Dryomov <idryomov@gmail.com>2017-09-06 13:56:55 -0400
commitb072d774664b690768bdf7e068ee95a161e5f107 (patch)
tree98a0e3bc2f6b3465b9563422b179eeefc66d8d0d
parent3ae0bebc49b3fb3c9fa9b62b95c5119a04aa7282 (diff)
ceph: remove stale check in ceph_invalidatepage()
Both set_page_dirty and truncate_complete_page should be called for locked page, they can't race with each other. Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
-rw-r--r--fs/ceph/addr.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index d82036e19083..b6ac3da9ddab 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -152,17 +152,10 @@ static void ceph_invalidatepage(struct page *page, unsigned int offset,
152 152
153 ceph_invalidate_fscache_page(inode, page); 153 ceph_invalidate_fscache_page(inode, page);
154 154
155 WARN_ON(!PageLocked(page));
155 if (!PagePrivate(page)) 156 if (!PagePrivate(page))
156 return; 157 return;
157 158
158 /*
159 * We can get non-dirty pages here due to races between
160 * set_page_dirty and truncate_complete_page; just spit out a
161 * warning, in case we end up with accounting problems later.
162 */
163 if (!PageDirty(page))
164 pr_err("%p invalidatepage %p page not dirty\n", inode, page);
165
166 ClearPageChecked(page); 159 ClearPageChecked(page);
167 160
168 dout("%p invalidatepage %p idx %lu full dirty page\n", 161 dout("%p invalidatepage %p idx %lu full dirty page\n",