diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2009-06-26 09:37:49 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-07-01 04:56:25 -0400 |
commit | 7878cba9f0037f5599004b03a1260b32d9050360 (patch) | |
tree | bff5e1a47b6e64e45df0428925cc6db8542cad62 /block | |
parent | 6118b70b3a0b4c583439bb77600194c82f220ce3 (diff) |
block: Create bip slabs with embedded integrity vectors
This patch restores stacking ability to the block layer integrity
infrastructure by creating a set of dedicated bip slabs. Each bip slab
has an embedded bio_vec array at the end. This cuts down on memory
allocations and also simplifies the code compared to the original bvec
version. Only the largest bip slab is backed by a mempool. The pool is
contained in the bio_set so stacking drivers can ensure forward
progress.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@carl.(none)>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index b06cf5c2a829..345d99da8d41 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -2365,7 +2365,7 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src, | |||
2365 | __bio_clone(bio, bio_src); | 2365 | __bio_clone(bio, bio_src); |
2366 | 2366 | ||
2367 | if (bio_integrity(bio_src) && | 2367 | if (bio_integrity(bio_src) && |
2368 | bio_integrity_clone(bio, bio_src, gfp_mask)) | 2368 | bio_integrity_clone(bio, bio_src, gfp_mask, bs)) |
2369 | goto free_and_out; | 2369 | goto free_and_out; |
2370 | 2370 | ||
2371 | if (bio_ctr && bio_ctr(bio, bio_src, data)) | 2371 | if (bio_ctr && bio_ctr(bio, bio_src, data)) |