ceph: remove stale check in ceph_invalidatepage()
authorYan, Zheng <zyan@redhat.com>
Wed, 30 Aug 2017 03:27:29 +0000 (11:27 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 6 Sep 2017 17:56:55 +0000 (19:56 +0200)
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>
fs/ceph/addr.c

index d82036e19083a0953dd501f8d7d00e22a4c4b112..b6ac3da9ddab4874f42e64fe165d0b2753d1e427 100644 (file)
@@ -152,17 +152,10 @@ static void ceph_invalidatepage(struct page *page, unsigned int offset,
 
        ceph_invalidate_fscache_page(inode, page);
 
+       WARN_ON(!PageLocked(page));
        if (!PagePrivate(page))
                return;
 
-       /*
-        * We can get non-dirty pages here due to races between
-        * set_page_dirty and truncate_complete_page; just spit out a
-        * warning, in case we end up with accounting problems later.
-        */
-       if (!PageDirty(page))
-               pr_err("%p invalidatepage %p page not dirty\n", inode, page);
-
        ClearPageChecked(page);
 
        dout("%p invalidatepage %p idx %lu full dirty page\n",