summaryrefslogtreecommitdiff
path: root/libbcachefs/io_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/io_misc.c')
-rw-r--r--libbcachefs/io_misc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libbcachefs/io_misc.c b/libbcachefs/io_misc.c
index 4ec979b4..2cf62977 100644
--- a/libbcachefs/io_misc.c
+++ b/libbcachefs/io_misc.c
@@ -125,8 +125,12 @@ err_noprint:
bch2_bkey_buf_exit(&old, c);
if (closure_nr_remaining(&cl) != 1) {
- bch2_trans_unlock(trans);
- closure_sync(&cl);
+ bch2_trans_unlock_long(trans);
+
+ if (closure_sync_timeout(&cl, HZ * 10)) {
+ bch2_print_allocator_stuck(c);
+ closure_sync(&cl);
+ }
}
return ret;