Skip to content

Commit 0024664

Browse files
author
Kent Overstreet
committed
bcachefs: fix bch2_dev_buckets_resize()
The resize memcpy path was totally busted. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
1 parent 9e9c28a commit 0024664

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

fs/bcachefs/buckets.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,13 +1307,11 @@ int bch2_dev_buckets_resize(struct bch_fs *c, struct bch_dev *ca, u64 nbuckets)
13071307
old_bucket_gens = rcu_dereference_protected(ca->bucket_gens, 1);
13081308

13091309
if (resize) {
1310-
bucket_gens->nbuckets = min(bucket_gens->nbuckets,
1311-
old_bucket_gens->nbuckets);
1312-
bucket_gens->nbuckets_minus_first =
1313-
bucket_gens->nbuckets - bucket_gens->first_bucket;
1310+
u64 copy = min(bucket_gens->nbuckets,
1311+
old_bucket_gens->nbuckets);
13141312
memcpy(bucket_gens->b,
13151313
old_bucket_gens->b,
1316-
bucket_gens->nbuckets);
1314+
sizeof(bucket_gens->b[0]) * copy);
13171315
}
13181316

13191317
rcu_assign_pointer(ca->bucket_gens, bucket_gens);

0 commit comments

Comments
 (0)