Merge tag 'for-linus-20180608' of git://git.kernel.dk/linux-block
[muen/linux.git] / block / bio.c
index 5f7563598b1ccd0978ef8eae5feaf14a37cf1399..db9a40e9a136b262f92b2bb13789e18dea3dcd85 100644 (file)
@@ -1997,6 +1997,24 @@ bad:
 }
 EXPORT_SYMBOL(bioset_init);
 
+/*
+ * Initialize and setup a new bio_set, based on the settings from
+ * another bio_set.
+ */
+int bioset_init_from_src(struct bio_set *bs, struct bio_set *src)
+{
+       int flags;
+
+       flags = 0;
+       if (src->bvec_pool.min_nr)
+               flags |= BIOSET_NEED_BVECS;
+       if (src->rescue_workqueue)
+               flags |= BIOSET_NEED_RESCUER;
+
+       return bioset_init(bs, src->bio_pool.min_nr, src->front_pad, flags);
+}
+EXPORT_SYMBOL(bioset_init_from_src);
+
 #ifdef CONFIG_BLK_CGROUP
 
 /**