]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/move.c
Update bcachefs sources to b964c6cba8 bcachefs: Change lockrestart_do() to always...
[bcachefs-tools-debian] / libbcachefs / move.c
index 80a54e17760fcf09096578d0c50034dca7b613ce..ee0f155fda6c85628c800516506b28e1d375c6ff 100644 (file)
@@ -84,7 +84,7 @@ static int bch2_migrate_index_update(struct bch_write_op *op)
                bool extending = false, should_check_enospc;
                s64 i_sectors_delta = 0, disk_sectors_delta = 0;
 
-               bch2_trans_reset(&trans, 0);
+               bch2_trans_begin(&trans);
 
                k = bch2_btree_iter_peek_slot(iter);
                ret = bkey_err(k);
@@ -191,7 +191,7 @@ nomatch:
                }
                atomic_long_inc(&c->extent_migrate_raced);
                trace_move_race(&new->k);
-               bch2_btree_iter_next_slot(iter);
+               bch2_btree_iter_advance(iter);
                goto next;
        }
 out:
@@ -597,6 +597,8 @@ static int __bch2_move_data(struct bch_fs *c,
                        }
                } while (delay);
 
+               bch2_trans_begin(&trans);
+
                k = bch2_btree_iter_peek(iter);
 
                stats->pos = iter->pos;
@@ -652,8 +654,7 @@ static int __bch2_move_data(struct bch_fs *c,
                                        data_cmd, data_opts);
                if (ret2) {
                        if (ret2 == -EINTR) {
-                               bch2_trans_reset(&trans, 0);
-                               bch2_trans_cond_resched(&trans);
+                               bch2_trans_begin(&trans);
                                continue;
                        }