tree = &BTRFS_I(page->mapping->host)->io_tree;
extent_invalidatepage(tree, page, offset);
btree_releasepage(page, GFP_NOFS);
+ if (PagePrivate(page)) {
+ printk("2invalidate page cleaning up after releasepage\n");
+ ClearPagePrivate(page);
+ set_page_private(page, 0);
+ page_cache_release(page);
+ }
}
#if 0
write_ctree_super(NULL, root);
mutex_unlock(&fs_info->fs_mutex);
+ btrfs_transaction_flush_work(root);
+
if (fs_info->delalloc_bytes) {
printk("btrfs: at unmount delalloc count %Lu\n",
fs_info->delalloc_bytes);
extent_io_tree_empty_lru(&fs_info->extent_ins);
extent_io_tree_empty_lru(&BTRFS_I(fs_info->btree_inode)->io_tree);
+ flush_workqueue(end_io_workqueue);
+ flush_workqueue(async_submit_workqueue);
+
truncate_inode_pages(fs_info->btree_inode->i_mapping, 0);
+
flush_workqueue(end_io_workqueue);
destroy_workqueue(end_io_workqueue);
tree = &BTRFS_I(page->mapping->host)->io_tree;
extent_invalidatepage(tree, page, offset);
btrfs_releasepage(page, GFP_NOFS);
+ if (PagePrivate(page)) {
+ printk("invalidate page cleaning up after releasepage\n");
+ ClearPagePrivate(page);
+ set_page_private(page, 0);
+ page_cache_release(page);
+ }
}
/*