diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-28 16:51:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-28 16:51:56 -0500 |
commit | 8d01eddf292dcd78b640418c80fb300532799cd4 (patch) | |
tree | dd7f816423463e5ad10f15af22fdbd5b75cc6184 /fs | |
parent | f0f0052069989b80d2a3e50c9cd2f2a650bc1aea (diff) | |
parent | fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a (diff) |
Merge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block:
block: implement drain buffers
__bio_clone: don't calculate hw/phys segment counts
block: allow queue dma_alignment of zero
blktrace: Add blktrace ioctls to SCSI generic devices
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bio.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -248,11 +248,13 @@ inline int bio_hw_segments(struct request_queue *q, struct bio *bio) | |||
248 | */ | 248 | */ |
249 | void __bio_clone(struct bio *bio, struct bio *bio_src) | 249 | void __bio_clone(struct bio *bio, struct bio *bio_src) |
250 | { | 250 | { |
251 | struct request_queue *q = bdev_get_queue(bio_src->bi_bdev); | ||
252 | |||
253 | memcpy(bio->bi_io_vec, bio_src->bi_io_vec, | 251 | memcpy(bio->bi_io_vec, bio_src->bi_io_vec, |
254 | bio_src->bi_max_vecs * sizeof(struct bio_vec)); | 252 | bio_src->bi_max_vecs * sizeof(struct bio_vec)); |
255 | 253 | ||
254 | /* | ||
255 | * most users will be overriding ->bi_bdev with a new target, | ||
256 | * so we don't set nor calculate new physical/hw segment counts here | ||
257 | */ | ||
256 | bio->bi_sector = bio_src->bi_sector; | 258 | bio->bi_sector = bio_src->bi_sector; |
257 | bio->bi_bdev = bio_src->bi_bdev; | 259 | bio->bi_bdev = bio_src->bi_bdev; |
258 | bio->bi_flags |= 1 << BIO_CLONED; | 260 | bio->bi_flags |= 1 << BIO_CLONED; |
@@ -260,8 +262,6 @@ void __bio_clone(struct bio *bio, struct bio *bio_src) | |||
260 | bio->bi_vcnt = bio_src->bi_vcnt; | 262 | bio->bi_vcnt = bio_src->bi_vcnt; |
261 | bio->bi_size = bio_src->bi_size; | 263 | bio->bi_size = bio_src->bi_size; |
262 | bio->bi_idx = bio_src->bi_idx; | 264 | bio->bi_idx = bio_src->bi_idx; |
263 | bio_phys_segments(q, bio); | ||
264 | bio_hw_segments(q, bio); | ||
265 | } | 265 | } |
266 | 266 | ||
267 | /** | 267 | /** |