diff options
author | Yan, Zheng <zyan@redhat.com> | 2017-08-29 23:27:29 -0400 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2017-09-06 13:56:55 -0400 |
commit | b072d774664b690768bdf7e068ee95a161e5f107 (patch) | |
tree | 98a0e3bc2f6b3465b9563422b179eeefc66d8d0d | |
parent | 3ae0bebc49b3fb3c9fa9b62b95c5119a04aa7282 (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.c | 9 |
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", |