break;
}
} else {
- ob[nr_got] = bch2_bucket_alloc(c, ca, RESERVE_none, cl);
+ ob[nr_got] = bch2_bucket_alloc(c, ca, BCH_WATERMARK_normal, cl);
ret = PTR_ERR_OR_ZERO(ob[nr_got]);
if (ret)
break;
}
if (ret)
- bch_err(c, "%s: err %s", __func__, bch2_err_str(ret));
+ bch_err_fn(c, ret);
unlock:
up_write(&c->state_lock);
return ret;
int bch2_dev_journal_alloc(struct bch_dev *ca)
{
unsigned nr;
+ int ret;
- if (dynamic_fault("bcachefs:add:journal_alloc"))
- return -BCH_ERR_ENOMEM_set_nr_journal_buckets;
+ if (dynamic_fault("bcachefs:add:journal_alloc")) {
+ ret = -BCH_ERR_ENOMEM_set_nr_journal_buckets;
+ goto err;
+ }
/* 1/128th of the device by default: */
nr = ca->mi.nbuckets >> 7;
min(1 << 13,
(1 << 24) / ca->mi.bucket_size));
- return __bch2_set_nr_journal_buckets(ca, nr, true, NULL);
+ ret = __bch2_set_nr_journal_buckets(ca, nr, true, NULL);
+err:
+ if (ret)
+ bch_err_fn(ca, ret);
+ return ret;
}
/* startup/shutdown: */