X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fbio.h;h=038022763f09535e97525cd531c17c9352fffda4;hb=cee37fe97739d85991964371c1f3a745c00dd236;hp=cd8d47bf34b4840bfb33838db0bcfb14fcfe25a7;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/include/linux/bio.h b/include/linux/bio.h index cd8d47bf3..038022763 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -59,6 +59,7 @@ struct bio_vec { unsigned int bv_offset; }; +struct bio_set; struct bio; typedef int (bio_end_io_t) (struct bio *, unsigned int, int); typedef void (bio_destructor_t) (struct bio *); @@ -109,6 +110,7 @@ struct bio { void *bi_private; bio_destructor_t *bi_destructor; /* destructor */ + struct bio_set *bi_set; /* memory pools set */ }; /* @@ -258,7 +260,11 @@ extern struct bio_pair *bio_split(struct bio *bi, mempool_t *pool, extern mempool_t *bio_split_pool; extern void bio_pair_release(struct bio_pair *dbio); -extern struct bio *bio_alloc(int, int); +extern struct bio_set *bioset_create(int, int, int); +extern void bioset_free(struct bio_set *); + +extern struct bio *bio_alloc(unsigned int __nocast, int); +extern struct bio *bio_alloc_bioset(unsigned int __nocast, int, struct bio_set *); extern void bio_put(struct bio *); extern void bio_endio(struct bio *, unsigned int, int); @@ -267,7 +273,7 @@ extern int bio_phys_segments(struct request_queue *, struct bio *); extern int bio_hw_segments(struct request_queue *, struct bio *); extern void __bio_clone(struct bio *, struct bio *); -extern struct bio *bio_clone(struct bio *, int); +extern struct bio *bio_clone(struct bio *, unsigned int __nocast); extern void bio_init(struct bio *); @@ -280,6 +286,7 @@ extern void bio_set_pages_dirty(struct bio *bio); extern void bio_check_pages_dirty(struct bio *bio); extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); extern int bio_uncopy_user(struct bio *); +void zero_fill_bio(struct bio *bio); #ifdef CONFIG_HIGHMEM /*