]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: ClearPagePrivate more aggressively in invalidatepage
authorSage Weil <sage@newdream.net>
Fri, 6 Jun 2008 19:02:07 +0000 (12:02 -0700)
committerSage Weil <sage@newdream.net>
Fri, 6 Jun 2008 19:02:07 +0000 (12:02 -0700)
src/kernel/addr.c

index 00cbbb4baf0f1ade1d9fcfb4bce832f3ea4ff28b..8615850776a0aa173a28f86fad7281d93fd31e9a 100644 (file)
@@ -68,10 +68,14 @@ static void ceph_invalidatepage(struct page *page, unsigned long offset)
        BUG_ON(!PageLocked(page));
        if (offset == 0)
                ClearPageChecked(page);
-       if (!PageDirty(page))
+       if (!PageDirty(page)) {
+               ClearPagePrivate(page);
                return;
-       if (!page->mapping)
+       }
+       if (!page->mapping) {
+               ClearPagePrivate(page);
                return;
+       }
        ci = ceph_inode(page->mapping->host);
        if (offset == 0) {
                dout(20, "%p invalidatepage %p idx %lu full dirty page %lu\n",