diff --git a/fs/bcachefs/btree_update.h b/fs/bcachefs/btree_update.h index b5f35a419004..a1f2d9822821 100644 --- a/fs/bcachefs/btree_update.h +++ b/fs/bcachefs/btree_update.h @@ -110,12 +110,10 @@ static inline int bch2_trans_commit(struct btree_trans *trans, ({ \ int _ret; \ \ - while (1) { \ - _ret = (_do); \ - if (_ret != -EINTR) \ - break; \ + do { \ bch2_trans_begin(_trans); \ - } \ + _ret = (_do); \ + } while (_ret == -EINTR); \ \ _ret; \ })