summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-01-18 18:58:51 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2019-04-03 12:44:03 -0400
commitda8c2b746c9c3e99c673b45d116872b357259a49 (patch)
tree9deeb911aeffa3f01b71290d03e886fc74be0cc7
parenta858b75796dd5bb17ccb379b0d754bd010261ca2 (diff)
bcachefs: Fix an allocator error path
-rw-r--r--fs/bcachefs/alloc_foreground.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/bcachefs/alloc_foreground.c b/fs/bcachefs/alloc_foreground.c
index 14e6453bc3da..4041972236bb 100644
--- a/fs/bcachefs/alloc_foreground.c
+++ b/fs/bcachefs/alloc_foreground.c
@@ -837,15 +837,17 @@ struct write_point *bch2_alloc_sectors_start(struct bch_fs *c,
{
struct write_point *wp;
struct open_bucket *ob;
- unsigned nr_effective = 0;
- struct open_buckets ptrs = { .nr = 0 };
- bool have_cache = false;
- unsigned write_points_nr;
- int ret = 0, i;
+ struct open_buckets ptrs;
+ unsigned nr_effective, write_points_nr;
+ bool have_cache;
+ int ret, i;
BUG_ON(!nr_replicas || !nr_replicas_required);
retry:
+ ptrs.nr = 0;
+ nr_effective = 0;
write_points_nr = c->write_points_nr;
+ have_cache = false;
wp = writepoint_find(c, write_point.v);