Lines Matching refs:pending_snapshot
771 struct btrfs_pending_snapshot *pending_snapshot; in create_snapshot() local
795 pending_snapshot = kzalloc(sizeof(*pending_snapshot), GFP_KERNEL); in create_snapshot()
796 if (!pending_snapshot) in create_snapshot()
799 ret = get_anon_bdev(&pending_snapshot->anon_dev); in create_snapshot()
802 pending_snapshot->root_item = kzalloc(sizeof(struct btrfs_root_item), in create_snapshot()
804 pending_snapshot->path = btrfs_alloc_path(); in create_snapshot()
805 if (!pending_snapshot->root_item || !pending_snapshot->path) { in create_snapshot()
810 btrfs_init_block_rsv(&pending_snapshot->block_rsv, in create_snapshot()
819 &pending_snapshot->block_rsv, in create_snapshot()
824 pending_snapshot->dentry = dentry; in create_snapshot()
825 pending_snapshot->root = root; in create_snapshot()
826 pending_snapshot->readonly = readonly; in create_snapshot()
827 pending_snapshot->dir = dir; in create_snapshot()
828 pending_snapshot->inherit = inherit; in create_snapshot()
836 trans->pending_snapshot = pending_snapshot; in create_snapshot()
842 ret = pending_snapshot->error; in create_snapshot()
846 ret = btrfs_orphan_cleanup(pending_snapshot->snap); in create_snapshot()
858 pending_snapshot->anon_dev = 0; in create_snapshot()
861 if (ret && pending_snapshot->snap) in create_snapshot()
862 pending_snapshot->snap->anon_dev = 0; in create_snapshot()
863 btrfs_put_root(pending_snapshot->snap); in create_snapshot()
864 btrfs_subvolume_release_metadata(root, &pending_snapshot->block_rsv); in create_snapshot()
866 if (pending_snapshot->anon_dev) in create_snapshot()
867 free_anon_bdev(pending_snapshot->anon_dev); in create_snapshot()
868 kfree(pending_snapshot->root_item); in create_snapshot()
869 btrfs_free_path(pending_snapshot->path); in create_snapshot()
870 kfree(pending_snapshot); in create_snapshot()