diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2008-06-17 12:59:56 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-07-03 07:21:13 -0400 |
commit | 51d654e1d885607a6edd02b337105fa5c28b6d33 (patch) | |
tree | 64e87fa9b3b28cb10be635cf4edc76ccf39befe1 /include/linux/bio.h | |
parent | a144ff09bc52ef3f3684ed23eadc9c7c0e57b3aa (diff) |
block: Globalize bio_set and bio_vec_slab
Move struct bio_set and biovec_slab definitions to bio.h so they can
be used outside of bio.c.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/bio.h')
-rw-r--r-- | include/linux/bio.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 61c15eaf3fb3..49dfb3cb7460 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -333,6 +333,35 @@ extern struct bio *bio_copy_user_iov(struct request_queue *, struct sg_iovec *, | |||
333 | int, int); | 333 | int, int); |
334 | extern int bio_uncopy_user(struct bio *); | 334 | extern int bio_uncopy_user(struct bio *); |
335 | void zero_fill_bio(struct bio *bio); | 335 | void zero_fill_bio(struct bio *bio); |
336 | extern struct bio_vec *bvec_alloc_bs(gfp_t, int, unsigned long *, struct bio_set *); | ||
337 | |||
338 | /* | ||
339 | * bio_set is used to allow other portions of the IO system to | ||
340 | * allocate their own private memory pools for bio and iovec structures. | ||
341 | * These memory pools in turn all allocate from the bio_slab | ||
342 | * and the bvec_slabs[]. | ||
343 | */ | ||
344 | #define BIO_POOL_SIZE 2 | ||
345 | #define BIOVEC_NR_POOLS 6 | ||
346 | |||
347 | struct bio_set { | ||
348 | mempool_t *bio_pool; | ||
349 | mempool_t *bvec_pools[BIOVEC_NR_POOLS]; | ||
350 | }; | ||
351 | |||
352 | struct biovec_slab { | ||
353 | int nr_vecs; | ||
354 | char *name; | ||
355 | struct kmem_cache *slab; | ||
356 | }; | ||
357 | |||
358 | extern struct bio_set *fs_bio_set; | ||
359 | |||
360 | /* | ||
361 | * a small number of entries is fine, not going to be performance critical. | ||
362 | * basically we just need to survive | ||
363 | */ | ||
364 | #define BIO_SPLIT_ENTRIES 2 | ||
336 | 365 | ||
337 | #ifdef CONFIG_HIGHMEM | 366 | #ifdef CONFIG_HIGHMEM |
338 | /* | 367 | /* |