summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-01-02 22:24:43 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:09:21 -0400
commit6558e61dfe1ec1d54a39cb4604d00efa5bcaaa7e (patch)
tree9fff558d02cd67a8fd57b0c188ccbeb176ff8db4 /fs
parenteacb2574f09f5b71acc468d44e7a1633847fd08d (diff)
downloadlwn-6558e61dfe1ec1d54a39cb4604d00efa5bcaaa7e.tar.gz
lwn-6558e61dfe1ec1d54a39cb4604d00efa5bcaaa7e.zip
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>
Diffstat (limited to 'fs')
-rw-r--r--fs/bcachefs/btree_update_leaf.c4
1 files changed, 3 insertions, 1 deletions
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;
}