Lines Matching refs:pm

3038 	struct pending_dir_move *entry = NULL, *pm;  in add_pending_dir_move()  local
3043 pm = kmalloc(sizeof(*pm), GFP_NOFS); in add_pending_dir_move()
3044 if (!pm) in add_pending_dir_move()
3046 pm->parent_ino = parent_ino; in add_pending_dir_move()
3047 pm->ino = ino; in add_pending_dir_move()
3048 pm->gen = ino_gen; in add_pending_dir_move()
3049 pm->is_orphan = is_orphan; in add_pending_dir_move()
3050 INIT_LIST_HEAD(&pm->list); in add_pending_dir_move()
3051 INIT_LIST_HEAD(&pm->update_refs); in add_pending_dir_move()
3052 RB_CLEAR_NODE(&pm->node); in add_pending_dir_move()
3068 ret = dup_ref(cur, &pm->update_refs); in add_pending_dir_move()
3073 ret = dup_ref(cur, &pm->update_refs); in add_pending_dir_move()
3078 ret = add_waiting_dir_move(sctx, pm->ino, is_orphan); in add_pending_dir_move()
3083 list_add_tail(&pm->list, &entry->list); in add_pending_dir_move()
3085 rb_link_node(&pm->node, parent, p); in add_pending_dir_move()
3086 rb_insert_color(&pm->node, &sctx->pending_dir_moves); in add_pending_dir_move()
3091 __free_recorded_refs(&pm->update_refs); in add_pending_dir_move()
3092 kfree(pm); in add_pending_dir_move()
3115 static int apply_dir_move(struct send_ctx *sctx, struct pending_dir_move *pm) in apply_dir_move() argument
3134 dm = get_waiting_dir_move(sctx, pm->ino); in apply_dir_move()
3139 if (pm->is_orphan) { in apply_dir_move()
3140 ret = gen_unique_name(sctx, pm->ino, in apply_dir_move()
3141 pm->gen, from_path); in apply_dir_move()
3143 ret = get_first_ref(sctx->parent_root, pm->ino, in apply_dir_move()
3160 ret = get_cur_path(sctx, pm->ino, pm->gen, to_path); in apply_dir_move()
3197 ret = send_utimes(sctx, pm->ino, pm->gen); in apply_dir_move()
3205 list_for_each_entry(cur, &pm->update_refs, list) { in apply_dir_move()
3247 struct pending_dir_move *pm; in apply_children_dir_moves() local
3252 pm = get_pending_dir_moves(sctx, parent_ino); in apply_children_dir_moves()
3253 if (!pm) in apply_children_dir_moves()
3257 tail_append_pending_moves(pm, &stack); in apply_children_dir_moves()
3260 pm = list_first_entry(&stack, struct pending_dir_move, list); in apply_children_dir_moves()
3261 parent_ino = pm->ino; in apply_children_dir_moves()
3262 ret = apply_dir_move(sctx, pm); in apply_children_dir_moves()
3263 free_pending_move(sctx, pm); in apply_children_dir_moves()
3266 pm = get_pending_dir_moves(sctx, parent_ino); in apply_children_dir_moves()
3267 if (pm) in apply_children_dir_moves()
3268 tail_append_pending_moves(pm, &stack); in apply_children_dir_moves()
3274 pm = list_first_entry(&stack, struct pending_dir_move, list); in apply_children_dir_moves()
3275 free_pending_move(sctx, pm); in apply_children_dir_moves()
6159 struct pending_dir_move *pm; in btrfs_ioctl_send() local
6162 pm = rb_entry(n, struct pending_dir_move, node); in btrfs_ioctl_send()
6163 while (!list_empty(&pm->list)) { in btrfs_ioctl_send()
6166 pm2 = list_first_entry(&pm->list, in btrfs_ioctl_send()
6170 free_pending_move(sctx, pm); in btrfs_ioctl_send()