diff options
author | Jens Axboe <axboe@kernel.dk> | 2018-06-07 22:42:05 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-06-08 15:03:35 +0200 |
commit | 28e89fd914a22e8a64f05ae2f0048b06165f371b (patch) | |
tree | c94dfa5cf876cb8063b6f430ced9030c35a8c59b /block/bio.c | |
parent | block: always set partition number to '0' in blk_partition_remap() (diff) | |
download | linux-28e89fd914a22e8a64f05ae2f0048b06165f371b.tar.xz linux-28e89fd914a22e8a64f05ae2f0048b06165f371b.zip |
block: add bioset_init_from_src() helper
Add a helper that allows a caller to initialize a new bio_set,
using the settings from an existing bio_set.
Reported-by: Venkat R.B <vrbagal1@linux.vnet.ibm.com>
Tested-by: Venkat R.B <vrbagal1@linux.vnet.ibm.com>
Tested-by: Li Wang <liwang@redhat.com>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bio.c')
-rw-r--r-- | block/bio.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/block/bio.c b/block/bio.c index 595663e0281a..bf516d873ce9 100644 --- a/block/bio.c +++ b/block/bio.c @@ -1967,6 +1967,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 /** |