Lines Matching refs:data_opts
44 struct data_update_opts data_opts; member
55 struct data_update_opts *data_opts) in trace_io_move2() argument
61 bch2_data_update_opts_to_text(&buf, c, io_opts, data_opts); in trace_io_move2()
78 struct data_update_opts *data_opts, in trace_io_move_pred2() argument
93 bch2_data_update_opts_to_text(&buf, c, io_opts, data_opts); in trace_io_move_pred2()
136 if (!io->write.data_opts.scrub) { in move_free()
200 if (unlikely(rbio->ret || io->write.data_opts.scrub)) { in move_write()
339 struct data_update_opts data_opts) in bch2_move_extent() argument
346 trace_io_move2(c, k, &io_opts, &data_opts); in bch2_move_extent()
352 bch2_data_update_opts_normalize(k, &data_opts); in bch2_move_extent()
354 if (!data_opts.rewrite_ptrs && in bch2_move_extent()
355 !data_opts.extra_replicas && in bch2_move_extent()
356 !data_opts.scrub) { in bch2_move_extent()
357 if (data_opts.kill_ptrs) in bch2_move_extent()
358 return bch2_extent_drop_ptrs(trans, iter, k, &io_opts, &data_opts); in bch2_move_extent()
375 if (!data_opts.scrub) { in bch2_move_extent()
377 &io_opts, data_opts, iter->btree_id, k); in bch2_move_extent()
387 io->write.data_opts = data_opts; in bch2_move_extent()
434 data_opts.scrub ? data_opts.read_dev : -1); in bch2_move_extent()
638 struct data_update_opts data_opts; in bch2_move_data_btree() local
681 memset(&data_opts, 0, sizeof(data_opts)); in bch2_move_data_btree()
682 if (!pred(c, arg, iter.btree_id, k, io_opts, &data_opts)) in bch2_move_data_btree()
686 if (!data_opts.scrub) in bch2_move_data_btree()
688 k.k->p, data_opts.target, 0); in bch2_move_data_btree()
690 ret = bch2_btree_node_scrub(trans, btree_id, level, k, data_opts.read_dev); in bch2_move_data_btree()
763 memset(&data_opts, 0, sizeof(data_opts)); in bch2_move_data_btree()
764 if (!pred(c, arg, extent_iter->btree_id, k, io_opts, &data_opts)) in bch2_move_data_btree()
775 ret2 = bch2_move_extent(ctxt, NULL, extent_iter, k, *io_opts, data_opts); in bch2_move_data_btree()
776 else if (!data_opts.scrub) in bch2_move_data_btree()
778 k.k->p, data_opts.target, 0); in bch2_move_data_btree()
780 ret2 = bch2_btree_node_scrub(trans, btree_id, level, k, data_opts.read_dev); in bch2_move_data_btree()
959 struct data_update_opts data_opts = {}; in __bch2_move_data_phys() local
960 bool p = pred(c, arg, bp.v->btree_id, k, &io_opts, &data_opts); in __bch2_move_data_phys()
963 trace_io_move_pred2(c, k, &io_opts, &data_opts, in __bch2_move_data_phys()
971 if (data_opts.scrub && in __bch2_move_data_phys()
972 !bch2_dev_idx_is_online(c, data_opts.read_dev)) { in __bch2_move_data_phys()
985 ret = bch2_move_extent(ctxt, bucket_in_flight, &iter, k, io_opts, data_opts); in __bch2_move_data_phys()
986 else if (!data_opts.scrub) in __bch2_move_data_phys()
988 k.k->p, data_opts.target, 0); in __bch2_move_data_phys()
990 ret = bch2_btree_node_scrub(trans, bp.v->btree_id, bp.v->level, k, data_opts.read_dev); in __bch2_move_data_phys()
1052 struct data_update_opts *data_opts) in evacuate_bucket_pred() argument
1056 *data_opts = arg->data_opts; in evacuate_bucket_pred()
1063 data_opts->rewrite_ptrs |= BIT(i); in evacuate_bucket_pred()
1067 return data_opts->rewrite_ptrs != 0; in evacuate_bucket_pred()
1073 struct data_update_opts data_opts) in bch2_evacuate_bucket() argument
1076 struct evacuate_bucket_arg arg = { bucket, gen, data_opts, }; in bch2_evacuate_bucket()
1108 struct data_update_opts data_opts; in bch2_move_btree() local
1142 if (!pred(c, arg, b, &io_opts, &data_opts)) in bch2_move_btree()
1172 struct data_update_opts *data_opts) in rereplicate_pred() argument
1186 data_opts->kill_ptrs |= BIT(i); in rereplicate_pred()
1190 if (!data_opts->kill_ptrs && in rereplicate_pred()
1194 data_opts->target = 0; in rereplicate_pred()
1195 data_opts->extra_replicas = replicas - nr_good; in rereplicate_pred()
1196 data_opts->btree_insert_flags = 0; in rereplicate_pred()
1203 struct data_update_opts *data_opts) in migrate_pred() argument
1209 data_opts->rewrite_ptrs = 0; in migrate_pred()
1210 data_opts->target = 0; in migrate_pred()
1211 data_opts->extra_replicas = 0; in migrate_pred()
1212 data_opts->btree_insert_flags = 0; in migrate_pred()
1216 data_opts->rewrite_ptrs |= 1U << i; in migrate_pred()
1220 return data_opts->rewrite_ptrs != 0; in migrate_pred()
1226 struct data_update_opts *data_opts) in rereplicate_btree_pred() argument
1228 return rereplicate_pred(c, arg, b->c.btree_id, bkey_i_to_s_c(&b->key), io_opts, data_opts); in rereplicate_btree_pred()
1248 struct data_update_opts *data_opts) in rewrite_old_nodes_pred() argument
1253 data_opts->target = 0; in rewrite_old_nodes_pred()
1254 data_opts->extra_replicas = 0; in rewrite_old_nodes_pred()
1255 data_opts->btree_insert_flags = 0; in rewrite_old_nodes_pred()
1286 struct data_update_opts *data_opts) in drop_extra_replicas_pred() argument
1301 data_opts->kill_ptrs |= BIT(i); in drop_extra_replicas_pred()
1308 return data_opts->kill_ptrs != 0; in drop_extra_replicas_pred()
1314 struct data_update_opts *data_opts) in drop_extra_replicas_btree_pred() argument
1317 io_opts, data_opts); in drop_extra_replicas_btree_pred()
1323 struct data_update_opts *data_opts) in scrub_pred() argument
1339 data_opts->scrub = true; in scrub_pred()
1340 data_opts->read_dev = arg->migrate.dev; in scrub_pred()