Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
[pandora-kernel.git] / fs / bio.c
index e5349e8..249dd6b 100644 (file)
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -52,7 +52,7 @@ struct biovec_slab {
  */
 
 #define BV(x) { .nr_vecs = x, .name = "biovec-"__stringify(x) }
-static struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] = {
+static struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly = {
        BV(1), BV(4), BV(16), BV(64), BV(128), BV(BIO_MAX_PAGES),
 };
 #undef BV
@@ -140,6 +140,7 @@ inline void bio_init(struct bio *bio)
  * bio_alloc_bioset - allocate a bio for I/O
  * @gfp_mask:   the GFP_ mask given to the slab allocator
  * @nr_iovecs: number of iovecs to pre-allocate
+ * @bs:                the bio_set to allocate from
  *
  * Description:
  *   bio_alloc_bioset will first try it's on mempool to satisfy the allocation.
@@ -260,6 +261,7 @@ inline void __bio_clone(struct bio *bio, struct bio *bio_src)
         */
        bio->bi_vcnt = bio_src->bi_vcnt;
        bio->bi_size = bio_src->bi_size;
+       bio->bi_idx = bio_src->bi_idx;
        bio_phys_segments(q, bio);
        bio_hw_segments(q, bio);
 }
@@ -629,6 +631,7 @@ out:
 
 /**
  *     bio_map_user    -       map user address into bio
+ *     @q: the request_queue_t for the bio
  *     @bdev: destination block device
  *     @uaddr: start of user address
  *     @len: length in bytes