Lines Matching full:update

40 	struct bkey_i *update;  in extent_front_merge()  local
46 update = bch2_bkey_make_mut_noupdate(trans, k); in extent_front_merge()
47 ret = PTR_ERR_OR_ZERO(update); in extent_front_merge()
51 if (!bch2_bkey_merge(c, bkey_i_to_s(update), bkey_i_to_s_c(*insert))) in extent_front_merge()
65 *insert = update; in extent_front_merge()
143 struct bkey_i *update = bch2_trans_kmalloc(trans, sizeof(struct bkey_i)); in __bch2_insert_snapshot_whiteouts() local
144 ret = PTR_ERR_OR_ZERO(update); in __bch2_insert_snapshot_whiteouts()
150 bkey_init(&update->k); in __bch2_insert_snapshot_whiteouts()
151 update->k.p = pos; in __bch2_insert_snapshot_whiteouts()
152 update->k.type = KEY_TYPE_whiteout; in __bch2_insert_snapshot_whiteouts()
154 ret = bch2_trans_update(trans, &iter, update, in __bch2_insert_snapshot_whiteouts()
174 struct bkey_i *update; in bch2_trans_update_extent_overwrite() local
193 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
194 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
197 bch2_cut_back(new_start, update); in bch2_trans_update_extent_overwrite()
200 old.k->p, update->k.p) ?: in bch2_trans_update_extent_overwrite()
201 bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
209 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
210 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
213 bch2_cut_front(new_start, update); in bch2_trans_update_extent_overwrite()
214 bch2_cut_back(new.k->p, update); in bch2_trans_update_extent_overwrite()
217 old.k->p, update->k.p) ?: in bch2_trans_update_extent_overwrite()
218 bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
225 update = bch2_trans_kmalloc(trans, sizeof(*update)); in bch2_trans_update_extent_overwrite()
226 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
229 bkey_init(&update->k); in bch2_trans_update_extent_overwrite()
230 update->k.p = old.k->p; in bch2_trans_update_extent_overwrite()
231 update->k.p.snapshot = new.k->p.snapshot; in bch2_trans_update_extent_overwrite()
234 update->k.type = KEY_TYPE_whiteout; in bch2_trans_update_extent_overwrite()
236 ret = need_whiteout_for_snapshot(trans, btree_id, update->k.p); in bch2_trans_update_extent_overwrite()
240 update->k.type = KEY_TYPE_whiteout; in bch2_trans_update_extent_overwrite()
243 ret = bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
250 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
251 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
254 bch2_cut_front(new.k->p, update); in bch2_trans_update_extent_overwrite()
256 ret = bch2_trans_update_by_path(trans, iter->path, update, in bch2_trans_update_extent_overwrite()
398 * Pending updates are kept sorted: first, find position of new update, in bch2_trans_update_by_path()
399 * then delete/trim any updates the new update overwrites: in bch2_trans_update_by_path()
650 * @iter_flags: btree iter update trigger flags