diff options
Diffstat (limited to 'libbcachefs/fs.c')
-rw-r--r-- | libbcachefs/fs.c | 7 |
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; } |