ClearPageChecked(page);
if (!PageDirty(page)) {
BUG_ON(snapc);
+ dout(20, "invalidatepage %p idx %lu clean\n", page,
+ page->index);
return;
}
if (!page->mapping) {
BUG_ON(snapc);
+ dout(20, "invalidatepage %p idx %lu unmapped\n", page,
+ page->index);
return;
}
inode = page->mapping->host;
mutex_unlock(&inode->i_mutex);
}
+/*
+ * called with i_mutex held
+ */
void __ceph_do_pending_vmtruncate(struct inode *inode)
{
struct ceph_inode_info *ci = ceph_inode(inode);
if (to >= 0) {
dout(10, "__do_pending_vmtruncate %p to %lld\n", inode, to);
- vmtruncate(inode, to);
+ truncate_inode_pages(inode->i_mapping, to);
if (wrbuffer_refs == 0)
ceph_check_caps(ci, 0);
} else