On 4/24/19 9:49 PM, Bart Van Assche wrote:
On Thu, 2019-04-18 at 16:06 +0200, Hannes Reinecke wrote:
+static int __init blk_bio_split_init(void)
+{
+ return bioset_init(&bio_split_bio_set, BIO_POOL_SIZE, 0,
+ BIOSET_NEED_BVECS);
+}
The slab allocator uses __init for some of its initialization. Can it happen
that blk_bio_split_init() is called before slab initialization has finished?
Otherwise this patch looks fine to me.
Most unlikely.
We have another static bioset (fs_bio_set in block/bio.c) which is
initialised in the same manner.
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@xxxxxxx +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)