From: Kent Overstreet Date: Mon, 30 Mar 2020 21:43:21 +0000 (-0400) Subject: bcachefs: Fix a locking bug X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=11f6ed36b959131a0d990253f07e5105fc4d8901;p=linux.git bcachefs: Fix a locking bug Dropping the wrong kind of lock can't lead to anything good... Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_io.h b/fs/bcachefs/btree_io.h index fa996fdc5474..f3d7ec749b61 100644 --- a/fs/bcachefs/btree_io.h +++ b/fs/bcachefs/btree_io.h @@ -114,7 +114,7 @@ static inline void btree_node_write_if_need(struct bch_fs *c, struct btree *b, break; } - six_unlock_read(&b->c.lock); + six_unlock_type(&b->c.lock, lock_held); btree_node_wait_on_io(b); btree_node_lock_type(c, b, lock_held); }