From 6558e61dfe1ec1d54a39cb4604d00efa5bcaaa7e Mon Sep 17 00:00:00 2001
From: Kent Overstreet <kent.overstreet@gmail.com>
Date: Sun, 2 Jan 2022 22:24:43 -0500
Subject: [PATCH] bcachefs: Fix an assertion

bch2_trans_commit() can legitimately return -ENOSPC with
BTREE_INSERT_NOFAIL set if BTREE_INSERT_NOWAIT was also set.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
---
 fs/bcachefs/btree_update_leaf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c
index 1072acb0c9af..60897fc70c58 100644
--- a/fs/bcachefs/btree_update_leaf.c
+++ b/fs/bcachefs/btree_update_leaf.c
@@ -816,7 +816,9 @@ int bch2_trans_commit_error(struct btree_trans *trans,
 	}
 
 	BUG_ON((ret == EINTR || ret == -EAGAIN) && !trans->restarted);
-	BUG_ON(ret == -ENOSPC && (trans->flags & BTREE_INSERT_NOFAIL));
+	BUG_ON(ret == -ENOSPC &&
+	       !(trans->flags & BTREE_INSERT_NOWAIT) &&
+	       (trans->flags & BTREE_INSERT_NOFAIL));
 
 	return ret;
 }
-- 
2.30.9