From: Sage Weil Date: Fri, 6 Jun 2008 19:02:07 +0000 (-0700) Subject: kclient: ClearPagePrivate more aggressively in invalidatepage X-Git-Tag: v0.3~151 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0670d2a7672be27c5ce447bdfd0bb75f282a2a96;p=ceph.git kclient: ClearPagePrivate more aggressively in invalidatepage --- diff --git a/src/kernel/addr.c b/src/kernel/addr.c index 00cbbb4baf0..8615850776a 100644 --- a/src/kernel/addr.c +++ b/src/kernel/addr.c @@ -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",