From: Kent Overstreet <kent.overstreet@linux.dev> Date: Sun, 17 Mar 2024 02:45:46 +0000 (-0400) Subject: bcachefs: Fix locking in bch2_alloc_write_key() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=37bb9c9572858288457614366635e8c4c1eaf8ce;p=linux.git bcachefs: Fix locking in bch2_alloc_write_key() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> --- diff --git a/fs/bcachefs/btree_gc.c b/fs/bcachefs/btree_gc.c index 584aee7010dea..bdaed29f084a4 100644 --- a/fs/bcachefs/btree_gc.c +++ b/fs/bcachefs/btree_gc.c @@ -1392,11 +1392,11 @@ static int bch2_alloc_write_key(struct btree_trans *trans, *old, b->data_type); gc = *b; - percpu_up_read(&c->mark_lock); if (gc.data_type != old_gc.data_type || gc.dirty_sectors != old_gc.dirty_sectors) bch2_dev_usage_update_m(c, ca, &old_gc, &gc); + percpu_up_read(&c->mark_lock); if (metadata_only && gc.data_type != BCH_DATA_sb &&