Lines Matching full:update

38 	struct bkey_i *update;  in extent_front_merge()  local
41 update = bch2_bkey_make_mut_noupdate(trans, k); in extent_front_merge()
42 ret = PTR_ERR_OR_ZERO(update); in extent_front_merge()
46 if (!bch2_bkey_merge(c, bkey_i_to_s(update), bkey_i_to_s_c(*insert))) in extent_front_merge()
60 *insert = update; in extent_front_merge()
126 struct bkey_i *update; in __bch2_insert_snapshot_whiteouts() local
155 update = bch2_trans_kmalloc(trans, sizeof(struct bkey_i)); in __bch2_insert_snapshot_whiteouts()
156 ret = PTR_ERR_OR_ZERO(update); in __bch2_insert_snapshot_whiteouts()
160 bkey_init(&update->k); in __bch2_insert_snapshot_whiteouts()
161 update->k.p = whiteout_pos; in __bch2_insert_snapshot_whiteouts()
162 update->k.type = KEY_TYPE_whiteout; in __bch2_insert_snapshot_whiteouts()
164 ret = bch2_trans_update(trans, &new_iter, update, in __bch2_insert_snapshot_whiteouts()
187 struct bkey_i *update; in bch2_trans_update_extent_overwrite() local
206 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
207 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
210 bch2_cut_back(new_start, update); in bch2_trans_update_extent_overwrite()
213 old.k->p, update->k.p) ?: in bch2_trans_update_extent_overwrite()
214 bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
222 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
223 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
226 bch2_cut_front(new_start, update); in bch2_trans_update_extent_overwrite()
227 bch2_cut_back(new.k->p, update); in bch2_trans_update_extent_overwrite()
230 old.k->p, update->k.p) ?: in bch2_trans_update_extent_overwrite()
231 bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
238 update = bch2_trans_kmalloc(trans, sizeof(*update)); in bch2_trans_update_extent_overwrite()
239 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
242 bkey_init(&update->k); in bch2_trans_update_extent_overwrite()
243 update->k.p = old.k->p; in bch2_trans_update_extent_overwrite()
244 update->k.p.snapshot = new.k->p.snapshot; in bch2_trans_update_extent_overwrite()
247 update->k.type = KEY_TYPE_whiteout; in bch2_trans_update_extent_overwrite()
249 ret = need_whiteout_for_snapshot(trans, btree_id, update->k.p); in bch2_trans_update_extent_overwrite()
253 update->k.type = KEY_TYPE_whiteout; in bch2_trans_update_extent_overwrite()
256 ret = bch2_btree_insert_nonextent(trans, btree_id, update, in bch2_trans_update_extent_overwrite()
263 update = bch2_bkey_make_mut_noupdate(trans, old); in bch2_trans_update_extent_overwrite()
264 if ((ret = PTR_ERR_OR_ZERO(update))) in bch2_trans_update_extent_overwrite()
267 bch2_cut_front(new.k->p, update); in bch2_trans_update_extent_overwrite()
269 ret = bch2_trans_update_by_path(trans, iter->path, update, in bch2_trans_update_extent_overwrite()
410 * Pending updates are kept sorted: first, find position of new update, in bch2_trans_update_by_path()
411 * then delete/trim any updates the new update overwrites: in bch2_trans_update_by_path()