summaryrefslogtreecommitdiff
path: root/libbcachefs/logged_ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/logged_ops.c')
-rw-r--r--libbcachefs/logged_ops.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libbcachefs/logged_ops.c b/libbcachefs/logged_ops.c
index 1bf19aa..8640f7d 100644
--- a/libbcachefs/logged_ops.c
+++ b/libbcachefs/logged_ops.c
@@ -6,6 +6,7 @@
#include "error.h"
#include "io_misc.h"
#include "logged_ops.h"
+#include "super.h"
struct bch_logged_op_fn {
u8 type;
@@ -44,7 +45,8 @@ static int resume_logged_op(struct btree_trans *trans, struct btree_iter *iter,
bch2_bkey_buf_init(&sk);
bch2_bkey_buf_reassemble(&sk, c, k);
- ret = fn->resume(trans, sk.k) ?: trans_was_restarted(trans, restart_count);
+ ret = drop_locks_do(trans, (bch2_fs_lazy_rw(c), 0)) ?:
+ fn->resume(trans, sk.k) ?: trans_was_restarted(trans, restart_count);
bch2_bkey_buf_exit(&sk, c);
return ret;