diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:20:05 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-30 20:20:05 -0500 |
commit | 1dff81f20cd55ffa5a8ee984da70ce0b99d29606 (patch) | |
tree | 06eb07bda250abfa8a78c3141db56862c8c7cf98 /mm | |
parent | 179475a3b46f86e2d06f83e2312218ac3f0cf3a7 (diff) | |
parent | d3f761104b097738932afcc310fbbbbfb007ef92 (diff) |
Merge branch 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.29' of git://git.kernel.dk/linux-2.6-block: (43 commits)
bio: get rid of bio_vec clearing
bounce: don't rely on a zeroed bio_vec list
cciss: simplify parameters to deregister_disk function
cfq-iosched: fix race between exiting queue and exiting task
loop: Do not call loop_unplug for not configured loop device.
loop: Flush possible running bios when loop device is released.
alpha: remove dead BIO_VMERGE_BOUNDARY
Get rid of CONFIG_LSF
block: make blk_softirq_init() static
block: use min_not_zero in blk_queue_stack_limits
block: add one-hit cache for disk partition lookup
cfq-iosched: remove limit of dispatch depth of max 4 times quantum
nbd: tell the block layer that it is not a rotational device
block: get rid of elevator_t typedef
aio: make the lookup_ioctx() lockless
bio: add support for inlining a number of bio_vecs inside the bio
bio: allow individual slabs in the bio_set
bio: move the slab pointer inside the bio_set
bio: only mempool back the largest bio_vec slab cache
block: don't use plugging on SSD devices
...
Diffstat (limited to 'mm')
-rw-r--r-- | mm/bounce.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mm/bounce.c b/mm/bounce.c index bf0cf7c8387b..e590272fe7a8 100644 --- a/mm/bounce.c +++ b/mm/bounce.c | |||
@@ -198,8 +198,13 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, | |||
198 | /* | 198 | /* |
199 | * irk, bounce it | 199 | * irk, bounce it |
200 | */ | 200 | */ |
201 | if (!bio) | 201 | if (!bio) { |
202 | bio = bio_alloc(GFP_NOIO, (*bio_orig)->bi_vcnt); | 202 | unsigned int cnt = (*bio_orig)->bi_vcnt; |
203 | |||
204 | bio = bio_alloc(GFP_NOIO, cnt); | ||
205 | memset(bio->bi_io_vec, 0, cnt * sizeof(struct bio_vec)); | ||
206 | } | ||
207 | |||
203 | 208 | ||
204 | to = bio->bi_io_vec + i; | 209 | to = bio->bi_io_vec + i; |
205 | 210 | ||