summaryrefslogtreecommitdiff
path: root/libbcachefs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/fs.c')
-rw-r--r--libbcachefs/fs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libbcachefs/fs.c b/libbcachefs/fs.c
index f14f8805..1c89a1b2 100644
--- a/libbcachefs/fs.c
+++ b/libbcachefs/fs.c
@@ -142,8 +142,6 @@ retry:
&inode->ei_journal_seq,
BTREE_INSERT_NOUNLOCK|
BTREE_INSERT_NOFAIL);
- if (ret == -EINTR)
- goto retry;
/*
* the btree node lock protects inode->ei_inode, not ei_update_lock;
@@ -152,6 +150,11 @@ retry:
if (!ret)
bch2_inode_update_after_write(c, inode, &inode_u, fields);
+ bch2_trans_iter_put(&trans, iter);
+
+ if (ret == -EINTR)
+ goto retry;
+
bch2_trans_exit(&trans);
return ret < 0 ? ret : 0;
}