]> www.infradead.org Git - nvme.git/commitdiff
bcachefs: Add missing READ_ONCE() for metadata replicas
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 16 Apr 2025 22:28:25 +0000 (18:28 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 16 Apr 2025 22:31:47 +0000 (18:31 -0400)
If we race with the user changing the metadata_replicas setting, this
could cause us to get an incorrectly sized disk reservation.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update_interior.c

index 55fbeeb8eaaa1c75eec96cfb006881f498769216..44b5fe430370f7b2fed3130ef58e965a56c6808d 100644 (file)
@@ -1221,7 +1221,7 @@ bch2_btree_update_start(struct btree_trans *trans, struct btree_path *path,
 
        ret = bch2_disk_reservation_get(c, &as->disk_res,
                        (nr_nodes[0] + nr_nodes[1]) * btree_sectors(c),
-                       c->opts.metadata_replicas,
+                       READ_ONCE(c->opts.metadata_replicas),
                        disk_res_flags);
        if (ret)
                goto err;