Lines Matching defs:bslab
88 struct bio_slab *bslab = kzalloc(sizeof(*bslab), GFP_KERNEL);
90 if (!bslab)
93 snprintf(bslab->name, sizeof(bslab->name), "bio-%d", size);
94 bslab->slab = kmem_cache_create(bslab->name, size,
97 if (!bslab->slab)
100 bslab->slab_ref = 1;
101 bslab->slab_size = size;
103 if (!xa_err(xa_store(&bio_slabs, size, bslab, GFP_KERNEL)))
104 return bslab;
106 kmem_cache_destroy(bslab->slab);
109 kfree(bslab);
121 struct bio_slab *bslab;
124 bslab = xa_load(&bio_slabs, size);
125 if (bslab)
126 bslab->slab_ref++;
128 bslab = create_bio_slab(size);
131 if (bslab)
132 return bslab->slab;
138 struct bio_slab *bslab = NULL;
143 bslab = xa_load(&bio_slabs, slab_size);
144 if (WARN(!bslab, KERN_ERR "bio: unable to find slab!\n"))
147 WARN_ON_ONCE(bslab->slab != bs->bio_slab);
149 WARN_ON(!bslab->slab_ref);
151 if (--bslab->slab_ref)
156 kmem_cache_destroy(bslab->slab);
157 kfree(bslab);