Lines Matching refs:trans

43 static int drop_btree_ptrs(struct btree_trans *trans, struct btree_iter *iter,  in drop_btree_ptrs()  argument
46 struct bch_fs *c = trans->c; in drop_btree_ptrs()
53 bch2_btree_node_update_key(trans, iter, b, k.k, 0, false); in drop_btree_ptrs()
60 static int bch2_dev_usrdata_drop_key(struct btree_trans *trans, in bch2_dev_usrdata_drop_key() argument
66 struct bch_fs *c = trans->c; in bch2_dev_usrdata_drop_key()
73 n = bch2_bkey_make_mut(trans, iter, &k, BTREE_UPDATE_internal_snapshot_node); in bch2_dev_usrdata_drop_key()
100 static int bch2_dev_btree_drop_key(struct btree_trans *trans, in bch2_dev_btree_drop_key() argument
107 struct btree *b = bch2_backpointer_get_node(trans, bp, &iter, last_flushed); in bch2_dev_btree_drop_key()
112 ret = drop_btree_ptrs(trans, &iter, b, dev_idx, flags); in bch2_dev_btree_drop_key()
114 bch2_trans_iter_exit(trans, &iter); in bch2_dev_btree_drop_key()
122 struct btree_trans *trans = bch2_trans_get(c); in bch2_dev_usrdata_drop() local
130 ret = for_each_btree_key_commit(trans, iter, id, POS_MIN, in bch2_dev_usrdata_drop()
133 bch2_progress_update_iter(trans, progress, &iter, "dropping user data"); in bch2_dev_usrdata_drop()
134 bch2_dev_usrdata_drop_key(trans, &iter, k, dev_idx, flags); in bch2_dev_usrdata_drop()
140 bch2_trans_put(trans); in bch2_dev_usrdata_drop()
149 struct btree_trans *trans; in bch2_dev_metadata_drop() local
161 trans = bch2_trans_get(c); in bch2_dev_metadata_drop()
166 bch2_trans_node_iter_init(trans, &iter, id, POS_MIN, 0, 0, in bch2_dev_metadata_drop()
170 while (bch2_trans_begin(trans), in bch2_dev_metadata_drop()
171 (b = bch2_btree_iter_peek_node(trans, &iter)) && in bch2_dev_metadata_drop()
173 bch2_progress_update_iter(trans, progress, &iter, "dropping metadata"); in bch2_dev_metadata_drop()
178 ret = drop_btree_ptrs(trans, &iter, b, dev_idx, flags); in bch2_dev_metadata_drop()
187 bch2_btree_iter_next_node(trans, &iter); in bch2_dev_metadata_drop()
192 bch2_trans_iter_exit(trans, &iter); in bch2_dev_metadata_drop()
202 bch2_trans_put(trans); in bch2_dev_metadata_drop()
209 static int data_drop_bp(struct btree_trans *trans, unsigned dev_idx, in data_drop_bp() argument
214 struct bkey_s_c k = bch2_backpointer_get_key(trans, bp, &iter, BTREE_ITER_intent, in data_drop_bp()
231 ret = bch2_dev_btree_drop_key(trans, bp, dev_idx, last_flushed, flags); in data_drop_bp()
233 ret = bch2_invalidate_stripe_to_dev(trans, &iter, k, dev_idx, flags); in data_drop_bp()
235 ret = bch2_dev_usrdata_drop_key(trans, &iter, k, dev_idx, flags); in data_drop_bp()
237 bch2_trans_iter_exit(trans, &iter); in data_drop_bp()
243 struct btree_trans *trans = bch2_trans_get(c); in bch2_dev_data_drop_by_backpointers() local
249 int ret = bch2_btree_write_buffer_flush_sync(trans) ?: in bch2_dev_data_drop_by_backpointers()
250 for_each_btree_key_max_commit(trans, iter, BTREE_ID_backpointers, in bch2_dev_data_drop_by_backpointers()
257 data_drop_bp(trans, dev_idx, bkey_s_c_to_backpointer(k), in bch2_dev_data_drop_by_backpointers()
262 bch2_bkey_buf_exit(&last_flushed, trans->c); in bch2_dev_data_drop_by_backpointers()
263 bch2_trans_put(trans); in bch2_dev_data_drop_by_backpointers()