···768768 new_buckets = kcalloc(nr, sizeof(u64), GFP_KERNEL);769769 new_bucket_seq = kcalloc(nr, sizeof(u64), GFP_KERNEL);770770 if (!bu || !ob || !new_buckets || !new_bucket_seq) {771771- ret = -ENOMEM;771771+ ret = -BCH_ERR_ENOMEM_set_nr_journal_buckets;772772 goto err_free;773773 }774774···941941 unsigned nr;942942943943 if (dynamic_fault("bcachefs:add:journal_alloc"))944944- return -ENOMEM;944944+ return -BCH_ERR_ENOMEM_set_nr_journal_buckets;945945946946 /* 1/128th of the device by default: */947947 nr = ca->mi.nbuckets >> 7;···10331033 init_fifo(&j->pin, roundup_pow_of_two(nr + 1), GFP_KERNEL);10341034 if (!j->pin.data) {10351035 bch_err(c, "error reallocating journal fifo (%llu open entries)", nr);10361036- return -ENOMEM;10361036+ return -BCH_ERR_ENOMEM_journal_pin_fifo;10371037 }10381038 }10391039···1127112711281128 ja->bucket_seq = kcalloc(ja->nr, sizeof(u64), GFP_KERNEL);11291129 if (!ja->bucket_seq)11301130- return -ENOMEM;11301130+ return -BCH_ERR_ENOMEM_dev_journal_init;1131113111321132 nr_bvecs = DIV_ROUND_UP(JOURNAL_ENTRY_SIZE_MAX, PAGE_SIZE);1133113311341134 ca->journal.bio = bio_kmalloc(nr_bvecs, GFP_KERNEL);11351135 if (!ca->journal.bio)11361136- return -ENOMEM;11361136+ return -BCH_ERR_ENOMEM_dev_journal_init;1137113711381138 bio_init(ca->journal.bio, NULL, ca->journal.bio->bi_inline_vecs, nr_bvecs, 0);1139113911401140 ja->buckets = kcalloc(ja->nr, sizeof(u64), GFP_KERNEL);11411141 if (!ja->buckets)11421142- return -ENOMEM;11421142+ return -BCH_ERR_ENOMEM_dev_journal_init;1143114311441144 if (journal_buckets_v2) {11451145 unsigned nr = bch2_sb_field_journal_v2_nr_entries(journal_buckets_v2);···11931193 { .cur_entry_offset = JOURNAL_ENTRY_CLOSED_VAL }).v);1194119411951195 if (!(init_fifo(&j->pin, JOURNAL_PIN, GFP_KERNEL))) {11961196- ret = -ENOMEM;11961196+ ret = -BCH_ERR_ENOMEM_journal_pin_fifo;11971197 goto out;11981198 }11991199···12011201 j->buf[i].buf_size = JOURNAL_ENTRY_SIZE_MIN;12021202 j->buf[i].data = kvpmalloc(j->buf[i].buf_size, GFP_KERNEL);12031203 if (!j->buf[i].data) {12041204- ret = -ENOMEM;12041204+ ret = -BCH_ERR_ENOMEM_journal_buf;12051205 goto out;12061206 }12071207 }
+4-4
fs/bcachefs/journal_io.c
···118118 journal_entry_radix_idx(c, le64_to_cpu(j->seq)),119119 GFP_KERNEL);120120 if (!_i)121121- return -ENOMEM;121121+ return -BCH_ERR_ENOMEM_journal_entry_add;122122123123 /*124124 * Duplicate journal entries? If so we want the one that didn't have a···148148replace:149149 i = kvpmalloc(offsetof(struct journal_replay, j) + bytes, GFP_KERNEL);150150 if (!i)151151- return -ENOMEM;151151+ return -BCH_ERR_ENOMEM_journal_entry_add;152152153153 i->nr_ptrs = 0;154154 i->csum_good = entry_ptr.csum_good;···835835836836 /* the bios are sized for this many pages, max: */837837 if (new_size > JOURNAL_ENTRY_SIZE_MAX)838838- return -ENOMEM;838838+ return -BCH_ERR_ENOMEM_journal_read_buf_realloc;839839840840 new_size = roundup_pow_of_two(new_size);841841 n = kvpmalloc(new_size, GFP_KERNEL);842842 if (!n)843843- return -ENOMEM;843843+ return -BCH_ERR_ENOMEM_journal_read_buf_realloc;844844845845 kvpfree(b->data, b->size);846846 b->data = n;
+2-2
fs/bcachefs/journal_sb.c
···33333434 b = kmalloc_array(nr, sizeof(u64), GFP_KERNEL);3535 if (!b)3636- return -ENOMEM;3636+ return -BCH_ERR_ENOMEM_sb_journal_validate;37373838 for (i = 0; i < nr; i++)3939 b[i] = le64_to_cpu(journal->buckets[i]);···116116117117 b = kmalloc_array(nr, sizeof(*b), GFP_KERNEL);118118 if (!b)119119- return -ENOMEM;119119+ return -BCH_ERR_ENOMEM_sb_journal_v2_validate;120120121121 for (i = 0; i < nr; i++) {122122 b[i].start = le64_to_cpu(journal->d[i].start);
+2-2
fs/bcachefs/journal_seq_blacklist.c
···103103 bl = bch2_sb_resize_journal_seq_blacklist(&c->disk_sb,104104 sb_blacklist_u64s(nr + 1));105105 if (!bl) {106106- ret = -ENOMEM;106106+ ret = -BCH_ERR_ENOSPC_sb_journal_seq_blacklist;107107 goto out;108108 }109109···168168 t = kzalloc(sizeof(*t) + sizeof(t->entries[0]) * nr,169169 GFP_KERNEL);170170 if (!t)171171- return -ENOMEM;171171+ return -BCH_ERR_ENOMEM_blacklist_table_init;172172173173 t->nr = nr;174174
+5-5
fs/bcachefs/recovery.c
···228228 if (!new_keys.d) {229229 bch_err(c, "%s: error allocating new key array (size %zu)",230230 __func__, new_keys.size);231231- return -ENOMEM;231231+ return -BCH_ERR_ENOMEM_journal_key_insert;232232 }233233234234 /* Since @keys was full, there was no gap: */···266266267267 n = kmalloc(bkey_bytes(&k->k), GFP_KERNEL);268268 if (!n)269269- return -ENOMEM;269269+ return -BCH_ERR_ENOMEM_journal_key_insert;270270271271 bkey_copy(n, k);272272 ret = bch2_journal_key_insert_take(c, id, level, n);···503503504504 keys->d = kvmalloc_array(keys->size, sizeof(keys->d[0]), GFP_KERNEL);505505 if (!keys->d)506506- return -ENOMEM;506506+ return -BCH_ERR_ENOMEM_journal_keys_sort;507507508508 genradix_for_each(&c->journal_entries, iter, _i) {509509 i = *_i;···601601602602 keys_sorted = kvmalloc_array(sizeof(*keys_sorted), keys->nr, GFP_KERNEL);603603 if (!keys_sorted)604604- return -ENOMEM;604604+ return -BCH_ERR_ENOMEM_journal_replay;605605606606 for (i = 0; i < keys->nr; i++)607607 keys_sorted[i] = &keys->d[i];···905905 GFP_KERNEL);906906 if (!clean) {907907 mutex_unlock(&c->sb_lock);908908- return ERR_PTR(-ENOMEM);908908+ return ERR_PTR(-BCH_ERR_ENOMEM_read_superblock_clean);909909 }910910911911 ret = bch2_sb_clean_validate_late(c, clean, READ);
+21-17
fs/bcachefs/replicas.c
···336336 return ret;337337err:338338 bch_err(c, "error updating replicas table: memory allocation failure");339339- ret = -ENOMEM;339339+ ret = -BCH_ERR_ENOMEM_replicas_table;340340 goto out;341341}342342···383383 if (c->replicas_gc.entries &&384384 !__replicas_has_entry(&c->replicas_gc, new_entry)) {385385 new_gc = cpu_replicas_add_entry(&c->replicas_gc, new_entry);386386- if (!new_gc.entries)386386+ if (!new_gc.entries) {387387+ ret = -BCH_ERR_ENOMEM_cpu_replicas;387388 goto err;389389+ }388390 }389391390392 if (!__replicas_has_entry(&c->replicas, new_entry)) {391393 new_r = cpu_replicas_add_entry(&c->replicas, new_entry);392392- if (!new_r.entries)394394+ if (!new_r.entries) {395395+ ret = -BCH_ERR_ENOMEM_cpu_replicas;393396 goto err;397397+ }394398395399 ret = bch2_cpu_replicas_to_sb_replicas(c, &new_r);396400 if (ret)···429425430426 return ret;431427err:432432- bch_err(c, "error adding replicas entry: memory allocation failure");433433- ret = -ENOMEM;428428+ bch_err(c, "error adding replicas entry: %s", bch2_err_str(ret));434429 goto out;435430}436431···481478 bch2_fs_usage_read_one(c, &c->usage_base->replicas[i])) {482479 n = cpu_replicas_add_entry(&c->replicas_gc, e);483480 if (!n.entries) {484484- ret = -ENOMEM;481481+ ret = -BCH_ERR_ENOMEM_cpu_replicas;485482 goto err;486483 }487484···536533 if (!c->replicas_gc.entries) {537534 mutex_unlock(&c->sb_lock);538535 bch_err(c, "error allocating c->replicas_gc");539539- return -ENOMEM;536536+ return -BCH_ERR_ENOMEM_replicas_gc;540537 }541538542539 for_each_cpu_replicas_entry(&c->replicas, e)···565562 new.entries = kcalloc(nr, new.entry_size, GFP_KERNEL);566563 if (!new.entries) {567564 bch_err(c, "error allocating c->replicas_gc");568568- return -ENOMEM;565565+ return -BCH_ERR_ENOMEM_replicas_gc;569566 }570567571568 mutex_lock(&c->sb_lock);···624621625622 n = cpu_replicas_add_entry(&c->replicas, r);626623 if (!n.entries)627627- return -ENOMEM;624624+ return -BCH_ERR_ENOMEM_cpu_replicas;628625629626 ret = replicas_table_update(c, &n);630627 if (ret)···658655659656 cpu_r->entries = kcalloc(nr, entry_size, GFP_KERNEL);660657 if (!cpu_r->entries)661661- return -ENOMEM;658658+ return -BCH_ERR_ENOMEM_cpu_replicas;662659663660 cpu_r->nr = nr;664661 cpu_r->entry_size = entry_size;···690687691688 cpu_r->entries = kcalloc(nr, entry_size, GFP_KERNEL);692689 if (!cpu_r->entries)693693- return -ENOMEM;690690+ return -BCH_ERR_ENOMEM_cpu_replicas;694691695692 cpu_r->nr = nr;696693 cpu_r->entry_size = entry_size;···720717 ret = __bch2_sb_replicas_to_cpu_replicas(sb_v1, &new_r);721718 else if ((sb_v0 = bch2_sb_get_replicas_v0(c->disk_sb.sb)))722719 ret = __bch2_sb_replicas_v0_to_cpu_replicas(sb_v0, &new_r);723723-724720 if (ret)725725- return -ENOMEM;721721+ return ret;726722727723 bch2_cpu_replicas_sort(&new_r);728724···883881 struct bch_replicas_cpu cpu_r;884882 int ret;885883886886- if (__bch2_sb_replicas_to_cpu_replicas(sb_r, &cpu_r))887887- return -ENOMEM;884884+ ret = __bch2_sb_replicas_to_cpu_replicas(sb_r, &cpu_r);885885+ if (ret)886886+ return ret;888887889888 ret = bch2_cpu_replicas_validate(&cpu_r, sb, err);890889 kfree(cpu_r.entries);···922919 struct bch_replicas_cpu cpu_r;923920 int ret;924921925925- if (__bch2_sb_replicas_v0_to_cpu_replicas(sb_r, &cpu_r))926926- return -ENOMEM;922922+ ret = __bch2_sb_replicas_v0_to_cpu_replicas(sb_r, &cpu_r);923923+ if (ret)924924+ return ret;927925928926 ret = bch2_cpu_replicas_validate(&cpu_r, sb, err);929927 kfree(cpu_r.entries);
+1-1
fs/bcachefs/subvolume.c
···8787 U32_MAX - new.k->p.offset,8888 GFP_KERNEL);8989 if (!t)9090- return -ENOMEM;9090+ return -BCH_ERR_ENOMEM_mark_snapshot;91919292 if (new.k->type == KEY_TYPE_snapshot) {9393 struct bkey_s_c_snapshot s = bkey_s_c_to_snapshot(new);
+6-5
fs/bcachefs/super-io.c
···139139 return 0;140140141141 if (dynamic_fault("bcachefs:add:super_realloc"))142142- return -ENOMEM;142142+ return -BCH_ERR_ENOMEM_sb_realloc_injected;143143144144 if (sb->have_bio) {145145 unsigned nr_bvecs = DIV_ROUND_UP(new_buffer_size, PAGE_SIZE);146146147147 bio = bio_kmalloc(nr_bvecs, GFP_KERNEL);148148 if (!bio)149149- return -ENOMEM;149149+ return -BCH_ERR_ENOMEM_sb_bio_realloc;150150151151 bio_init(bio, NULL, bio->bi_inline_vecs, nr_bvecs, 0);152152···156156157157 new_sb = krealloc(sb->sb, new_buffer_size, GFP_NOFS|__GFP_ZERO);158158 if (!new_sb)159159- return -ENOMEM;159159+ return -BCH_ERR_ENOMEM_sb_buf_realloc;160160161161 sb->sb = new_sb;162162 sb->buffer_size = new_buffer_size;···562562 }563563564564 if (bytes > sb->buffer_size) {565565- if (bch2_sb_realloc(sb, le32_to_cpu(sb->sb->u64s)))566566- return -ENOMEM;565565+ ret = bch2_sb_realloc(sb, le32_to_cpu(sb->sb->u64s));566566+ if (ret)567567+ return ret;567568 goto reread;568569 }569570
+4-4
fs/bcachefs/super.c
···644644645645 c = kvpmalloc(sizeof(struct bch_fs), GFP_KERNEL|__GFP_ZERO);646646 if (!c) {647647- c = ERR_PTR(-ENOMEM);647647+ c = ERR_PTR(-BCH_ERR_ENOMEM_fs_alloc);648648 goto out;649649 }650650···744744 strscpy(c->name, name.buf, sizeof(c->name));745745 printbuf_exit(&name);746746747747- ret = name.allocation_failure ? -ENOMEM : 0;747747+ ret = name.allocation_failure ? -BCH_ERR_ENOMEM_fs_name_alloc : 0;748748 if (ret)749749 goto err;750750···808808 mempool_init_kmalloc_pool(&c->large_bkey_pool, 1, 2048) ||809809 !(c->unused_inode_hints = kcalloc(1U << c->inode_shard_bits,810810 sizeof(u64), GFP_KERNEL))) {811811- ret = -ENOMEM;811811+ ret = -BCH_ERR_ENOMEM_fs_other_alloc;812812 goto err;813813 }814814···11891189err:11901190 if (ca)11911191 bch2_dev_free(ca);11921192- ret = -ENOMEM;11921192+ ret = -BCH_ERR_ENOMEM_dev_alloc;11931193 goto out;11941194}11951195