Lines Matching refs:ctxt
192 static int do_rebalance_extent(struct moving_context *ctxt,
196 struct btree_trans *trans = ctxt->trans;
205 ctxt->stats = &r->work_stats;
219 atomic64_add(k.k->size, &ctxt->stats->sectors_seen);
228 ret = bch2_move_extent(ctxt, NULL, extent_iter, k, io_opts, data_opts);
232 bch2_move_ctxt_wait_for_io(ctxt);
269 static int do_rebalance_scan(struct moving_context *ctxt, u64 inum, u64 cookie)
271 struct btree_trans *trans = ctxt->trans;
276 ctxt->stats = &r->scan_stats;
288 ret = __bch2_move_data(ctxt, r->scan_start, r->scan_end, rebalance_pred, NULL) ?:
317 static int do_rebalance(struct moving_context *ctxt)
319 struct btree_trans *trans = ctxt->trans;
335 while (!bch2_move_ratelimit(ctxt)) {
337 bch2_moving_ctxt_flush_all(ctxt);
354 ? do_rebalance_scan(ctxt, k.k->p.inode,
356 : do_rebalance_extent(ctxt, k.k->p, &extent_iter);
374 bch2_moving_ctxt_flush_all(ctxt);
388 struct moving_context ctxt;
392 bch2_moving_ctxt_init(&ctxt, c, NULL, &r->work_stats,
396 while (!kthread_should_stop() && !do_rebalance(&ctxt))
399 bch2_moving_ctxt_exit(&ctxt);