From 0670d2a7672be27c5ce447bdfd0bb75f282a2a96 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 6 Jun 2008 12:02:07 -0700 Subject: [PATCH] kclient: ClearPagePrivate more aggressively in invalidatepage --- src/kernel/addr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kernel/addr.c b/src/kernel/addr.c index 00cbbb4baf0f1..8615850776a0a 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", -- 2.47.3