Lines Matching refs:pending_snapshot
781 struct btrfs_pending_snapshot *pending_snapshot;
805 pending_snapshot = kzalloc(sizeof(*pending_snapshot), GFP_KERNEL);
806 if (!pending_snapshot)
809 ret = get_anon_bdev(&pending_snapshot->anon_dev);
812 pending_snapshot->root_item = kzalloc(sizeof(struct btrfs_root_item),
814 pending_snapshot->path = btrfs_alloc_path();
815 if (!pending_snapshot->root_item || !pending_snapshot->path) {
820 btrfs_init_block_rsv(&pending_snapshot->block_rsv,
829 &pending_snapshot->block_rsv,
834 pending_snapshot->dentry = dentry;
835 pending_snapshot->root = root;
836 pending_snapshot->readonly = readonly;
837 pending_snapshot->dir = dir;
838 pending_snapshot->inherit = inherit;
846 trans->pending_snapshot = pending_snapshot;
852 ret = pending_snapshot->error;
856 ret = btrfs_orphan_cleanup(pending_snapshot->snap);
868 pending_snapshot->anon_dev = 0;
871 if (ret && pending_snapshot->snap)
872 pending_snapshot->snap->anon_dev = 0;
873 btrfs_put_root(pending_snapshot->snap);
874 btrfs_subvolume_release_metadata(root, &pending_snapshot->block_rsv);
876 if (pending_snapshot->anon_dev)
877 free_anon_bdev(pending_snapshot->anon_dev);
878 kfree(pending_snapshot->root_item);
879 btrfs_free_path(pending_snapshot->path);
880 kfree(pending_snapshot);